[PATCH 3/7] Support APX NDD
Cui, Lili
lili.cui@intel.com
Tue Sep 19 12:56:29 GMT 2023
From: konglin1 <lingling.kong@intel.com>
opcodes/ChangeLog:
* opcodes/i386-dis-evex-prefix.h: Add NDD decode for adox/adcx.
* opcodes/i386-dis-evex-reg.h: Handle for REG_EVEX_MAP4_80,
REG_EVEX_MAP4_81, REG_EVEX_MAP4_83, REG_EVEX_MAP4_C0,
REG_EVEX_MAP4_C1, REG_EVEX_MAP4_D0, REG_EVEX_MAP4_D1,
REG_EVEX_MAP4_D2, REG_EVEX_MAP4_D3, REG_EVEX_MAP4_F6,
REG_EVEX_MAP4_F7, REG_EVEX_MAP4_FE, REG_EVEX_MAP4_FF.
* opcodes/i386-dis-evex.h: Add NDD insn.
* opcodes/i386-dis.c (VexGb): Add new define.
(VexGv): Ditto.
(get_valid_dis386): Change for NDD decode.
(print_insn): Ditto.
(print_register): Ditto.
(intel_operand_size): Ditto.
(OP_E_memory): Ditto.
(OP_VEX): Ditto.
* opcodes/i386-opc.h (Opcode_APX_NDDD): New macro.
* opcodes/i386-opc.tbl: Add APX NDD instructions.
* opcodes/i386-tbl.h: Regenerated.
gas/ChangeLog:
* gas/config/tc-i386.c (is_any_apx_encoding): Add legacy insn
promote to SPACE_EVEXMAP4.
(build_legacy_insns_with_apx_encoding): Add ndd bit encode.
(md_assemble): Change for ndd encode.
(process_operands): Ditto.
(build_modrm_byte): Ditto.
(operand_size_match):
Support APX NDD that the number of operands is 3.
(match_template): Support swap the first two operands for
APX NDD that the number of operands is 3.
* gas/testsuite/gas/i386/x86-64.exp: Add x86-64-apx-ndd.
* gas/testsuite/gas/i386/x86-64-apx-ndd.d: New test.
* gas/testsuite/gas/i386/x86-64-apx-ndd.s: Ditto.
* testsuite/gas/i386/x86-64-pseudos.d: Add test.
* testsuite/gas/i386/x86-64-pseudos.s: Ditto.
---
gas/config/tc-i386.c | 80 +-
gas/testsuite/gas/i386/x86-64-apx-ndd.d | 165 ++
gas/testsuite/gas/i386/x86-64-apx-ndd.s | 156 ++
gas/testsuite/gas/i386/x86-64-pseudos.d | 42 +
gas/testsuite/gas/i386/x86-64-pseudos.s | 43 +
gas/testsuite/gas/i386/x86-64.exp | 1 +
opcodes/i386-dis-evex-prefix.h | 4 +-
opcodes/i386-dis-evex-reg.h | 123 ++
opcodes/i386-dis-evex.h | 124 +-
opcodes/i386-dis.c | 47 +-
opcodes/i386-opc.h | 1 +
opcodes/i386-opc.tbl | 67 +
opcodes/i386-tbl.h | 2612 ++++++++++++++++-------
13 files changed, 2588 insertions(+), 877 deletions(-)
create mode 100644 gas/testsuite/gas/i386/x86-64-apx-ndd.d
create mode 100644 gas/testsuite/gas/i386/x86-64-apx-ndd.s
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 48916bc3846..381e389bb04 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -2261,8 +2261,9 @@ operand_size_match (const insn_template *t)
unsigned int given = i.operands - j - 1;
/* For FMA4 and XOP insns VEX.W controls just the first two
- register operands. */
- if (is_cpu (t, CpuFMA4) || is_cpu (t, CpuXOP))
+ register operands. And APX insns just swap the first operands. */
+ if (is_cpu (t, CpuFMA4) || is_cpu (t, CpuXOP)
+ || (is_cpu (t,CpuAPX_F) && i.operands == 3))
given = j < 2 ? 1 - j : j;
if (t->operand_types[j].bitfield.class == Reg
@@ -3876,6 +3877,7 @@ is_any_apx_encoding (void)
{
return i.rex2
|| i.rex2_encoding
+ || i.tm.opcode_space == SPACE_EVEXMAP4
|| (i.vex.register_specifier
&& i.vex.register_specifier->reg_flags & RegRex2);
}
@@ -4204,6 +4206,10 @@ build_legacy_insns_with_apx_encoding (void)
}
build_evex_insns_with_extend_evex_prefix ();
+
+ /* Encode the NDD bit. */
+ if (i.vex.register_specifier)
+ i.vex.bytes[3] |= 0x10;
}
static void
@@ -7383,26 +7389,31 @@ match_template (char mnem_suffix)
overlap1 = operand_type_and (operand_types[0], operand_types[1]);
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)
- || t->opcode_modifier.regmem)
- goto check_reverse;
- break;
+ {
+ int isMemOperand = (t->opcode_modifier.vexvvvv
+ && t->opcode_space == SPACE_EVEXMAP4)
+ ? i.operands - 2 : i.operands - 1;
+ switch (i.dir_encoding)
+ {
+ case dir_encoding_load:
+ if (operand_type_check (operand_types[isMemOperand], anymem)
+ || t->opcode_modifier.regmem)
+ goto check_reverse;
+ break;
- case dir_encoding_store:
- if (!operand_type_check (operand_types[i.operands - 1], anymem)
- && !t->opcode_modifier.regmem)
- goto check_reverse;
- break;
+ case dir_encoding_store:
+ if (!operand_type_check (operand_types[isMemOperand], anymem)
+ && !t->opcode_modifier.regmem)
+ goto check_reverse;
+ break;
- case dir_encoding_swap:
- goto check_reverse;
+ case dir_encoding_swap:
+ goto check_reverse;
- case dir_encoding_default:
- break;
- }
+ 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)
@@ -7432,11 +7443,13 @@ match_template (char mnem_suffix)
continue;
/* Try reversing direction of operands. */
j = is_cpu (t, CpuFMA4)
- || is_cpu (t, CpuXOP) ? 1 : i.operands - 1;
+ || 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
@@ -7471,6 +7484,12 @@ match_template (char mnem_suffix)
found_reverse_match = Opcode_VexW;
goto check_operands_345;
}
+ else if (is_cpu (t,CpuAPX_F)
+ && i.operands == 3)
+ {
+ found_reverse_match = Opcode_APX_NDDD;
+ 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
@@ -7636,6 +7655,15 @@ match_template (char mnem_suffix)
flipping VEX.W. */
i.tm.opcode_modifier.vexw ^= VEXW0 ^ VEXW1;
+ 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];
+ break;
+
+ case Opcode_APX_NDDD:
+ /* Only the first two register operands need reversing. */
+ i.tm.base_opcode ^= 0x2;
+
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];
@@ -8462,8 +8490,8 @@ process_operands (void)
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)
+ with 4 operands or less. */
+ if (i.operands <= 4)
for (unsigned int j = 0; j < i.operands; j++)
if (i.types[j].bitfield.instance != InstanceNone)
i.reg_operands--;
@@ -8825,6 +8853,9 @@ build_modrm_byte (void)
break;
if (v >= dest)
v = ~0;
+ if (i.tm.opcode_space == SPACE_EVEXMAP4
+ && i.tm.opcode_modifier.vexvvvv)
+ v = dest;
if (i.tm.extension_opcode != None)
{
if (dest != source)
@@ -9088,6 +9119,9 @@ build_modrm_byte (void)
set_rex_vrex (i.op[op].regs, REX_B, false);
}
+ if (i.tm.opcode_space == SPACE_EVEXMAP4
+ && i.tm.opcode_modifier.vexvvvv)
+ dest--;
if (op == dest)
dest = ~0;
if (op == source)
diff --git a/gas/testsuite/gas/i386/x86-64-apx-ndd.d b/gas/testsuite/gas/i386/x86-64-apx-ndd.d
new file mode 100644
index 00000000000..debb99f2ff9
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-ndd.d
@@ -0,0 +1,165 @@
+#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 e4 18 ff c0\s+inc %rax,%rbx
+\s*[a-f0-9]+:\s*62 dc bc 18 ff c7\s+inc %r31,%r8
+\s*[a-f0-9]+:\s*62 dc fc 10 ff c7\s+inc %r31,%r16
+\s*[a-f0-9]+:\s*62 44 7c 10 00 f8\s+add %r31b,%r8b,%r16b
+\s*[a-f0-9]+:\s*62 44 7c 10 00 f8\s+add %r31b,%r8b,%r16b
+\s*[a-f0-9]+:\s*62 44 fc 10 01 f8\s+add %r31,%r8,%r16
+\s*[a-f0-9]+:\s*62 44 fc 10 01 f8\s+add %r31,%r8,%r16
+\s*[a-f0-9]+:\s*62 44 7c 10 01 f8\s+add %r31d,%r8d,%r16d
+\s*[a-f0-9]+:\s*62 44 7c 10 01 f8\s+add %r31d,%r8d,%r16d
+\s*[a-f0-9]+:\s*62 44 7d 10 01 f8\s+add %r31w,%r8w,%r16w
+\s*[a-f0-9]+:\s*62 44 7d 10 01 f8\s+add %r31w,%r8w,%r16w
+\s*[a-f0-9]+:\s*62 44 fc 10 01 f8\s+add %r31,%r8,%r16
+\s*[a-f0-9]+:\s*62 5c fc 10 03 c7\s+add %r31,%r8,%r16
+\s*[a-f0-9]+:\s*62 44 fc 10 01 38\s+add %r31,\(%r8\),%r16
+\s*[a-f0-9]+:\s*62 5c fc 10 03 07\s+add \(%r31\),%r8,%r16
+\s*[a-f0-9]+:\s*62 5c f8 10 03 84 07 90 90 00 00\s+add\s+0x9090\(%r31,%r16,1\),%r8,%r16
+\s*[a-f0-9]+:\s*62 44 f8 10 01 3c c0\s+add %r31,\(%r8,%r16,8\),%r16
+\s*[a-f0-9]+:\s*62 d4 74 10 80 c5 34\s+add \$0x34,%r13b,%r17b
+\s*[a-f0-9]+:\s*62 fc 5c 10 83 04 83 11\s+addl \$0x11,\(%r19,%rax,4\),%r20d
+\s*[a-f0-9]+:\s*62 f4 0d 10 81 c0 34 12\s+add \$0x1234,%ax,%r30w
+\s*[a-f0-9]+:\s*62 d4 fc 10 81 c7 33 44 34 12\s+add \$0x12344433,%r15,%r16
+\s*[a-f0-9]+:\s*62 d4 fc 10 81 04 8f 33 44 34 12\s+addq \$0x12344433,\(%r15,%rcx,4\),%r16
+\s*[a-f0-9]+:\s*62 f4 bc 18 81 c0 11 22 33 f4\s+add \$0xfffffffff4332211,%rax,%r8
+\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 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 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 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 e8 34 12 sub \$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 f4 0d 10 81 d8 34 12 sbb \$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 f4 0d 10 81 d0 34 12 adc \$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 f4 0d 10 81 c8 34 12 or \$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 f4 0d 10 81 f0 34 12 xor \$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*62 f4 0d 10 81 e0 34 12 and \$0x1234,%ax,%r30w
+\s*[a-f0-9]+:\s*62 f4 04 10 d0 08 rorb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 cc 02 ror \$0x2,%r12b,%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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 c8 ror %cl,%r16b,%r8b
+\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 00 rolb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 c4 02 rol \$0x2,%r12b,%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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 c0 rol %cl,%r16b,%r8b
+\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 18 rcrb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 dc 02 rcr \$0x2,%r12b,%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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 d8 rcr %cl,%r16b,%r8b
+\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 10 rclb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 d4 02 rcl \$0x2,%r12b,%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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 d0 rcl %cl,%r16b,%r8b
+\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 20 shlb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 e4 02 shl \$0x2,%r12b,%r31b
+\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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 e0 shl %cl,%r16b,%r8b
+\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 d0 38 sarb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 fc 02 sar \$0x2,%r12b,%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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 f8 sar %cl,%r16b,%r8b
+\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 20 shlb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 e4 02 shl \$0x2,%r12b,%r31b
+\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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 e0 shl %cl,%r16b,%r8b
+\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 d0 28 shrb \(%rax\),%r31b
+\s*[a-f0-9]+:\s*62 d4 04 10 c0 ec 02 shr \$0x2,%r12b,%r31b
+\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 \(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 fc 3c 18 d2 e8 shr %cl,%r16b,%r8b
+\s*[a-f0-9]+:\s*62 fc 05 10 d3 2c 83 shrw %cl,\(%r19,%rax,4\),%r31w
+\s*[a-f0-9]+:\s*62 74 84 10 24 20 01 shld \$0x1,%r12,\(%rax\),%r31
+\s*[a-f0-9]+:\s*62 54 05 10 24 c4 02 shld \$0x2,%r8w,%r12w,%r31w
+\s*[a-f0-9]+:\s*62 74 04 10 24 38 02 shld \$0x2,%r15d,\(%rax\),%r31d
+\s*[a-f0-9]+:\s*62 74 05 10 a5 08 shld %cl,%r9w,\(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 7c bc 18 a5 e0\s+shld %cl,%r12,%r16,%r8
+\s*[a-f0-9]+:\s*62 7c 05 10 a5 2c 83\s+shld %cl,%r13w,\(%r19,%rax,4\),%r31w
+\s*[a-f0-9]+:\s*62 74 84 10 2c 20 01 shrd \$0x1,%r12,\(%rax\),%r31
+\s*[a-f0-9]+:\s*62 54 05 10 2c c4 02 shrd \$0x2,%r8w,%r12w,%r31w
+\s*[a-f0-9]+:\s*62 74 04 10 2c 38 02 shrd \$0x2,%r15d,\(%rax\),%r31d
+\s*[a-f0-9]+:\s*62 74 05 10 ad 08\s+shrd %cl,%r9w,\(%rax\),%r31w
+\s*[a-f0-9]+:\s*62 7c bc 18 ad e0\s+shrd %cl,%r12,%r16,%r8
+\s*[a-f0-9]+:\s*62 7c 05 10 ad 2c 83\s+shrd %cl,%r13w,\(%r19,%rax,4\),%r31w
+\s*[a-f0-9]+:\s*62 54 6d 10 66 c7 adcx %r15d,%r8d,%r18d
+\s*[a-f0-9]+:\s*62 14 69 10 66 04 3f adcx \(%r15,%r31,1\),%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 54 6e 10 66 c7 adox %r15d,%r8d,%r18d
+\s*[a-f0-9]+:\s*62 14 6a 10 66 04 3f adox \(%r15,%r31,1\),%r8d,%r18d
+\s*[a-f0-9]+:\s*62 14 fa 08 66 04 3f adox \(%r15,%r31,1\),%r8
+\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 41 90 90 90 90 90 cmovno -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 43 90 90 90 90 90 cmovae -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 45 90 90 90 90 90 cmovne -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 47 90 90 90 90 90 cmova -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*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 4a 90 90 90 90 90 cmovp -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 4c 90 90 90 90 90 cmovl -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 4e 90 90 90 90 90 cmovle -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 af 90 09 09 09 00 imul 0x90909\(%eax\),%edx,%r8d
+\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*62 f4 fc 08 ff c0\s+inc %rax
+\s*[a-f0-9]+:\s*62 f4 ec\s+\(bad\)
+\s*[a-f0-9]+:\s*08 ff\s+or %bh,%bh
+\s*[a-f0-9]+:\s*c0\s+\.byte 0xc0
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-ndd.s b/gas/testsuite/gas/i386/x86-64-apx-ndd.s
new file mode 100644
index 00000000000..8c86989ffe5
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-ndd.s
@@ -0,0 +1,156 @@
+# Check 64bit APX NDD instructions with evex prefix encoding
+
+ .allow_index_reg
+ .text
+_start:
+inc %rax,%rbx
+inc %r31,%r8
+inc %r31,%r16
+add %r31b,%r8b,%r16b
+addb %r31b,%r8b,%r16b
+add %r31,%r8,%r16
+addq %r31,%r8,%r16
+add %r31d,%r8d,%r16d
+addl %r31d,%r8d,%r16d
+add %r31w,%r8w,%r16w
+addw %r31w,%r8w,%r16w
+{store} add %r31,%r8,%r16
+{load} add %r31,%r8,%r16
+add %r31,(%r8),%r16
+add (%r31),%r8,%r16
+add 0x9090(%r31,%r16,1),%r8,%r16
+add %r31,(%r8,%r16,8),%r16
+add $0x34,%r13b,%r17b
+addl $0x11,(%r19,%rax,4),%r20d
+add $0x1234,%ax,%r30w
+add $0x12344433,%r15,%r16
+addq $0x12344433,(%r15,%rcx,4),%r16
+add $0xfffffffff4332211,%rax,%r8
+dec %rax,%r17
+decb (%r31,%r12,1),%r8b
+not %rax,%r17
+notb (%r31,%r12,1),%r8b
+neg %rax,%r17
+negb (%r31,%r12,1),%r8b
+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
+sub $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
+sbb $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
+adc $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
+or $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
+xor $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
+and $0x1234,%ax,%r30w
+rorb (%rax),%r31b
+ror $0x2,%r12b,%r31b
+rorl $0x2,(%rax),%r31d
+rorw (%rax),%r31w
+ror %cl,%r16b,%r8b
+rorw %cl,(%r19,%rax,4),%r31w
+rolb (%rax),%r31b
+rol $0x2,%r12b,%r31b
+roll $0x2,(%rax),%r31d
+rolw (%rax),%r31w
+rol %cl,%r16b,%r8b
+rolw %cl,(%r19,%rax,4),%r31w
+rcrb (%rax),%r31b
+rcr $0x2,%r12b,%r31b
+rcrl $0x2,(%rax),%r31d
+rcrw (%rax),%r31w
+rcr %cl,%r16b,%r8b
+rcrw %cl,(%r19,%rax,4),%r31w
+rclb (%rax),%r31b
+rcl $0x2,%r12b,%r31b
+rcll $0x2,(%rax),%r31d
+rclw (%rax),%r31w
+rcl %cl,%r16b,%r8b
+rclw %cl,(%r19,%rax,4),%r31w
+shlb (%rax),%r31b
+shl $0x2,%r12b,%r31b
+shll $0x2,(%rax),%r31d
+shlw (%rax),%r31w
+shl %cl,%r16b,%r8b
+shlw %cl,(%r19,%rax,4),%r31w
+sarb (%rax),%r31b
+sar $0x2,%r12b,%r31b
+sarl $0x2,(%rax),%r31d
+sarw (%rax),%r31w
+sar %cl,%r16b,%r8b
+sarw %cl,(%r19,%rax,4),%r31w
+shlb (%rax),%r31b
+shl $0x2,%r12b,%r31b
+shll $0x2,(%rax),%r31d
+shlw (%rax),%r31w
+shl %cl,%r16b,%r8b
+shlw %cl,(%r19,%rax,4),%r31w
+shrb (%rax),%r31b
+shr $0x2,%r12b,%r31b
+shrl $0x2,(%rax),%r31d
+shrw (%rax),%r31w
+shr %cl,%r16b,%r8b
+shrw %cl,(%r19,%rax,4),%r31w
+shld $0x1,%r12,(%rax),%r31
+shld $0x2,%r8w,%r12w,%r31w
+shld $0x2,%r15d,(%rax),%r31d
+shld %cl,%r9w,(%rax),%r31w
+shld %cl,%r12,%r16,%r8
+shld %cl,%r13w,(%r19,%rax,4),%r31w
+shrd $0x1,%r12,(%rax),%r31
+shrd $0x2,%r8w,%r12w,%r31w
+shrd $0x2,%r15d,(%rax),%r31d
+shrd %cl,%r9w,(%rax),%r31w
+shrd %cl,%r12,%r16,%r8
+shrd %cl,%r13w,(%r19,%rax,4),%r31w
+adcx %r15d,%r8d,%r18d
+adcx (%r15,%r31,1),%r8d,%r18d
+adcx (%r15,%r31,1),%r8
+adox %r15d,%r8d,%r18d
+adox (%r15,%r31,1),%r8d,%r18d
+adox (%r15,%r31,1),%r8
+cmovo 0x90909090(%eax),%edx,%r8d
+cmovno 0x90909090(%eax),%edx,%r8d
+cmovb 0x90909090(%eax),%edx,%r8d
+cmovae 0x90909090(%eax),%edx,%r8d
+cmove 0x90909090(%eax),%edx,%r8d
+cmovne 0x90909090(%eax),%edx,%r8d
+cmovbe 0x90909090(%eax),%edx,%r8d
+cmova 0x90909090(%eax),%edx,%r8d
+cmovs 0x90909090(%eax),%edx,%r8d
+cmovns 0x90909090(%eax),%edx,%r8d
+cmovp 0x90909090(%eax),%edx,%r8d
+cmovnp 0x90909090(%eax),%edx,%r8d
+cmovl 0x90909090(%eax),%edx,%r8d
+cmovge 0x90909090(%eax),%edx,%r8d
+cmovle 0x90909090(%eax),%edx,%r8d
+cmovg 0x90909090(%eax),%edx,%r8d
+imul 0x90909(%eax),%edx,%r8d
+imul 0x909(%rax,%r31,8),%rdx,%r25
+.byte 0x62,0xf4,0xfc,0x08,0xff,0xc0 #inc %rax
+.byte 0x62,0xf4,0xec,0x08,0xff,0xc0 #bad
diff --git a/gas/testsuite/gas/i386/x86-64-pseudos.d b/gas/testsuite/gas/i386/x86-64-pseudos.d
index 8cc4040cb77..f6257c01792 100644
--- a/gas/testsuite/gas/i386/x86-64-pseudos.d
+++ b/gas/testsuite/gas/i386/x86-64-pseudos.d
@@ -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
diff --git a/gas/testsuite/gas/i386/x86-64-pseudos.s b/gas/testsuite/gas/i386/x86-64-pseudos.s
index eb25f2a8fbf..9f756e5ba04 100644
--- a/gas/testsuite/gas/i386/x86-64-pseudos.s
+++ b/gas/testsuite/gas/i386/x86-64-pseudos.s
@@ -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
diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp
index 46fb3681528..ca1583c6f88 100644
--- a/gas/testsuite/gas/i386/x86-64.exp
+++ b/gas/testsuite/gas/i386/x86-64.exp
@@ -367,6 +367,7 @@ run_dump_test "x86-64-apx-rex2-inval"
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-avx512f-rcigrz-intel"
run_dump_test "x86-64-avx512f-rcigrz"
run_dump_test "x86-64-clwb"
diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h
index f6f02de6c47..210783d7e88 100644
--- a/opcodes/i386-dis-evex-prefix.h
+++ b/opcodes/i386-dis-evex-prefix.h
@@ -353,8 +353,8 @@
/* PREFIX_EVEX_MAP4_66 */
{
{ MOD_TABLE (MOD_EVEX_MAP4_66_PREFIX_0) },
- { "adoxS", { Gdq, Edq }, 0 },
- { "adcxS", { Gdq, Edq }, 0 },
+ { "adoxS", { VexGdq, Gdq, Edq }, 0 },
+ { "adcxS", { VexGdq, Gdq, Edq }, 0 },
},
/* PREFIX_EVEX_MAP4_D8 */
{
diff --git a/opcodes/i386-dis-evex-reg.h b/opcodes/i386-dis-evex-reg.h
index c3b4f083346..d00c2843e12 100644
--- a/opcodes/i386-dis-evex-reg.h
+++ b/opcodes/i386-dis-evex-reg.h
@@ -56,6 +56,105 @@
{ "blsmskS", { VexGdq, Edq }, 0 },
{ "blsiS", { VexGdq, Edq }, 0 },
},
+ /* REG_EVEX_MAP4_80 */
+ {
+ { "addA", { VexGb, Eb, Ib }, 0 },
+ { "orA", { VexGb, Eb, Ib }, 0 },
+ { "adcA", { VexGb, Eb, Ib }, 0 },
+ { "sbbA", { VexGb, Eb, Ib }, 0 },
+ { "andA", { VexGb, Eb, Ib }, 0 },
+ { "subA", { VexGb, Eb, Ib }, 0 },
+ { "xorA", { VexGb, Eb, Ib }, 0 },
+ { Bad_Opcode },
+ },
+ /* REG_EVEX_MAP4_81 */
+ {
+ { "addQ", { VexGv, Ev, Iv }, 0 },
+ { "orQ", { VexGv, Ev, Iv }, 0 },
+ { "adcQ", { VexGv, Ev, Iv }, 0 },
+ { "sbbQ", { VexGv, Ev, Iv }, 0 },
+ { "andQ", { VexGv, Ev, Iv }, 0 },
+ { "subQ", { VexGv, Ev, Iv }, 0 },
+ { "xorQ", { VexGv, Ev, Iv }, 0 },
+ { Bad_Opcode },
+ },
+ /* REG_EVEX_MAP4_83 */
+ {
+ { "addQ", { VexGv, Ev, sIb }, 0 },
+ { "orQ", { VexGv, Ev, sIb }, 0 },
+ { "adcQ", { VexGv, Ev, sIb }, 0 },
+ { "sbbQ", { VexGv, Ev, sIb }, 0 },
+ { "andQ", { VexGv, Ev, sIb }, 0 },
+ { "subQ", { VexGv, Ev, sIb }, 0 },
+ { "xorQ", { VexGv, Ev, sIb }, 0 },
+ { Bad_Opcode },
+ },
+ /* REG_EVEX_MAP4_C0 */
+ {
+ { "rolA", { VexGb, Eb, Ib }, 0 },
+ { "rorA", { VexGb, Eb, Ib }, 0 },
+ { "rclA", { VexGb, Eb, Ib }, 0 },
+ { "rcrA", { VexGb, Eb, Ib }, 0 },
+ { "shlA", { VexGb, Eb, Ib }, 0 },
+ { "shrA", { VexGb, Eb, Ib }, 0 },
+ { "shlA", { VexGb, Eb, Ib }, 0 },
+ { "sarA", { VexGb, Eb, Ib }, 0 },
+ },
+ /* REG_EVEX_MAP4_C1 */
+ {
+ { "rolQ", { VexGv, Ev, Ib }, 0 },
+ { "rorQ", { VexGv, Ev, Ib }, 0 },
+ { "rclQ", { VexGv, Ev, Ib }, 0 },
+ { "rcrQ", { VexGv, Ev, Ib }, 0 },
+ { "shlQ", { VexGv, Ev, Ib }, 0 },
+ { "shrQ", { VexGv, Ev, Ib }, 0 },
+ { "shlQ", { VexGv, Ev, Ib }, 0 },
+ { "sarQ", { VexGv, Ev, Ib }, 0 },
+ },
+ /* REG_EVEX_MAP4_D0 */
+ {
+ { "rolA", { VexGb, Eb, I1 }, 0 },
+ { "rorA", { VexGb, Eb, I1 }, 0 },
+ { "rclA", { VexGb, Eb, I1 }, 0 },
+ { "rcrA", { VexGb, Eb, I1 }, 0 },
+ { "shlA", { VexGb, Eb, I1 }, 0 },
+ { "shrA", { VexGb, Eb, I1 }, 0 },
+ { "shlA", { VexGb, Eb, I1 }, 0 },
+ { "sarA", { VexGb, Eb, I1 }, 0 },
+ },
+ /* REG_EVEX_MAP4_D1 */
+ {
+ { "rolQ", { VexGv, Ev, I1 }, 0 },
+ { "rorQ", { VexGv, Ev, I1 }, 0 },
+ { "rclQ", { VexGv, Ev, I1 }, 0 },
+ { "rcrQ", { VexGv, Ev, I1 }, 0 },
+ { "shlQ", { VexGv, Ev, I1 }, 0 },
+ { "shrQ", { VexGv, Ev, I1 }, 0 },
+ { "shlQ", { VexGv, Ev, I1 }, 0 },
+ { "sarQ", { VexGv, Ev, I1 }, 0 },
+ },
+ /* REG_EVEX_MAP4_D2 */
+ {
+ { "rolA", { VexGb, Eb, CL }, 0 },
+ { "rorA", { VexGb, Eb, CL }, 0 },
+ { "rclA", { VexGb, Eb, CL }, 0 },
+ { "rcrA", { VexGb, Eb, CL }, 0 },
+ { "shlA", { VexGb, Eb, CL }, 0 },
+ { "shrA", { VexGb, Eb, CL }, 0 },
+ { "shlA", { VexGb, Eb, CL }, 0 },
+ { "sarA", { VexGb, Eb, CL }, 0 },
+ },
+ /* REG_EVEX_MAP4_D3 */
+ {
+ { "rolQ", { VexGv, Ev, CL }, 0 },
+ { "rorQ", { VexGv, Ev, CL }, 0 },
+ { "rclQ", { VexGv, Ev, CL }, 0 },
+ { "rcrQ", { VexGv, Ev, CL }, 0 },
+ { "shlQ", { VexGv, Ev, CL }, 0 },
+ { "shrQ", { VexGv, Ev, CL }, 0 },
+ { "shlQ", { VexGv, Ev, CL }, 0 },
+ { "sarQ", { VexGv, Ev, CL }, 0 },
+ },
/* REG_EVEX_MAP4_D8_PREFIX_1 */
{
{ "aesencwide128kl", { M }, 0 },
@@ -63,3 +162,27 @@
{ "aesencwide256kl", { M }, 0 },
{ "aesdecwide256kl", { M }, 0 },
},
+ /* REG_EVEX_MAP4_F6 */
+ {
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { "notA", { VexGb, Eb }, 0 },
+ { "negA", { VexGb, Eb }, 0 },
+ },
+ /* REG_EVEX_MAP4_F7 */
+ {
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { "notQ", { VexGv, Ev }, 0 },
+ { "negQ", { VexGv, Ev }, 0 },
+ },
+ /* REG_EVEX_MAP4_FE */
+ {
+ { "incA", { VexGb ,Eb }, 0 },
+ { "decA", { VexGb ,Eb }, 0 },
+ },
+ /* REG_EVEX_MAP4_FF */
+ {
+ { "incQ", { VexGv ,Ev }, 0 },
+ { "decQ", { VexGv ,Ev }, 0 },
+ },
diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h
index 2a8c80c5200..1787be6dbf0 100644
--- a/opcodes/i386-dis-evex.h
+++ b/opcodes/i386-dis-evex.h
@@ -875,64 +875,64 @@ static const struct dis386 evex_table[][256] = {
/* EVEX_MAP4_ */
{
/* 00 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "addB", { VexGb, Eb, Gb }, 0 },
+ { "addS", { VexGv, Ev, Gv }, 0 },
+ { "addB", { VexGb, Gb, EbS }, 0 },
+ { "addS", { VexGv, Gv, EvS }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
/* 08 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "orB", { VexGb, Eb, Gb }, 0 },
+ { "orS", { VexGv, Ev, Gv }, 0 },
+ { "orB", { VexGb, Gb, EbS }, 0 },
+ { "orS", { VexGv, Gv, EvS }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
/* 10 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "adcB", { VexGb, Eb, Gb }, 0 },
+ { "adcS", { VexGv, Ev, Gv }, 0 },
+ { "adcB", { VexGb, Gb, EbS }, 0 },
+ { "adcS", { VexGv, Gv, EvS }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
/* 18 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "sbbB", { VexGb, Eb, Gb }, 0 },
+ { "sbbS", { VexGv, Ev, Gv }, 0 },
+ { "sbbB", { VexGb, Gb, EbS }, 0 },
+ { "sbbS", { VexGv, Gv, EvS }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
/* 20 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "andB", { VexGb, Eb, Gb }, 0 },
+ { "andS", { VexGv, Ev, Gv }, 0 },
+ { "andB", { VexGb, Gb, EbS }, 0 },
+ { "andS", { VexGv, Gv, EvS }, 0 },
+ { "shldS", { VexGv, Ev, Gv, Ib }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
/* 28 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "subB", { VexGb, Eb, Gb }, 0 },
+ { "subS", { VexGv, Ev, Gv }, 0 },
+ { "subB", { VexGb, Gb, EbS }, 0 },
+ { "subS", { VexGv, Gv, EvS }, 0 },
+ { "shrdS", { VexGv, Ev, Gv, Ib }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
/* 30 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "xorB", { VexGb, Eb, Gb }, 0 },
+ { "xorS", { VexGv, Ev, Gv }, 0 },
+ { "xorB", { VexGb, Gb, EbS }, 0 },
+ { "xorS", { VexGv, Gv, EvS }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
@@ -947,23 +947,23 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
/* 40 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "cmovoS", { VexGv, Gv, Ev }, 0 },
+ { "cmovnoS", { VexGv, Gv, Ev }, 0 },
+ { "cmovbS", { VexGv, Gv, Ev }, 0 },
+ { "cmovaeS", { VexGv, Gv, Ev }, 0 },
+ { "cmoveS", { VexGv, Gv, Ev }, 0 },
+ { "cmovneS", { VexGv, Gv, Ev }, 0 },
+ { "cmovbeS", { VexGv, Gv, Ev }, 0 },
+ { "cmovaS", { VexGv, Gv, Ev }, 0 },
/* 48 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "cmovsS", { VexGv, Gv, Ev }, 0 },
+ { "cmovnsS", { VexGv, Gv, Ev }, 0 },
+ { "cmovpS", { VexGv, Gv, Ev }, 0 },
+ { "cmovnpS", { VexGv, Gv, Ev }, 0 },
+ { "cmovlS", { VexGv, Gv, Ev }, 0 },
+ { "cmovgeS", { VexGv, Gv, Ev }, 0 },
+ { "cmovleS", { VexGv, Gv, Ev }, 0 },
+ { "cmovgS", { VexGv, Gv, Ev }, 0 },
/* 50 */
{ Bad_Opcode },
{ Bad_Opcode },
@@ -1019,10 +1019,10 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
/* 80 */
+ { REG_TABLE (REG_EVEX_MAP4_80) },
+ { REG_TABLE (REG_EVEX_MAP4_81) },
{ Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { REG_TABLE (REG_EVEX_MAP4_83) },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
@@ -1060,7 +1060,7 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
- { Bad_Opcode },
+ { "shldS", { VexGv, Ev, Gv, CL }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
/* A8 */
@@ -1069,9 +1069,9 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
+ { "shrdS", { VexGv, Ev, Gv, CL }, 0 },
{ Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { "imulS", { VexGv, Gv, Ev }, 0 },
/* B0 */
{ Bad_Opcode },
{ Bad_Opcode },
@@ -1091,8 +1091,8 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
/* C0 */
- { Bad_Opcode },
- { Bad_Opcode },
+ { REG_TABLE (REG_EVEX_MAP4_C0) },
+ { REG_TABLE (REG_EVEX_MAP4_C1) },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
@@ -1109,10 +1109,10 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
/* D0 */
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { REG_TABLE (REG_EVEX_MAP4_D0) },
+ { REG_TABLE (REG_EVEX_MAP4_D1) },
+ { REG_TABLE (REG_EVEX_MAP4_D2) },
+ { REG_TABLE (REG_EVEX_MAP4_D3) },
{ "sha1rnds4", { XM, EXxmm, Ib }, 0 },
{ Bad_Opcode },
{ Bad_Opcode },
@@ -1151,8 +1151,8 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
{ 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) },
{ MOD_TABLE (MOD_EVEX_MAP4_F9) },
@@ -1160,8 +1160,8 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ PREFIX_TABLE (PREFIX_EVEX_MAP4_FC) },
{ Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { REG_TABLE (REG_EVEX_MAP4_FE) },
+ { REG_TABLE (REG_EVEX_MAP4_FF) },
},
/* EVEX_MAP5_ */
{
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index c8f3cfb8149..c702fd9e756 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -571,6 +571,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 }
@@ -883,7 +885,20 @@ enum
REG_EVEX_0F38C6_L_2,
REG_EVEX_0F38C7_L_2,
REG_EVEX_0F38F3_L_0,
- REG_EVEX_MAP4_D8_PREFIX_1
+ REG_EVEX_MAP4_80,
+ REG_EVEX_MAP4_81,
+ REG_EVEX_MAP4_83,
+ REG_EVEX_MAP4_C0,
+ REG_EVEX_MAP4_C1,
+ REG_EVEX_MAP4_D0,
+ REG_EVEX_MAP4_D1,
+ REG_EVEX_MAP4_D2,
+ REG_EVEX_MAP4_D3,
+ REG_EVEX_MAP4_D8_PREFIX_1,
+ REG_EVEX_MAP4_F6,
+ REG_EVEX_MAP4_F7,
+ REG_EVEX_MAP4_FE,
+ REG_EVEX_MAP4_FF,
};
enum
@@ -9070,6 +9085,14 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins)
ins->rex &= ~REX_B;
ins->rex2 &= ~REX_R;
}
+ if (ins->evex_type == evex_from_legacy)
+ {
+ if (ins->vex.ll || ins->vex.zeroing
+ || (!ins->vex.b && (ins->vex.register_specifier
+ || !ins->vex.v)))
+ return &bad_opcode;
+ ins->rex |= REX_OPCODE;
+ }
ins->need_vex = 4;
ins->codep++;
@@ -9080,7 +9103,7 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins)
return &err_opcode;
/* Set vector length. */
- if (ins->modrm.mod == 3 && ins->vex.b)
+ if (ins->modrm.mod == 3 && ins->vex.b && ins->evex_type == evex_default)
ins->vex.length = 512;
else
{
@@ -10994,7 +11017,7 @@ print_displacement (instr_info *ins, bfd_signed_vma val)
static void
intel_operand_size (instr_info *ins, int bytemode, int sizeflag)
{
- if (ins->vex.b)
+ if (ins->vex.b && ins->evex_type != evex_from_legacy)
{
if (!ins->vex.no_broadcast)
switch (bytemode)
@@ -11928,7 +11951,8 @@ OP_E_memory (instr_info *ins, int bytemode, int sizeflag)
ins->vex.no_broadcast = true;
if (!ins->vex.no_broadcast
- && (!ins->intel_syntax || !(ins->evex_used & EVEX_len_used)))
+ && (!ins->intel_syntax || !(ins->evex_used & EVEX_len_used))
+ && ins->evex_type == evex_default)
{
if (bytemode == xh_mode)
{
@@ -13280,6 +13304,14 @@ OP_VEX (instr_info *ins, int bytemode, int sizeflag ATTRIBUTE_UNUSED)
if (!ins->need_vex)
return true;
+ if (ins->evex_type == evex_from_legacy)
+ {
+ if (ins->vex.b)
+ ins->evex_used |= EVEX_b_used;
+ else
+ return true;
+ }
+
reg = ins->vex.register_specifier;
ins->vex.register_specifier = 0;
if (ins->address_mode != mode_64bit)
@@ -13371,12 +13403,19 @@ OP_VEX (instr_info *ins, int bytemode, int sizeflag ATTRIBUTE_UNUSED)
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 mask_bd_mode:
case mask_mode:
if (reg > 0x7)
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index 9dd5625f54d..f36a8da5cbe 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -960,6 +960,7 @@ typedef struct insn_template
/* The next value is arbitrary, as long as it's non-zero and distinct
from all other values above. */
#define Opcode_VexW 0xf /* Operand order controlled by VEX.W. */
+#define Opcode_APX_NDDD 0x11 /* Direction bit for APX NDD insns. */
/* how many operands */
unsigned int operands:3;
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index 791a9fe0177..4bb0c9f4906 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -286,17 +286,25 @@ add, 0x0, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg3
add, 0x83/0, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|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, 0x0, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+add, 0x83/0, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+add, 0x80/0, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64}
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|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, {Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|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|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, 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, 0x28, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64, }
+sub, 0x83/5, APX_F|x64, Modrm|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+sub, 0x80/5, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
@@ -305,6 +313,9 @@ sbb, 0x80/3, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|R
sbb, 0x18, APX_F|x64, D|W|CheckOperandSize|Modrm|EVex128|EVexMap4|No_sSuf, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
sbb, 0x83/3, APX_F|x64, Modrm|EVex128|EVexMap4|No_bSuf|No_sSuf, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
sbb, 0x80/3, APX_F|x64, W|Modrm|EVex128|EVexMap4|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+sbb, 0x18, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sbb, 0x83/3, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+sbb, 0x80/3, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
@@ -319,16 +330,25 @@ and, 0x20, 0, D|W|CheckOperandSize|Modrm|No_sSuf|HLEPrefixLock|Optimize, { Reg8|
and, 0x83/4, 0, Modrm|No_bSuf|No_sSuf|HLEPrefixLock|Optimize, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|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, 0x20, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+and, 0x83/4, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4|Optimize, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+and, 0x80/4, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4|Optimize, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|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|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, 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, 0x8, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+or, 0x83/1, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+or, 0x80/1, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|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|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, 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, 0x30, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4|Optimize, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+xor, 0x83/6, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+xor, 0x80/6, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
// clr with 1 operand is really xor with 2 operands.
clr, 0x30, 0, W|Modrm|No_sSuf|RegKludge|Optimize, { Reg8|Reg16|Reg32|Reg64 }
@@ -340,11 +360,16 @@ adc, 0x80/2, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Imm8|Imm16|Imm32|Imm32S, Reg8|R
adc, 0x10, APX_F|x64, D|W|CheckOperandSize|Modrm|EVex128|EVexMap4|No_sSuf, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
adc, 0x83/2, APX_F|x64, Modrm|EVex128|EVexMap4|No_bSuf|No_sSuf, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex }
adc, 0x80/2, APX_F|x64, W|Modrm|EVex128|EVexMap4|No_sSuf, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+adc, 0x10, APX_F|x64, D|W|CheckOperandSize|Modrm|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+adc, 0x83/2, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8S, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+adc, 0x80/2, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8|Imm16|Imm32|Imm32S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
neg, 0xf6/3, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+neg, 0xf6/3, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
not, 0xf6/2, 0, W|Modrm|No_sSuf|HLEPrefixLock, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
not, 0xf6/2, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+not, 0xf6/2, APX_F|x64, W|Modrm|CheckOperandSize|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
aaa, 0x37, No64, NoSuf, {}
aas, 0x3f, No64, NoSuf, {}
@@ -378,6 +403,7 @@ cqto, 0x99, x64, Size64|NoSuf, {}
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, 0xaf, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg16|Reg32|Reg64|Unspecified|Word|Dword|Qword|BaseIndex, Reg16|Reg32|Reg64, 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 }
// imul with 2 operands mimics imul with 3 by putting the register in
@@ -395,11 +421,19 @@ rol, 0xd0/0, 0, W|Modrm|No_sSuf, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|
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 }
+rol, 0xd0/0, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rol, 0xc0/0, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rol, 0xd2/0, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rol, 0xd0/0, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
+ror, 0xd0/1, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+ror, 0xc0/1, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8|Imm8S, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+ror, 0xd2/1, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+ror, 0xd0/1, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
@@ -409,6 +443,10 @@ rcl, 0xd0/2, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg
rcl, 0xc0/2, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
rcl, 0xd2/2, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
rcl, 0xd0/2, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+rcl, 0xd0/2, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rcl, 0xc0/2, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rcl, 0xd2/2, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rcl, 0xd0/2, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
@@ -418,34 +456,60 @@ rcr, 0xd0/3, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg
rcr, 0xc0/3, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
rcr, 0xd2/3, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
rcr, 0xd0/3, APX_F|x64, W|Modrm|No_sSuf|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex }
+rcr, 0xd0/3, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rcr, 0xc0/3, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rcr, 0xd2/3, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+rcr, 0xd0/3, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
+sal, 0xd0/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sal, 0xc0/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sal, 0xd2/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sal, 0xd0/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
+shl, 0xd0/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+shl, 0xc0/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+shl, 0xd2/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+shl, 0xd0/4, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
+shr, 0xd0/5, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+shr, 0xc0/5, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+shr, 0xd2/5, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+shr, 0xd0/5, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
+sar, 0xd0/7, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm1, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sar, 0xc0/7, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Imm8, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sar, 0xd2/7, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
+sar, 0xd0/7, APX_F|x64, W|Modrm|No_sSuf|CheckOperandSize|VexVVVV|EVex128|EVexMap4, { Reg8|Reg16|Reg32|Reg64|Byte|Word|Dword|Qword|Unspecified|BaseIndex, Reg8|Reg16|Reg32|Reg64 }
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 }
+shld, 0x24, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+shld, 0xa5, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+shld, 0xa5, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
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 }
+shrd, 0x2c, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Imm8, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+shrd, 0xad, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { ShiftCount, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+shrd, 0xad, APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
// Control transfer instructions.
call, 0xe8, No64, JumpDword|DefaultSize|No_bSuf|No_sSuf|No_qSuf|BNDPrefixOk, { Disp16|Disp32 }
@@ -951,6 +1015,7 @@ ud2b, 0xfb9, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|U
ud0, 0xfff, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
cmov<cc>, 0xf4<cc:opc>, CMOV, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+cmov<cc>, 0x4<cc:opc>, CMOV|APX_F|x64, Modrm|CheckOperandSize|No_bSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64 }
fcmovb, 0xda/0, i687, Modrm|NoSuf, { FloatReg, FloatAcc }
fcmovnae, 0xda/0, i687, Modrm|NoSuf, { FloatReg, FloatAcc }
@@ -2044,8 +2109,10 @@ xstore, 0xfa7c0, PadLock, NoSuf|RepPrefixOk, {}
// Multy-precision Add Carry, rdseed instructions.
adcx, 0x660f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
adcx, 0x6666, ADX|APX_F|x64, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVex128|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
+adcx, 0x6666, ADX|APX_F|x64, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|VexVVVV|EVex128|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|x64, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVex128|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
+adox, 0xf366, ADX|APX_F|x64, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|VexVVVV|EVex128|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 }
rdseed, 0xfc7/7, RdSeed, Modrm|NoSuf, { Reg16|Reg32|Reg64 }
// SMAP instructions.
diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h
index aee37c3dd7a..880cdbb8807 100644
--- a/opcodes/i386-tbl.h
+++ b/opcodes/i386-tbl.h
@@ -722,6 +722,39 @@ static const insn_template i386_optab[] =
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, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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,
@@ -736,6 +769,15 @@ static const insn_template i386_optab[] =
{ { 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, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -772,6 +814,39 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0 },
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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,
@@ -786,6 +861,15 @@ static const insn_template i386_optab[] =
{ { 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, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -849,6 +933,39 @@ static const insn_template i386_optab[] =
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_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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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,
@@ -948,6 +1065,39 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0 },
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0 },
+ { { 0, 0, 0, 0, 0, 1, 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 } },
+ { { 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, 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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0 },
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 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,
@@ -984,6 +1134,39 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0 },
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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,
@@ -1020,6 +1203,39 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0 },
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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,
@@ -1090,6 +1306,39 @@ static const insn_template i386_optab[] =
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_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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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,
@@ -1097,6 +1346,15 @@ static const insn_template i386_optab[] =
{ { 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1111,6 +1369,15 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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_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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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_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,
@@ -1274,6 +1541,17 @@ static const insn_template i386_optab[] =
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_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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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, 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,
@@ -1380,6 +1658,48 @@ static const insn_template i386_optab[] =
{ { 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1414,6 +1734,48 @@ static const insn_template i386_optab[] =
{ { 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1482,6 +1844,48 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1550,6 +1954,48 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1584,6 +2030,48 @@ static const insn_template i386_optab[] =
{ { 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 2, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1618,6 +2106,48 @@ static const insn_template i386_optab[] =
{ { 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 2, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1652,6 +2182,48 @@ static const insn_template i386_optab[] =
{ { 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 2, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1686,6 +2258,48 @@ static const insn_template i386_optab[] =
{ { 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 0xd0, 2, 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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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_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,
@@ -1717,6 +2331,43 @@ static const insn_template i386_optab[] =
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, 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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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,
@@ -1748,6 +2399,43 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 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, 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, 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, 1, 0, 0, 0, 0, 2, 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, 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_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, 1, 0, 0, 0, 0, 2, 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 } },
+ { { { 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_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,
@@ -4970,6 +5658,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -4979,6 +5678,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -4988,6 +5698,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -4997,6 +5718,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5006,6 +5738,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5015,6 +5758,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5024,6 +5778,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5033,6 +5798,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5042,6 +5818,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5051,6 +5838,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5060,6 +5858,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5069,6 +5878,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5078,6 +5898,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5087,6 +5918,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5096,6 +5938,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5105,6 +5958,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5114,6 +5978,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5123,6 +5998,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5132,6 +6018,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5141,6 +6038,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5150,6 +6058,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5159,6 +6078,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5168,6 +6098,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5177,6 +6118,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5186,6 +6138,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5195,6 +6158,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5204,6 +6178,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5213,6 +6198,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5222,6 +6218,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -5231,6 +6238,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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_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,
@@ -27987,6 +29005,17 @@ static const insn_template i386_optab[] =
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, 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, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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,
@@ -28005,6 +29034,17 @@ static const insn_template i386_optab[] =
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, 1, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 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_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,
@@ -38106,119 +39146,60 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 80,
i386_optab + 81,
i386_optab + 82,
- i386_optab + 86,
- i386_optab + 88,
+ i386_optab + 89,
i386_optab + 92,
- i386_optab + 94,
- i386_optab + 101,
- i386_optab + 105,
- i386_optab + 108,
+ i386_optab + 99,
+ i386_optab + 102,
i386_optab + 112,
i386_optab + 116,
- i386_optab + 120,
- i386_optab + 121,
- i386_optab + 128,
- i386_optab + 129,
- i386_optab + 131,
- i386_optab + 132,
+ i386_optab + 119,
+ i386_optab + 126,
i386_optab + 133,
- i386_optab + 134,
- i386_optab + 135,
- i386_optab + 137,
- i386_optab + 139,
i386_optab + 140,
i386_optab + 141,
- i386_optab + 142,
- i386_optab + 143,
- i386_optab + 144,
- i386_optab + 145,
- i386_optab + 146,
- i386_optab + 147,
- i386_optab + 148,
- i386_optab + 149,
- i386_optab + 150,
i386_optab + 151,
- i386_optab + 152,
+ i386_optab + 153,
+ i386_optab + 156,
+ i386_optab + 157,
i386_optab + 158,
+ i386_optab + 159,
i386_optab + 160,
i386_optab + 162,
+ i386_optab + 164,
+ i386_optab + 165,
i386_optab + 166,
+ i386_optab + 167,
+ i386_optab + 168,
+ i386_optab + 169,
i386_optab + 170,
- i386_optab + 178,
+ i386_optab + 171,
+ i386_optab + 172,
+ i386_optab + 173,
+ i386_optab + 174,
+ i386_optab + 175,
+ i386_optab + 176,
+ i386_optab + 177,
+ i386_optab + 184,
i386_optab + 186,
- i386_optab + 190,
- i386_optab + 194,
- i386_optab + 198,
- i386_optab + 202,
- i386_optab + 205,
- i386_optab + 208,
- i386_optab + 217,
- i386_optab + 220,
+ i386_optab + 188,
+ i386_optab + 196,
+ i386_optab + 204,
+ i386_optab + 216,
i386_optab + 228,
- i386_optab + 231,
- i386_optab + 237,
- i386_optab + 239,
- i386_optab + 241,
- i386_optab + 243,
- i386_optab + 245,
- i386_optab + 246,
- i386_optab + 247,
- i386_optab + 248,
- i386_optab + 249,
- i386_optab + 250,
- i386_optab + 251,
+ i386_optab + 236,
+ i386_optab + 244,
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 + 263,
- i386_optab + 264,
- i386_optab + 265,
i386_optab + 266,
- i386_optab + 267,
- i386_optab + 268,
- i386_optab + 269,
- i386_optab + 270,
- i386_optab + 271,
i386_optab + 272,
- i386_optab + 273,
- i386_optab + 274,
- i386_optab + 275,
- i386_optab + 276,
- i386_optab + 277,
- i386_optab + 278,
- i386_optab + 280,
- i386_optab + 282,
+ i386_optab + 281,
i386_optab + 284,
- i386_optab + 286,
- 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 + 303,
- i386_optab + 304,
i386_optab + 305,
- i386_optab + 306,
i386_optab + 307,
- i386_optab + 308,
i386_optab + 309,
i386_optab + 310,
i386_optab + 311,
@@ -38229,24 +39210,42 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 316,
i386_optab + 317,
i386_optab + 318,
+ i386_optab + 319,
i386_optab + 320,
+ i386_optab + 321,
i386_optab + 322,
+ i386_optab + 323,
i386_optab + 324,
+ i386_optab + 325,
i386_optab + 326,
+ i386_optab + 327,
+ i386_optab + 328,
i386_optab + 329,
+ i386_optab + 330,
+ i386_optab + 331,
i386_optab + 332,
+ i386_optab + 333,
i386_optab + 334,
+ i386_optab + 335,
i386_optab + 336,
+ i386_optab + 337,
+ i386_optab + 338,
i386_optab + 339,
+ i386_optab + 340,
+ i386_optab + 341,
i386_optab + 342,
- i386_optab + 345,
+ i386_optab + 344,
+ i386_optab + 346,
i386_optab + 348,
i386_optab + 350,
- i386_optab + 351,
i386_optab + 352,
+ i386_optab + 353,
i386_optab + 354,
+ i386_optab + 355,
i386_optab + 356,
+ i386_optab + 357,
i386_optab + 358,
+ i386_optab + 359,
i386_optab + 360,
i386_optab + 361,
i386_optab + 362,
@@ -38256,129 +39255,110 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 366,
i386_optab + 367,
i386_optab + 368,
+ i386_optab + 369,
i386_optab + 370,
+ i386_optab + 371,
i386_optab + 372,
+ i386_optab + 373,
i386_optab + 374,
+ i386_optab + 375,
i386_optab + 376,
+ i386_optab + 377,
i386_optab + 378,
+ i386_optab + 379,
i386_optab + 380,
i386_optab + 381,
- i386_optab + 383,
- i386_optab + 385,
- i386_optab + 387,
- i386_optab + 389,
- i386_optab + 391,
+ i386_optab + 382,
+ i386_optab + 384,
+ i386_optab + 386,
+ i386_optab + 388,
+ i386_optab + 390,
i386_optab + 393,
- i386_optab + 395,
- i386_optab + 397,
- i386_optab + 399,
+ i386_optab + 396,
+ i386_optab + 398,
+ i386_optab + 400,
i386_optab + 403,
- i386_optab + 405,
i386_optab + 406,
- i386_optab + 407,
- i386_optab + 408,
- i386_optab + 411,
+ i386_optab + 409,
i386_optab + 412,
+ i386_optab + 414,
+ i386_optab + 415,
i386_optab + 416,
i386_optab + 418,
- i386_optab + 419,
i386_optab + 420,
- i386_optab + 421,
- i386_optab + 423,
+ i386_optab + 422,
+ 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 + 433,
i386_optab + 434,
i386_optab + 436,
i386_optab + 438,
- i386_optab + 439,
i386_optab + 440,
- i386_optab + 441,
i386_optab + 442,
- i386_optab + 443,
i386_optab + 444,
i386_optab + 445,
- i386_optab + 446,
i386_optab + 447,
- i386_optab + 448,
- i386_optab + 452,
+ i386_optab + 449,
+ i386_optab + 451,
i386_optab + 453,
- i386_optab + 456,
+ i386_optab + 455,
+ i386_optab + 457,
+ i386_optab + 459,
i386_optab + 461,
- i386_optab + 462,
- i386_optab + 468,
- i386_optab + 473,
- i386_optab + 474,
+ i386_optab + 463,
+ i386_optab + 467,
+ i386_optab + 469,
+ i386_optab + 470,
+ i386_optab + 471,
+ i386_optab + 472,
+ i386_optab + 475,
+ i386_optab + 476,
i386_optab + 480,
+ i386_optab + 482,
+ i386_optab + 483,
i386_optab + 484,
i386_optab + 485,
- i386_optab + 488,
- i386_optab + 493,
- i386_optab + 494,
+ i386_optab + 487,
+ i386_optab + 491,
+ i386_optab + 492,
+ i386_optab + 496,
+ i386_optab + 497,
+ i386_optab + 498,
i386_optab + 500,
+ 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 + 520,
- i386_optab + 521,
- i386_optab + 522,
- i386_optab + 523,
- i386_optab + 524,
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 + 537,
i386_optab + 538,
- 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,
@@ -38403,11 +39383,7 @@ static const insn_template *const i386_op_sets[] =
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,
@@ -38441,7 +39417,9 @@ static const insn_template *const i386_op_sets[] =
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,
@@ -38495,138 +39473,160 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 691,
i386_optab + 692,
i386_optab + 693,
+ i386_optab + 694,
+ i386_optab + 695,
i386_optab + 696,
+ i386_optab + 697,
+ i386_optab + 698,
i386_optab + 699,
- i386_optab + 702,
+ i386_optab + 700,
+ i386_optab + 701,
+ i386_optab + 703,
i386_optab + 705,
+ i386_optab + 706,
+ i386_optab + 707,
i386_optab + 708,
+ i386_optab + 709,
+ i386_optab + 710,
i386_optab + 711,
i386_optab + 712,
i386_optab + 713,
i386_optab + 714,
i386_optab + 715,
- i386_optab + 716,
i386_optab + 717,
+ i386_optab + 719,
+ i386_optab + 721,
i386_optab + 723,
+ i386_optab + 725,
+ i386_optab + 727,
+ i386_optab + 729,
i386_optab + 731,
- i386_optab + 734,
+ i386_optab + 733,
+ i386_optab + 735,
i386_optab + 737,
- i386_optab + 740,
+ i386_optab + 739,
+ i386_optab + 741,
i386_optab + 743,
- i386_optab + 746,
+ i386_optab + 745,
+ i386_optab + 747,
i386_optab + 749,
- i386_optab + 752,
+ i386_optab + 751,
+ i386_optab + 753,
i386_optab + 755,
- i386_optab + 758,
+ i386_optab + 757,
+ i386_optab + 759,
i386_optab + 761,
- i386_optab + 764,
+ i386_optab + 763,
+ i386_optab + 765,
i386_optab + 767,
- i386_optab + 770,
+ i386_optab + 769,
+ i386_optab + 771,
i386_optab + 773,
+ i386_optab + 775,
i386_optab + 776,
+ i386_optab + 777,
+ i386_optab + 778,
i386_optab + 779,
+ i386_optab + 780,
+ i386_optab + 781,
i386_optab + 782,
+ i386_optab + 783,
+ i386_optab + 784,
i386_optab + 785,
- i386_optab + 788,
- i386_optab + 791,
- i386_optab + 794,
- i386_optab + 797,
- i386_optab + 800,
+ i386_optab + 786,
+ i386_optab + 787,
+ i386_optab + 790,
+ i386_optab + 793,
+ i386_optab + 796,
+ i386_optab + 799,
+ i386_optab + 802,
+ i386_optab + 805,
i386_optab + 806,
- i386_optab + 812,
- i386_optab + 818,
- i386_optab + 824,
- i386_optab + 830,
- i386_optab + 836,
- i386_optab + 842,
- i386_optab + 848,
- i386_optab + 851,
- i386_optab + 854,
- i386_optab + 857,
- i386_optab + 860,
- i386_optab + 863,
- i386_optab + 866,
- i386_optab + 869,
- i386_optab + 872,
- i386_optab + 875,
- i386_optab + 878,
- i386_optab + 881,
- i386_optab + 884,
- i386_optab + 887,
- i386_optab + 890,
- i386_optab + 893,
- i386_optab + 895,
- i386_optab + 897,
- i386_optab + 899,
- i386_optab + 901,
- i386_optab + 903,
- i386_optab + 905,
- i386_optab + 907,
- i386_optab + 909,
- i386_optab + 911,
- i386_optab + 913,
- i386_optab + 915,
- i386_optab + 917,
- i386_optab + 919,
- i386_optab + 921,
- i386_optab + 923,
- i386_optab + 925,
- i386_optab + 927,
- i386_optab + 929,
- i386_optab + 931,
- i386_optab + 933,
- i386_optab + 935,
- i386_optab + 937,
- i386_optab + 939,
- i386_optab + 940,
- i386_optab + 941,
- i386_optab + 947,
- i386_optab + 949,
- i386_optab + 950,
- i386_optab + 952,
+ i386_optab + 807,
+ i386_optab + 808,
+ i386_optab + 809,
+ i386_optab + 810,
+ i386_optab + 811,
+ i386_optab + 817,
+ i386_optab + 825,
+ i386_optab + 828,
+ 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 + 879,
+ i386_optab + 882,
+ i386_optab + 885,
+ i386_optab + 888,
+ i386_optab + 891,
+ i386_optab + 894,
+ i386_optab + 900,
+ i386_optab + 906,
+ i386_optab + 912,
+ i386_optab + 918,
+ i386_optab + 924,
+ i386_optab + 930,
+ i386_optab + 936,
+ i386_optab + 942,
+ i386_optab + 945,
+ i386_optab + 948,
+ i386_optab + 951,
i386_optab + 954,
- i386_optab + 956,
- i386_optab + 958,
- i386_optab + 959,
- i386_optab + 961,
+ i386_optab + 957,
+ i386_optab + 960,
i386_optab + 963,
- i386_optab + 965,
- i386_optab + 967,
+ i386_optab + 966,
i386_optab + 969,
- i386_optab + 971,
- i386_optab + 974,
- i386_optab + 976,
- i386_optab + 979,
+ i386_optab + 972,
+ i386_optab + 975,
+ i386_optab + 978,
i386_optab + 981,
- i386_optab + 983,
i386_optab + 984,
- i386_optab + 986,
+ i386_optab + 987,
i386_optab + 989,
i386_optab + 991,
i386_optab + 993,
i386_optab + 995,
i386_optab + 997,
- i386_optab + 1000,
+ i386_optab + 999,
+ i386_optab + 1001,
i386_optab + 1003,
- i386_optab + 1010,
- i386_optab + 1016,
+ i386_optab + 1005,
+ i386_optab + 1007,
+ i386_optab + 1009,
+ i386_optab + 1011,
+ i386_optab + 1013,
+ i386_optab + 1015,
+ i386_optab + 1017,
i386_optab + 1019,
- i386_optab + 1022,
+ i386_optab + 1021,
+ i386_optab + 1023,
i386_optab + 1025,
- i386_optab + 1028,
+ i386_optab + 1027,
+ i386_optab + 1029,
i386_optab + 1031,
+ i386_optab + 1033,
i386_optab + 1034,
i386_optab + 1035,
- i386_optab + 1036,
- i386_optab + 1037,
- i386_optab + 1038,
i386_optab + 1041,
- i386_optab + 1042,
+ i386_optab + 1043,
i386_optab + 1044,
i386_optab + 1046,
i386_optab + 1048,
i386_optab + 1050,
- i386_optab + 1051,
+ i386_optab + 1052,
i386_optab + 1053,
i386_optab + 1055,
i386_optab + 1057,
@@ -38634,45 +39634,42 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 1061,
i386_optab + 1063,
i386_optab + 1065,
- i386_optab + 1067,
- i386_optab + 1069,
- i386_optab + 1071,
+ i386_optab + 1068,
+ i386_optab + 1070,
i386_optab + 1073,
i386_optab + 1075,
i386_optab + 1077,
- i386_optab + 1079,
- i386_optab + 1081,
+ i386_optab + 1078,
+ i386_optab + 1080,
i386_optab + 1083,
i386_optab + 1085,
i386_optab + 1087,
i386_optab + 1089,
i386_optab + 1091,
- i386_optab + 1093,
- i386_optab + 1095,
+ i386_optab + 1094,
i386_optab + 1097,
- i386_optab + 1099,
- i386_optab + 1101,
- i386_optab + 1103,
- i386_optab + 1105,
- i386_optab + 1107,
- i386_optab + 1109,
- i386_optab + 1111,
+ i386_optab + 1104,
+ i386_optab + 1110,
i386_optab + 1113,
- i386_optab + 1115,
- i386_optab + 1117,
- i386_optab + 1120,
- i386_optab + 1126,
+ i386_optab + 1116,
+ i386_optab + 1119,
+ i386_optab + 1122,
+ i386_optab + 1125,
i386_optab + 1128,
+ i386_optab + 1129,
i386_optab + 1130,
+ i386_optab + 1131,
i386_optab + 1132,
- i386_optab + 1134,
+ i386_optab + 1135,
i386_optab + 1136,
i386_optab + 1138,
i386_optab + 1140,
- i386_optab + 1143,
- i386_optab + 1146,
- i386_optab + 1148,
- i386_optab + 1150,
+ i386_optab + 1142,
+ i386_optab + 1144,
+ i386_optab + 1145,
+ i386_optab + 1147,
+ i386_optab + 1149,
+ i386_optab + 1151,
i386_optab + 1153,
i386_optab + 1155,
i386_optab + 1157,
@@ -38690,13 +39687,12 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 1181,
i386_optab + 1183,
i386_optab + 1185,
- i386_optab + 1186,
- i386_optab + 1188,
- i386_optab + 1190,
- i386_optab + 1192,
- i386_optab + 1194,
- i386_optab + 1196,
- i386_optab + 1198,
+ i386_optab + 1187,
+ i386_optab + 1189,
+ i386_optab + 1191,
+ i386_optab + 1193,
+ i386_optab + 1195,
+ i386_optab + 1197,
i386_optab + 1199,
i386_optab + 1201,
i386_optab + 1203,
@@ -38704,10 +39700,7 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 1207,
i386_optab + 1209,
i386_optab + 1211,
- i386_optab + 1212,
- i386_optab + 1213,
- i386_optab + 1216,
- i386_optab + 1218,
+ i386_optab + 1214,
i386_optab + 1220,
i386_optab + 1222,
i386_optab + 1224,
@@ -38716,116 +39709,115 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 1230,
i386_optab + 1232,
i386_optab + 1234,
- i386_optab + 1236,
- i386_optab + 1238,
+ i386_optab + 1237,
i386_optab + 1240,
i386_optab + 1242,
i386_optab + 1244,
- i386_optab + 1246,
- i386_optab + 1248,
- i386_optab + 1250,
- i386_optab + 1252,
+ i386_optab + 1247,
+ i386_optab + 1249,
+ i386_optab + 1251,
i386_optab + 1253,
- i386_optab + 1254,
+ i386_optab + 1255,
i386_optab + 1257,
i386_optab + 1259,
- i386_optab + 1260,
i386_optab + 1261,
- i386_optab + 1262,
i386_optab + 1263,
- i386_optab + 1264,
i386_optab + 1265,
i386_optab + 1267,
i386_optab + 1269,
- i386_optab + 1270,
i386_optab + 1271,
- i386_optab + 1272,
i386_optab + 1273,
- i386_optab + 1276,
+ i386_optab + 1275,
+ i386_optab + 1277,
i386_optab + 1279,
+ i386_optab + 1280,
i386_optab + 1282,
- i386_optab + 1285,
+ i386_optab + 1284,
+ i386_optab + 1286,
i386_optab + 1288,
- i386_optab + 1291,
- i386_optab + 1294,
+ i386_optab + 1290,
+ i386_optab + 1292,
+ i386_optab + 1293,
+ i386_optab + 1295,
i386_optab + 1297,
- i386_optab + 1300,
+ i386_optab + 1299,
+ i386_optab + 1301,
i386_optab + 1303,
+ i386_optab + 1305,
i386_optab + 1306,
- i386_optab + 1309,
+ i386_optab + 1307,
+ i386_optab + 1310,
i386_optab + 1312,
- i386_optab + 1315,
+ i386_optab + 1314,
+ i386_optab + 1316,
i386_optab + 1318,
- i386_optab + 1321,
+ i386_optab + 1320,
+ i386_optab + 1322,
i386_optab + 1324,
- i386_optab + 1327,
+ i386_optab + 1326,
+ i386_optab + 1328,
i386_optab + 1330,
i386_optab + 1332,
i386_optab + 1334,
+ i386_optab + 1336,
i386_optab + 1338,
+ i386_optab + 1340,
i386_optab + 1342,
i386_optab + 1344,
i386_optab + 1346,
- i386_optab + 1350,
- i386_optab + 1352,
+ i386_optab + 1347,
+ i386_optab + 1348,
+ i386_optab + 1351,
+ i386_optab + 1353,
i386_optab + 1354,
+ i386_optab + 1355,
i386_optab + 1356,
+ i386_optab + 1357,
i386_optab + 1358,
- i386_optab + 1362,
+ i386_optab + 1359,
+ i386_optab + 1361,
+ i386_optab + 1363,
i386_optab + 1364,
+ i386_optab + 1365,
i386_optab + 1366,
+ i386_optab + 1367,
i386_optab + 1370,
- i386_optab + 1372,
- i386_optab + 1374,
+ i386_optab + 1373,
i386_optab + 1376,
- i386_optab + 1380,
+ i386_optab + 1379,
i386_optab + 1382,
- i386_optab + 1384,
- i386_optab + 1386,
+ i386_optab + 1385,
i386_optab + 1388,
- i386_optab + 1390,
- i386_optab + 1392,
+ i386_optab + 1391,
i386_optab + 1394,
- i386_optab + 1396,
- i386_optab + 1398,
+ i386_optab + 1397,
i386_optab + 1400,
- i386_optab + 1402,
- i386_optab + 1404,
+ i386_optab + 1403,
i386_optab + 1406,
- i386_optab + 1408,
- i386_optab + 1410,
+ i386_optab + 1409,
i386_optab + 1412,
- i386_optab + 1414,
- i386_optab + 1416,
+ i386_optab + 1415,
i386_optab + 1418,
- i386_optab + 1420,
- i386_optab + 1422,
+ i386_optab + 1421,
i386_optab + 1424,
i386_optab + 1426,
i386_optab + 1428,
- i386_optab + 1430,
i386_optab + 1432,
- i386_optab + 1434,
i386_optab + 1436,
i386_optab + 1438,
i386_optab + 1440,
i386_optab + 1444,
+ i386_optab + 1446,
i386_optab + 1448,
i386_optab + 1450,
i386_optab + 1452,
i386_optab + 1456,
- i386_optab + 1457,
i386_optab + 1458,
- i386_optab + 1459,
i386_optab + 1460,
- i386_optab + 1461,
- i386_optab + 1462,
- i386_optab + 1463,
i386_optab + 1464,
i386_optab + 1466,
i386_optab + 1468,
i386_optab + 1470,
- i386_optab + 1472,
i386_optab + 1474,
i386_optab + 1476,
i386_optab + 1478,
@@ -38840,65 +39832,66 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 1496,
i386_optab + 1498,
i386_optab + 1500,
- i386_optab + 1501,
i386_optab + 1502,
i386_optab + 1504,
i386_optab + 1506,
i386_optab + 1508,
i386_optab + 1510,
- i386_optab + 1511,
i386_optab + 1512,
- i386_optab + 1513,
i386_optab + 1514,
- i386_optab + 1515,
+ i386_optab + 1516,
i386_optab + 1518,
- 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 + 1520,
+ i386_optab + 1522,
+ i386_optab + 1524,
+ i386_optab + 1526,
+ i386_optab + 1528,
+ i386_optab + 1530,
+ i386_optab + 1532,
+ i386_optab + 1534,
+ i386_optab + 1538,
+ i386_optab + 1542,
+ i386_optab + 1544,
+ i386_optab + 1546,
+ i386_optab + 1550,
i386_optab + 1551,
+ i386_optab + 1552,
i386_optab + 1553,
+ i386_optab + 1554,
i386_optab + 1555,
+ i386_optab + 1556,
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 + 1558,
+ i386_optab + 1560,
+ i386_optab + 1562,
+ i386_optab + 1564,
+ i386_optab + 1566,
+ i386_optab + 1568,
+ i386_optab + 1570,
+ i386_optab + 1572,
+ i386_optab + 1574,
+ i386_optab + 1576,
+ i386_optab + 1578,
+ i386_optab + 1580,
+ i386_optab + 1582,
+ i386_optab + 1584,
+ i386_optab + 1586,
+ i386_optab + 1588,
+ i386_optab + 1590,
+ i386_optab + 1592,
+ i386_optab + 1594,
i386_optab + 1595,
- i386_optab + 1597,
- i386_optab + 1599,
- i386_optab + 1601,
- i386_optab + 1603,
+ i386_optab + 1596,
+ i386_optab + 1598,
+ i386_optab + 1600,
+ i386_optab + 1602,
+ i386_optab + 1604,
i386_optab + 1605,
+ i386_optab + 1606,
i386_optab + 1607,
+ i386_optab + 1608,
i386_optab + 1609,
- i386_optab + 1611,
- i386_optab + 1613,
+ i386_optab + 1612,
i386_optab + 1615,
i386_optab + 1617,
i386_optab + 1619,
@@ -39043,84 +40036,91 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 1897,
i386_optab + 1899,
i386_optab + 1901,
- i386_optab + 1906,
- i386_optab + 1908,
+ i386_optab + 1903,
+ i386_optab + 1905,
+ i386_optab + 1907,
+ i386_optab + 1909,
+ i386_optab + 1911,
i386_optab + 1913,
i386_optab + 1915,
i386_optab + 1917,
- i386_optab + 1922,
- i386_optab + 1924,
- i386_optab + 1926,
- i386_optab + 1928,
+ i386_optab + 1919,
+ i386_optab + 1921,
+ i386_optab + 1923,
+ i386_optab + 1925,
+ i386_optab + 1927,
+ i386_optab + 1929,
+ i386_optab + 1931,
i386_optab + 1933,
i386_optab + 1935,
i386_optab + 1937,
i386_optab + 1939,
+ i386_optab + 1941,
i386_optab + 1943,
+ i386_optab + 1945,
+ i386_optab + 1947,
i386_optab + 1949,
i386_optab + 1951,
- i386_optab + 1956,
- i386_optab + 1958,
- i386_optab + 1960,
- i386_optab + 1962,
- i386_optab + 1964,
- i386_optab + 1966,
- i386_optab + 1968,
- i386_optab + 1970,
- i386_optab + 1972,
- i386_optab + 1974,
+ i386_optab + 1953,
+ i386_optab + 1955,
+ i386_optab + 1957,
+ i386_optab + 1959,
+ i386_optab + 1961,
+ i386_optab + 1963,
+ i386_optab + 1965,
+ i386_optab + 1967,
+ i386_optab + 1969,
+ i386_optab + 1971,
+ i386_optab + 1973,
i386_optab + 1975,
- i386_optab + 1976,
i386_optab + 1977,
+ i386_optab + 1979,
i386_optab + 1981,
- i386_optab + 1982,
i386_optab + 1983,
- i386_optab + 1984,
i386_optab + 1985,
- i386_optab + 1986,
- i386_optab + 1988,
+ i386_optab + 1987,
i386_optab + 1989,
- i386_optab + 1990,
i386_optab + 1991,
i386_optab + 1993,
i386_optab + 1995,
- i386_optab + 1997,
- i386_optab + 1999,
- i386_optab + 2001,
- i386_optab + 2003,
- i386_optab + 2005,
+ i386_optab + 2000,
+ i386_optab + 2002,
i386_optab + 2007,
i386_optab + 2009,
i386_optab + 2011,
- i386_optab + 2013,
- i386_optab + 2015,
+ i386_optab + 2016,
i386_optab + 2018,
+ i386_optab + 2020,
i386_optab + 2022,
- i386_optab + 2023,
- i386_optab + 2024,
- i386_optab + 2026,
- i386_optab + 2030,
- i386_optab + 2034,
- i386_optab + 2036,
- i386_optab + 2040,
- i386_optab + 2044,
+ i386_optab + 2027,
+ i386_optab + 2029,
+ i386_optab + 2031,
+ i386_optab + 2033,
+ i386_optab + 2037,
+ i386_optab + 2043,
i386_optab + 2045,
- i386_optab + 2046,
- i386_optab + 2048,
i386_optab + 2050,
i386_optab + 2052,
i386_optab + 2054,
+ i386_optab + 2056,
+ i386_optab + 2058,
i386_optab + 2060,
+ i386_optab + 2062,
i386_optab + 2064,
+ i386_optab + 2066,
i386_optab + 2068,
+ i386_optab + 2069,
i386_optab + 2070,
- i386_optab + 2072,
- i386_optab + 2074,
+ i386_optab + 2071,
+ i386_optab + 2075,
i386_optab + 2076,
i386_optab + 2077,
+ i386_optab + 2078,
i386_optab + 2079,
- i386_optab + 2081,
+ i386_optab + 2080,
+ i386_optab + 2082,
i386_optab + 2083,
+ i386_optab + 2084,
i386_optab + 2085,
i386_optab + 2087,
i386_optab + 2089,
@@ -39134,47 +40134,42 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 2105,
i386_optab + 2107,
i386_optab + 2109,
- i386_optab + 2111,
- i386_optab + 2113,
- i386_optab + 2115,
+ i386_optab + 2112,
+ i386_optab + 2116,
i386_optab + 2117,
- i386_optab + 2119,
- i386_optab + 2121,
- i386_optab + 2122,
- i386_optab + 2123,
- i386_optab + 2125,
- i386_optab + 2127,
+ i386_optab + 2118,
+ i386_optab + 2120,
+ i386_optab + 2124,
i386_optab + 2128,
- i386_optab + 2129,
- i386_optab + 2132,
- i386_optab + 2135,
+ i386_optab + 2130,
+ i386_optab + 2134,
i386_optab + 2138,
- i386_optab + 2141,
- i386_optab + 2143,
- i386_optab + 2145,
- i386_optab + 2147,
- i386_optab + 2149,
- i386_optab + 2151,
- i386_optab + 2153,
+ i386_optab + 2139,
+ i386_optab + 2140,
+ i386_optab + 2142,
+ i386_optab + 2144,
+ i386_optab + 2146,
+ i386_optab + 2148,
i386_optab + 2154,
- i386_optab + 2155,
- i386_optab + 2156,
- i386_optab + 2160,
+ i386_optab + 2158,
+ i386_optab + 2162,
i386_optab + 2164,
i386_optab + 2166,
i386_optab + 2168,
- i386_optab + 2174,
- i386_optab + 2178,
+ i386_optab + 2170,
+ i386_optab + 2171,
+ i386_optab + 2173,
+ i386_optab + 2175,
+ i386_optab + 2177,
i386_optab + 2179,
- i386_optab + 2180,
i386_optab + 2181,
- i386_optab + 2182,
i386_optab + 2183,
- i386_optab + 2184,
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,
@@ -39185,194 +40180,192 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 2211,
i386_optab + 2213,
i386_optab + 2215,
+ i386_optab + 2216,
i386_optab + 2217,
i386_optab + 2219,
i386_optab + 2221,
+ i386_optab + 2222,
i386_optab + 2223,
- i386_optab + 2225,
i386_optab + 2226,
- i386_optab + 2231,
- i386_optab + 2236,
+ i386_optab + 2229,
+ i386_optab + 2232,
+ i386_optab + 2235,
+ i386_optab + 2237,
+ i386_optab + 2239,
i386_optab + 2241,
- i386_optab + 2246,
- i386_optab + 2251,
- i386_optab + 2256,
- i386_optab + 2261,
- i386_optab + 2266,
- i386_optab + 2271,
+ i386_optab + 2243,
+ i386_optab + 2245,
+ i386_optab + 2247,
+ i386_optab + 2248,
+ i386_optab + 2249,
+ i386_optab + 2250,
+ i386_optab + 2254,
+ i386_optab + 2258,
+ i386_optab + 2260,
+ i386_optab + 2262,
+ i386_optab + 2268,
+ i386_optab + 2272,
+ i386_optab + 2273,
+ i386_optab + 2274,
+ i386_optab + 2275,
i386_optab + 2276,
- i386_optab + 2281,
- i386_optab + 2286,
- i386_optab + 2288,
- i386_optab + 2290,
- i386_optab + 2292,
- i386_optab + 2294,
- i386_optab + 2296,
- i386_optab + 2298,
- i386_optab + 2300,
+ i386_optab + 2277,
+ i386_optab + 2278,
+ i386_optab + 2279,
+ i386_optab + 2283,
+ i386_optab + 2285,
+ i386_optab + 2287,
+ i386_optab + 2291,
+ i386_optab + 2293,
+ i386_optab + 2295,
+ i386_optab + 2297,
+ i386_optab + 2299,
i386_optab + 2301,
i386_optab + 2303,
i386_optab + 2305,
i386_optab + 2307,
i386_optab + 2309,
i386_optab + 2311,
- i386_optab + 2312,
i386_optab + 2313,
- i386_optab + 2314,
- i386_optab + 2318,
- i386_optab + 2322,
- i386_optab + 2324,
- i386_optab + 2328,
- i386_optab + 2332,
- i386_optab + 2336,
+ i386_optab + 2315,
+ i386_optab + 2317,
+ i386_optab + 2319,
+ i386_optab + 2320,
+ i386_optab + 2325,
+ i386_optab + 2330,
+ i386_optab + 2335,
i386_optab + 2340,
- i386_optab + 2344,
- i386_optab + 2346,
+ i386_optab + 2345,
i386_optab + 2350,
- i386_optab + 2352,
- i386_optab + 2354,
- i386_optab + 2356,
- i386_optab + 2358,
+ i386_optab + 2355,
i386_optab + 2360,
- i386_optab + 2362,
- i386_optab + 2364,
- i386_optab + 2366,
- i386_optab + 2367,
- i386_optab + 2369,
- i386_optab + 2371,
- i386_optab + 2373,
+ i386_optab + 2365,
+ i386_optab + 2370,
i386_optab + 2375,
- i386_optab + 2377,
- i386_optab + 2379,
- i386_optab + 2381,
- i386_optab + 2383,
+ i386_optab + 2380,
+ i386_optab + 2382,
i386_optab + 2384,
- i386_optab + 2385,
i386_optab + 2386,
- i386_optab + 2387,
i386_optab + 2388,
- i386_optab + 2389,
i386_optab + 2390,
- i386_optab + 2391,
i386_optab + 2392,
i386_optab + 2394,
- i386_optab + 2396,
- i386_optab + 2398,
- i386_optab + 2400,
- i386_optab + 2402,
- i386_optab + 2404,
+ i386_optab + 2395,
+ i386_optab + 2397,
+ i386_optab + 2399,
+ i386_optab + 2401,
+ i386_optab + 2403,
i386_optab + 2405,
+ i386_optab + 2406,
i386_optab + 2407,
- i386_optab + 2409,
- i386_optab + 2411,
- i386_optab + 2413,
- i386_optab + 2414,
- i386_optab + 2415,
- i386_optab + 2417,
- i386_optab + 2419,
- i386_optab + 2421,
- i386_optab + 2423,
- i386_optab + 2425,
- i386_optab + 2427,
- i386_optab + 2429,
- i386_optab + 2431,
- i386_optab + 2432,
- i386_optab + 2433,
+ i386_optab + 2408,
+ i386_optab + 2412,
+ i386_optab + 2416,
+ i386_optab + 2418,
+ i386_optab + 2422,
+ i386_optab + 2426,
+ i386_optab + 2430,
i386_optab + 2434,
- i386_optab + 2435,
i386_optab + 2438,
- i386_optab + 2441,
+ i386_optab + 2440,
i386_optab + 2444,
- i386_optab + 2447,
+ i386_optab + 2446,
i386_optab + 2448,
i386_optab + 2450,
- i386_optab + 2453,
- i386_optab + 2455,
+ i386_optab + 2452,
+ i386_optab + 2454,
+ i386_optab + 2456,
i386_optab + 2458,
- i386_optab + 2459,
i386_optab + 2460,
- i386_optab + 2462,
- i386_optab + 2464,
- i386_optab + 2466,
- i386_optab + 2468,
- i386_optab + 2470,
- i386_optab + 2472,
- i386_optab + 2474,
+ i386_optab + 2461,
+ i386_optab + 2463,
+ i386_optab + 2465,
+ i386_optab + 2467,
+ i386_optab + 2469,
+ i386_optab + 2471,
+ i386_optab + 2473,
+ i386_optab + 2475,
i386_optab + 2477,
+ i386_optab + 2478,
+ i386_optab + 2479,
+ i386_optab + 2480,
+ i386_optab + 2481,
i386_optab + 2482,
- i386_optab + 2487,
+ i386_optab + 2483,
+ i386_optab + 2484,
+ i386_optab + 2485,
+ i386_optab + 2486,
+ i386_optab + 2488,
+ i386_optab + 2490,
i386_optab + 2492,
- i386_optab + 2497,
- i386_optab + 2500,
+ i386_optab + 2494,
+ i386_optab + 2496,
+ i386_optab + 2498,
+ i386_optab + 2499,
+ i386_optab + 2501,
+ i386_optab + 2503,
i386_optab + 2505,
- i386_optab + 2510,
+ i386_optab + 2507,
+ i386_optab + 2508,
+ i386_optab + 2509,
+ i386_optab + 2511,
i386_optab + 2513,
- i386_optab + 2516,
+ i386_optab + 2515,
+ i386_optab + 2517,
i386_optab + 2519,
- i386_optab + 2522,
+ i386_optab + 2521,
i386_optab + 2523,
- i386_optab + 2524,
+ i386_optab + 2525,
+ i386_optab + 2526,
i386_optab + 2527,
- i386_optab + 2530,
- i386_optab + 2533,
- i386_optab + 2536,
- i386_optab + 2539,
+ i386_optab + 2528,
+ i386_optab + 2529,
+ i386_optab + 2532,
+ i386_optab + 2535,
+ i386_optab + 2538,
i386_optab + 2541,
- i386_optab + 2543,
- i386_optab + 2545,
- i386_optab + 2546,
+ i386_optab + 2542,
+ i386_optab + 2544,
i386_optab + 2547,
- i386_optab + 2548,
i386_optab + 2549,
- i386_optab + 2550,
- i386_optab + 2555,
+ i386_optab + 2552,
+ i386_optab + 2553,
+ 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 + 2571,
i386_optab + 2576,
- i386_optab + 2578,
- i386_optab + 2580,
- i386_optab + 2582,
- i386_optab + 2584,
+ i386_optab + 2581,
i386_optab + 2586,
- i386_optab + 2588,
- i386_optab + 2590,
- i386_optab + 2592,
+ i386_optab + 2591,
i386_optab + 2594,
- i386_optab + 2596,
- i386_optab + 2598,
- i386_optab + 2600,
- i386_optab + 2602,
+ i386_optab + 2599,
i386_optab + 2604,
- i386_optab + 2606,
- i386_optab + 2608,
+ i386_optab + 2607,
i386_optab + 2610,
- i386_optab + 2612,
- i386_optab + 2614,
+ i386_optab + 2613,
i386_optab + 2616,
+ i386_optab + 2617,
i386_optab + 2618,
- i386_optab + 2620,
- i386_optab + 2622,
+ i386_optab + 2621,
i386_optab + 2624,
- i386_optab + 2626,
- i386_optab + 2628,
+ i386_optab + 2627,
i386_optab + 2630,
- i386_optab + 2632,
- i386_optab + 2634,
- i386_optab + 2636,
- i386_optab + 2638,
+ i386_optab + 2633,
+ i386_optab + 2635,
+ i386_optab + 2637,
+ i386_optab + 2639,
i386_optab + 2640,
+ i386_optab + 2641,
i386_optab + 2642,
+ i386_optab + 2643,
i386_optab + 2644,
- i386_optab + 2646,
- i386_optab + 2648,
- i386_optab + 2650,
- i386_optab + 2652,
+ i386_optab + 2649,
i386_optab + 2654,
i386_optab + 2656,
i386_optab + 2658,
@@ -39387,11 +40380,8 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 2676,
i386_optab + 2678,
i386_optab + 2680,
- i386_optab + 2681,
i386_optab + 2682,
- i386_optab + 2683,
i386_optab + 2684,
- i386_optab + 2685,
i386_optab + 2686,
i386_optab + 2688,
i386_optab + 2690,
@@ -39401,77 +40391,41 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 2698,
i386_optab + 2700,
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 + 2770,
- i386_optab + 2771,
i386_optab + 2772,
- i386_optab + 2773,
i386_optab + 2774,
i386_optab + 2775,
i386_optab + 2776,
@@ -39479,26 +40433,20 @@ static const insn_template *const i386_op_sets[] =
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 + 2802,
i386_optab + 2803,
i386_optab + 2804,
i386_optab + 2805,
@@ -39528,9 +40476,13 @@ static const insn_template *const i386_op_sets[] =
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,
@@ -39544,10 +40496,16 @@ static const insn_template *const i386_op_sets[] =
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,
@@ -39580,9 +40538,7 @@ static const insn_template *const i386_op_sets[] =
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,
@@ -39591,27 +40547,30 @@ static const insn_template *const i386_op_sets[] =
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 + 2915,
+ i386_optab + 2916,
i386_optab + 2917,
i386_optab + 2918,
i386_optab + 2919,
+ i386_optab + 2920,
i386_optab + 2921,
+ i386_optab + 2922,
i386_optab + 2923,
i386_optab + 2924,
i386_optab + 2925,
- i386_optab + 2926,
i386_optab + 2927,
- i386_optab + 2928,
i386_optab + 2929,
- i386_optab + 2930,
i386_optab + 2931,
- i386_optab + 2932,
i386_optab + 2933,
i386_optab + 2934,
i386_optab + 2935,
@@ -39621,25 +40580,32 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 2939,
i386_optab + 2940,
i386_optab + 2941,
+ i386_optab + 2942,
i386_optab + 2943,
+ i386_optab + 2944,
i386_optab + 2945,
- i386_optab + 2946,
i386_optab + 2947,
- i386_optab + 2948,
- i386_optab + 2949,
i386_optab + 2950,
- i386_optab + 2951,
- i386_optab + 2953,
- i386_optab + 2955,
+ i386_optab + 2952,
+ i386_optab + 2954,
+ 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,
@@ -39659,20 +40625,23 @@ static const insn_template *const i386_op_sets[] =
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 + 3000,
+ i386_optab + 3002,
+ i386_optab + 3003,
i386_optab + 3004,
- i386_optab + 3005,
i386_optab + 3006,
i386_optab + 3007,
- i386_optab + 3008,
i386_optab + 3009,
- i386_optab + 3010,
i386_optab + 3011,
i386_optab + 3012,
i386_optab + 3013,
- i386_optab + 3014,
i386_optab + 3015,
- i386_optab + 3016,
i386_optab + 3017,
i386_optab + 3018,
i386_optab + 3019,
@@ -39692,11 +40661,7 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3033,
i386_optab + 3034,
i386_optab + 3035,
- i386_optab + 3036,
- i386_optab + 3037,
i386_optab + 3038,
- i386_optab + 3039,
- i386_optab + 3040,
i386_optab + 3041,
i386_optab + 3042,
i386_optab + 3043,
@@ -39704,35 +40669,38 @@ static const insn_template *const i386_op_sets[] =
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 + 3061,
i386_optab + 3063,
i386_optab + 3066,
- i386_optab + 3069,
+ i386_optab + 3068,
+ 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 + 3096,
- i386_optab + 3098,
+ i386_optab + 3094,
+ i386_optab + 3100,
i386_optab + 3101,
i386_optab + 3102,
i386_optab + 3103,
@@ -39787,47 +40755,24 @@ static const insn_template *const i386_op_sets[] =
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 + 3170,
- i386_optab + 3171,
- i386_optab + 3172,
i386_optab + 3173,
- i386_optab + 3174,
- i386_optab + 3175,
i386_optab + 3176,
- i386_optab + 3177,
- i386_optab + 3178,
i386_optab + 3179,
i386_optab + 3180,
- i386_optab + 3181,
- i386_optab + 3182,
i386_optab + 3183,
i386_optab + 3184,
i386_optab + 3185,
i386_optab + 3186,
+ i386_optab + 3187,
i386_optab + 3188,
- i386_optab + 3189,
- i386_optab + 3190,
- i386_optab + 3191,
i386_optab + 3192,
- i386_optab + 3193,
i386_optab + 3194,
- i386_optab + 3195,
- i386_optab + 3196,
i386_optab + 3197,
i386_optab + 3198,
i386_optab + 3199,
@@ -39859,31 +40804,61 @@ static const insn_template *const i386_op_sets[] =
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 + 3282,
- i386_optab + 3283,
i386_optab + 3284,
i386_optab + 3285,
i386_optab + 3286,
@@ -39924,46 +40899,25 @@ static const insn_template *const i386_op_sets[] =
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 + 3345,
- i386_optab + 3351,
- i386_optab + 3352,
+ i386_optab + 3341,
+ i386_optab + 3344,
+ i386_optab + 3347,
+ i386_optab + 3350,
i386_optab + 3353,
- i386_optab + 3354,
- i386_optab + 3355,
i386_optab + 3356,
- i386_optab + 3357,
- 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 + 3375,
i386_optab + 3376,
@@ -40004,8 +40958,14 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3411,
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,
@@ -40020,20 +40980,22 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3433,
i386_optab + 3434,
i386_optab + 3435,
- i386_optab + 3436,
- i386_optab + 3437,
- i386_optab + 3438,
i386_optab + 3441,
- 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,
@@ -40045,7 +41007,9 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3470,
i386_optab + 3471,
i386_optab + 3472,
+ i386_optab + 3473,
i386_optab + 3474,
+ i386_optab + 3475,
i386_optab + 3476,
i386_optab + 3477,
i386_optab + 3478,
@@ -40072,20 +41036,16 @@ static const insn_template *const i386_op_sets[] =
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 + 3518,
i386_optab + 3519,
i386_optab + 3520,
@@ -40099,43 +41059,44 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3528,
i386_optab + 3529,
i386_optab + 3530,
+ i386_optab + 3531,
i386_optab + 3532,
+ i386_optab + 3533,
i386_optab + 3534,
- i386_optab + 3536,
- i386_optab + 3538,
- i386_optab + 3539,
+ i386_optab + 3537,
i386_optab + 3540,
i386_optab + 3541,
i386_optab + 3542,
- i386_optab + 3543,
- i386_optab + 3544,
i386_optab + 3545,
i386_optab + 3546,
i386_optab + 3547,
i386_optab + 3548,
i386_optab + 3549,
- i386_optab + 3550,
- i386_optab + 3551,
i386_optab + 3552,
- i386_optab + 3553,
i386_optab + 3555,
- i386_optab + 3556,
i386_optab + 3558,
+ 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 + 3569,
+ i386_optab + 3568,
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,
@@ -40146,14 +41107,22 @@ static const insn_template *const i386_op_sets[] =
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 + 3599,
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,
@@ -40162,69 +41131,69 @@ static const insn_template *const i386_op_sets[] =
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 + 3627,
+ i386_optab + 3626,
+ i386_optab + 3628,
i386_optab + 3630,
- i386_optab + 3633,
+ i386_optab + 3632,
+ 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 + 3656,
- i386_optab + 3658,
+ i386_optab + 3657,
+ i386_optab + 3659,
i386_optab + 3660,
i386_optab + 3661,
- i386_optab + 3662,
i386_optab + 3663,
i386_optab + 3665,
+ i386_optab + 3666,
i386_optab + 3667,
+ i386_optab + 3668,
i386_optab + 3669,
+ i386_optab + 3670,
i386_optab + 3671,
i386_optab + 3673,
i386_optab + 3675,
i386_optab + 3677,
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 + 3702,
i386_optab + 3703,
- i386_optab + 3704,
i386_optab + 3705,
- i386_optab + 3706,
i386_optab + 3707,
i386_optab + 3708,
i386_optab + 3709,
@@ -40233,33 +41202,21 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3712,
i386_optab + 3713,
i386_optab + 3714,
- i386_optab + 3715,
i386_optab + 3716,
- i386_optab + 3717,
i386_optab + 3718,
i386_optab + 3719,
i386_optab + 3720,
i386_optab + 3721,
- i386_optab + 3722,
i386_optab + 3723,
- i386_optab + 3724,
- i386_optab + 3725,
i386_optab + 3726,
- i386_optab + 3727,
- i386_optab + 3728,
i386_optab + 3729,
- i386_optab + 3730,
- i386_optab + 3731,
i386_optab + 3732,
- i386_optab + 3733,
i386_optab + 3734,
i386_optab + 3735,
i386_optab + 3736,
i386_optab + 3737,
i386_optab + 3738,
- i386_optab + 3739,
i386_optab + 3740,
- i386_optab + 3741,
i386_optab + 3742,
i386_optab + 3743,
i386_optab + 3744,
@@ -40269,34 +41226,21 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3748,
i386_optab + 3749,
i386_optab + 3750,
- i386_optab + 3751,
i386_optab + 3752,
- i386_optab + 3753,
i386_optab + 3754,
- i386_optab + 3755,
i386_optab + 3756,
i386_optab + 3757,
i386_optab + 3758,
i386_optab + 3759,
- i386_optab + 3760,
i386_optab + 3761,
- i386_optab + 3762,
i386_optab + 3763,
- i386_optab + 3764,
i386_optab + 3765,
- i386_optab + 3766,
i386_optab + 3767,
- i386_optab + 3768,
i386_optab + 3769,
- i386_optab + 3770,
i386_optab + 3771,
- i386_optab + 3772,
i386_optab + 3773,
- i386_optab + 3774,
i386_optab + 3775,
- i386_optab + 3776,
i386_optab + 3777,
- i386_optab + 3778,
i386_optab + 3779,
i386_optab + 3780,
i386_optab + 3781,
@@ -40314,55 +41258,88 @@ static const insn_template *const i386_op_sets[] =
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 + 3828,
+ i386_optab + 3829,
i386_optab + 3830,
+ i386_optab + 3831,
+ i386_optab + 3832,
i386_optab + 3833,
+ i386_optab + 3834,
+ i386_optab + 3835,
i386_optab + 3836,
+ i386_optab + 3837,
+ i386_optab + 3838,
i386_optab + 3839,
+ i386_optab + 3840,
+ i386_optab + 3841,
i386_optab + 3842,
i386_optab + 3843,
i386_optab + 3844,
i386_optab + 3845,
i386_optab + 3846,
+ i386_optab + 3847,
i386_optab + 3848,
+ i386_optab + 3849,
i386_optab + 3850,
i386_optab + 3851,
i386_optab + 3852,
i386_optab + 3853,
+ i386_optab + 3854,
+ i386_optab + 3855,
i386_optab + 3856,
+ i386_optab + 3857,
+ i386_optab + 3858,
i386_optab + 3859,
+ i386_optab + 3860,
+ i386_optab + 3861,
i386_optab + 3862,
+ i386_optab + 3863,
+ i386_optab + 3864,
i386_optab + 3865,
+ i386_optab + 3866,
+ i386_optab + 3867,
i386_optab + 3868,
i386_optab + 3869,
i386_optab + 3870,
i386_optab + 3871,
+ i386_optab + 3872,
i386_optab + 3873,
i386_optab + 3874,
i386_optab + 3875,
i386_optab + 3876,
+ i386_optab + 3877,
i386_optab + 3878,
i386_optab + 3879,
i386_optab + 3880,
@@ -40370,46 +41347,109 @@ static const insn_template *const i386_op_sets[] =
i386_optab + 3882,
i386_optab + 3883,
i386_optab + 3884,
+ i386_optab + 3885,
i386_optab + 3886,
+ i386_optab + 3887,
i386_optab + 3888,
+ i386_optab + 3889,
i386_optab + 3890,
- i386_optab + 3892,
+ i386_optab + 3891,
i386_optab + 3894,
+ i386_optab + 3895,
i386_optab + 3896,
- i386_optab + 3898,
+ i386_optab + 3899,
i386_optab + 3900,
- i386_optab + 3902,
+ i386_optab + 3901,
+ i386_optab + 3903,
i386_optab + 3904,
+ i386_optab + 3905,
i386_optab + 3906,
i386_optab + 3908,
+ i386_optab + 3909,
i386_optab + 3910,
- i386_optab + 3912,
+ i386_optab + 3911,
+ i386_optab + 3913,
i386_optab + 3914,
+ i386_optab + 3915,
i386_optab + 3916,
- i386_optab + 3918,
+ i386_optab + 3919,
i386_optab + 3920,
+ i386_optab + 3921,
i386_optab + 3922,
- i386_optab + 3924,
+ i386_optab + 3923,
i386_optab + 3926,
- i386_optab + 3928,
- i386_optab + 3930,
+ i386_optab + 3929,
i386_optab + 3932,
- i386_optab + 3934,
- i386_optab + 3936,
+ i386_optab + 3935,
i386_optab + 3938,
+ i386_optab + 3939,
i386_optab + 3940,
+ i386_optab + 3941,
i386_optab + 3942,
i386_optab + 3944,
- i386_optab + 3945,
i386_optab + 3946,
i386_optab + 3947,
+ i386_optab + 3948,
i386_optab + 3949,
- i386_optab + 3951,
- i386_optab + 3953,
+ i386_optab + 3952,
i386_optab + 3955,
- i386_optab + 3957,
i386_optab + 3958,
- i386_optab + 3959,
+ i386_optab + 3961,
+ i386_optab + 3964,
+ i386_optab + 3965,
+ i386_optab + 3966,
+ i386_optab + 3967,
+ i386_optab + 3969,
+ i386_optab + 3970,
+ i386_optab + 3971,
+ i386_optab + 3972,
+ i386_optab + 3974,
+ i386_optab + 3975,
+ i386_optab + 3976,
+ i386_optab + 3977,
+ i386_optab + 3978,
+ i386_optab + 3979,
+ i386_optab + 3980,
+ i386_optab + 3982,
+ i386_optab + 3984,
+ i386_optab + 3986,
+ i386_optab + 3988,
+ i386_optab + 3990,
+ i386_optab + 3992,
+ i386_optab + 3994,
+ i386_optab + 3996,
+ i386_optab + 3998,
+ i386_optab + 4000,
+ i386_optab + 4002,
+ i386_optab + 4004,
+ i386_optab + 4006,
+ i386_optab + 4008,
+ i386_optab + 4010,
+ i386_optab + 4012,
+ i386_optab + 4014,
+ i386_optab + 4016,
+ i386_optab + 4018,
+ i386_optab + 4020,
+ i386_optab + 4022,
+ i386_optab + 4024,
+ i386_optab + 4026,
+ i386_optab + 4028,
+ i386_optab + 4030,
+ i386_optab + 4032,
+ i386_optab + 4034,
+ i386_optab + 4036,
+ i386_optab + 4038,
+ i386_optab + 4040,
+ i386_optab + 4041,
+ i386_optab + 4042,
+ i386_optab + 4043,
+ i386_optab + 4045,
+ i386_optab + 4047,
+ i386_optab + 4049,
+ i386_optab + 4051,
+ i386_optab + 4053,
+ i386_optab + 4054,
+ i386_optab + 4055,
};
/* i386 mnemonics table. */
--
2.25.1
More information about the Binutils
mailing list