From: Jan Beulich Date: Thu, 14 Sep 2023 06:40:58 +0000 (+0200) Subject: x86: make AES/PCMULQDQ respectively prereqs of VAES/VPCMULQDQ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d5f9027c4c263a15d812c35fe0241cdc109df71f;p=binutils-gdb.git x86: make AES/PCMULQDQ respectively prereqs of VAES/VPCMULQDQ These probably should have been put in place already anyway, but they're very much wanted in order to then put AVX10.1 support on top. Note that to avoid reverse dependencies towards SSE (just like we already do for AVX and XOP), add_isa_dependencies() needs some further tweaking. While there also address a related anomaly: Disabling AES but neither AVX nor VAES (similarly for {,V}PCLMULQDQ) would better keep the 128-bit VEX-encoded forms available. Note that for this the VAES insns are moved past the AVX+AES ones, to avoid the property-11 test suddenly failing. The test really is wrong, but let's not also make things inconsistent: Without the movement, YMM use would be correctly recorded for the 128-bit forms simply because the first template already matches, as long as VAES wasn't disabled. Yet it still wouldn't be if only AVX+AES were enabled. Nor would behavior here then be the same as for VPCLMUL* insns. --- diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index b32585563ef..68427b00e9f 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -229,9 +229,9 @@ static const dependency isa_dependencies[] = { "GFNI", "SSE2" }, { "VAES", - "AVX2" }, + "AVX2|AES" }, { "VPCLMULQDQ", - "AVX2" }, + "AVX2|PCLMULQDQ" }, { "SEV_ES", "SVME" }, { "SNP", @@ -712,7 +712,8 @@ add_isa_dependencies (bitfield *flags, const char *f, int value, 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, ':')) @@ -732,7 +733,7 @@ add_isa_dependencies (bitfield *flags, const char *f, int value, && 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; } @@ -740,7 +741,10 @@ add_isa_dependencies (bitfield *flags, const char *f, int value, /* 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) @@ -765,11 +769,14 @@ add_isa_dependencies (bitfield *flags, const char *f, int value, 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 --git a/opcodes/i386-init.h b/opcodes/i386-init.h index ca6d3e48a52..6c6af654f74 100644 --- a/opcodes/i386-init.h +++ b/opcodes/i386-init.h @@ -1130,7 +1130,7 @@ #define CPU_VAES_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, 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, 0, 0, 0, 0, 0, \ @@ -1140,7 +1140,7 @@ #define CPU_VPCLMULQDQ_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, 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, 0, 0, 0, 0, \ @@ -1964,7 +1964,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0 } } @@ -1974,7 +1974,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \ 0, 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/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 5e18d0299f2..038152364b7 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -1441,13 +1441,6 @@ aesenclast, 0x660f38dd, AES, Modrm|||NoSuf, { 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 @@ -2065,13 +2058,22 @@ vsm4rnds4, 0xf2da, SM4, Modrm|Space0F38|Vex|VexVVVV|VexW0|CheckOperandSize|NoSuf // 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 } + +// 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 --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index dfe4e5ecce5..3054056e407 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -10840,126 +10840,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 }, - { { 112, 0, 0, 0, 0, 0, 0, 0, 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 }, - { { 39, 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, - 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 }, - { { 112, 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, 1, 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 }, - { { 112, 0, 0, 0, 0, 0, 0, 0, 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 }, - { { 39, 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, - 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 }, - { { 112, 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, 1, 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 }, - { { 112, 0, 0, 0, 0, 0, 0, 0, 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 }, - { { 39, 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, - 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 }, - { { 112, 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, 1, 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 }, - { { 112, 0, 0, 0, 0, 0, 0, 0, 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 }, - { { 39, 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, - 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 }, - { { 112, 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, 1, 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 }, @@ -20894,6 +20774,126 @@ 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 }, + { { 39, 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, + 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 }, + { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 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 }, + { { 112, 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, 1, 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 }, + { { 39, 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, + 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 }, + { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 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 }, + { { 112, 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, 1, 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 }, + { { 39, 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, + 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 }, + { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 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 }, + { { 112, 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, 1, 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 }, + { { 39, 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, + 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 }, + { { 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 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 }, + { { 112, 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, 1, 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 }, @@ -20925,17 +20925,17 @@ 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 }, { { 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { { 0, 0, 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 }, @@ -20959,15 +20959,15 @@ 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 }, { { 113, 0, 0, 0, 0, 0, 0, 0, 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 }, @@ -20989,15 +20989,15 @@ 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 }, { { 113, 0, 0, 0, 0, 0, 0, 0, 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 }, @@ -21019,15 +21019,15 @@ 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 }, { { 113, 0, 0, 0, 0, 0, 0, 0, 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 }, @@ -21049,15 +21049,15 @@ 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 }, { { 113, 0, 0, 0, 0, 0, 0, 0, 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 }, @@ -33902,9 +33902,11 @@ static const insn_template *const i386_op_sets[] = 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, @@ -33912,24 +33914,24 @@ static const insn_template *const i386_op_sets[] = 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, @@ -34115,50 +34117,50 @@ static const insn_template *const i386_op_sets[] = 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, @@ -34166,35 +34168,35 @@ static const insn_template *const i386_op_sets[] = 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, @@ -34212,47 +34214,47 @@ static const insn_template *const i386_op_sets[] = 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, @@ -34262,127 +34264,125 @@ static const insn_template *const i386_op_sets[] = 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,