aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-09-14 08:40:58 +0200
committerJan Beulich <jbeulich@suse.com>2023-09-14 08:40:58 +0200
commitd5f9027c4c263a15d812c35fe0241cdc109df71f (patch)
treeab29fceb5b811a7d4617bf0fb9baaeff3ec3e211
parent5c83c7600e1250191e619d8ab7b99171ec4d85c4 (diff)
downloadgdb-d5f9027c4c263a15d812c35fe0241cdc109df71f.zip
gdb-d5f9027c4c263a15d812c35fe0241cdc109df71f.tar.gz
gdb-d5f9027c4c263a15d812c35fe0241cdc109df71f.tar.bz2
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.
-rw-r--r--opcodes/i386-gen.c17
-rw-r--r--opcodes/i386-init.h8
-rw-r--r--opcodes/i386-opc.tbl26
-rw-r--r--opcodes/i386-tbl.h580
4 files changed, 320 insertions, 311 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index b325855..68427b0 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 ca6d3e4..6c6af65 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 5e18d02..0381523 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -1441,13 +1441,6 @@ aesenclast<aes>, 0x660f38dd, <aes:cpu>AES, Modrm|<aes:attr>|<aes:vvvv>|NoSuf, {
aesimc<aes>, 0x660f38db, <aes:cpu>AES, Modrm|<aes:attr>|NoSuf, { RegXMM|Unspecified|BaseIndex, RegXMM }
aeskeygenassist<aes>, 0x660f3adf, <aes:cpu>AES, Modrm|<aes:attr>|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
<pclmul:cpu:attr, $avx:AVX|:Vex128|VexW0|SSE2AVX|VexVVVV, $sse::>
@@ -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 dfe4e5e..3054056 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,