[binutils-gdb] Support APX zero-upper
Lili Cui
cuilili@sourceware.org
Wed May 22 09:11:05 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bbe8d019ed362251ce429585c091a97e19cd0db7
commit bbe8d019ed362251ce429585c091a97e19cd0db7
Author: Cui, Lili <lili.cui@intel.com>
Date: Wed May 22 16:15:47 2024 +0800
Support APX zero-upper
This patch is to enable ZU for IMUL (opcodes 0x69 and 0x6B) and SETcc.
Since the spec only recommends one form of setzu, I won't be adding
set<cc>reg32/reg64 support in this patch.
gas/ChangeLog:
* config/tc-i386.c (build_apx_evex_prefix): Handle ZU.
* testsuite/gas/i386/x86-64.exp: Added new tests for ZU.
* testsuite/gas/i386/x86-64.exp: Added new tests for ZU.
* testsuite/gas/i386/x86-64-apx-zu-intel.d: New test.
* testsuite/gas/i386/x86-64-apx-zu-inval.l: Ditto.
* testsuite/gas/i386/x86-64-apx-zu-inval.s: Ditto.
* testsuite/gas/i386/x86-64-apx-zu.d: Ditto.
* testsuite/gas/i386/x86-64-apx-zu.s: Ditto.
opcodes/ChangeLog:
* i386-dis-evex-prefix.h: Handle PREFIX_EVEX_MAP4_40 ~
PREFIX_EVEX_MAP4_4F.
* i386-dis-evex.h: Ditto.
* i386-dis.c (struct dis386): Add new micro 'ZU'.
(putop): Handle %ZU.
* i386-gen.c: Added ZU.
* i386-opc.h: Ditto.
* i386-opc.tbl: Added new templates to support ZU.
Diff:
---
gas/config/tc-i386.c | 5 +-
gas/testsuite/gas/i386/x86-64-apx-zu-intel.d | 78 +
gas/testsuite/gas/i386/x86-64-apx-zu-inval.l | 25 +
gas/testsuite/gas/i386/x86-64-apx-zu-inval.s | 28 +
gas/testsuite/gas/i386/x86-64-apx-zu.d | 78 +
gas/testsuite/gas/i386/x86-64-apx-zu.s | 73 +
gas/testsuite/gas/i386/x86-64.exp | 3 +
opcodes/i386-dis-evex-prefix.h | 112 +
opcodes/i386-dis-evex.h | 36 +-
opcodes/i386-dis.c | 29 +
opcodes/i386-gen.c | 1 +
opcodes/i386-mnem.h | 3803 +++++------
opcodes/i386-opc.h | 4 +
opcodes/i386-opc.tbl | 6 +
opcodes/i386-tbl.h | 9237 ++++++++++++++------------
15 files changed, 7273 insertions(+), 6245 deletions(-)
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index cb3d464e97a..a84e99977dc 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4285,8 +4285,9 @@ build_apx_evex_prefix (void)
i.vex.bytes[3] &= ~0x08;
/* Encode the NDD bit of the instruction promoted from the legacy
- space. */
- if (i.vex.register_specifier && i.tm.opcode_space == SPACE_EVEXMAP4)
+ space. ZU shares the same bit with NDD. */
+ if ((i.vex.register_specifier && i.tm.opcode_space == SPACE_EVEXMAP4)
+ || i.tm.opcode_modifier.zu)
i.vex.bytes[3] |= 0x10;
/* Encode the NF bit. */
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d b/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d
new file mode 100644
index 00000000000..9b61d50fd2f
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d
@@ -0,0 +1,78 @@
+#as:
+#objdump: -dw -Mintel
+#name: x86-64 APX ZU instructions with evex prefix encoding(Intel disassembly)
+#source: x86-64-apx-zu.s
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 f4 7d 18 6b c3 0a[ ]+imulzu ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 6b 00 0a[ ]+imulzu ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 ec 7d 18 6b c1 0a[ ]+imulzu r16w,r17w,0xa
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 6b 38 0a[ ]+imulzu r31w,WORD PTR \[r16d\],0xa
+\s*[a-f0-9]+:\s*62 4c 7d 18 6b ff 0a[ ]+imulzu r31w,r31w,0xa
+\s*[a-f0-9]+:\s*62 f4 7d 18 69 c3 82 23[ ]+imulzu ax,bx,0x2382
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 69 00 82 23[ ]+imulzu ax,WORD PTR \[eax\],0x2382
+\s*[a-f0-9]+:\s*62 ec 7d 18 69 c1 82 23[ ]+imulzu r16w,r17w,0x2382
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 69 38 82 23[ ]+imulzu r31w,WORD PTR \[r16d\],0x2382
+\s*[a-f0-9]+:\s*62 4c 7d 18 69 ff 82 23[ ]+imulzu r31w,r31w,0x2382
+\s*[a-f0-9]+:\s*62 f4 7d 1c 6b c3 0a[ ]+\{nf\} imulzu ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 1c 6b 00 0a[ ]+\{nf\} imulzu ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 f4 7d 0c 6b c3 0a[ ]+\{nf\} imul ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 0c 6b 00 0a[ ]+\{nf\} imul ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 f4 7d 08 6b c3 0a[ ]+\{evex\} imul ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 08 6b 00 0a[ ]+\{evex\} imul ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 f4 7f 18 41 c0[ ]+setzuno al
+\s*[a-f0-9]+:\s*62 f4 7f 18 42 c3[ ]+setzub bl
+\s*[a-f0-9]+:\s*62 d4 7f 18 43 c0[ ]+setzuae r8b
+\s*[a-f0-9]+:\s*62 d4 7f 18 44 c1[ ]+setzue r9b
+\s*[a-f0-9]+:\s*62 d4 7f 18 45 c2[ ]+setzune r10b
+\s*[a-f0-9]+:\s*62 fc 7f 18 46 c0[ ]+setzube r16b
+\s*[a-f0-9]+:\s*62 fc 7f 18 47 c1[ ]+setzua r17b
+\s*[a-f0-9]+:\s*62 fc 7f 18 48 c2[ ]+setzus r18b
+\s*[a-f0-9]+:\s*62 fc 7f 18 49 c3[ ]+setzuns r19b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4a c4[ ]+setzup r20b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4b c5[ ]+setzunp r21b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4c c6[ ]+setzul r22b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4d c7[ ]+setzuge r23b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4e c0[ ]+setzule r24b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4f c1[ ]+setzug r25b
+\s*[a-f0-9]+:\s*d5 91 9f c1[ ]+setg r25b
+\s*[a-f0-9]+:\s*62 f4 7f 08 4f c0[ ]+\{evex\} setg al
+\s*[a-f0-9]+:\s*62 f4 7d 18 6b c3 0a[ ]+imulzu ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 6b 00 0a[ ]+imulzu ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 ec 7d 18 6b c1 0a[ ]+imulzu r16w,r17w,0xa
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 6b 38 0a[ ]+imulzu r31w,WORD PTR \[r16d\],0xa
+\s*[a-f0-9]+:\s*62 4c 7d 18 6b ff 0a[ ]+imulzu r31w,r31w,0xa
+\s*[a-f0-9]+:\s*62 f4 7d 18 69 c3 82 23[ ]+imulzu ax,bx,0x2382
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 69 00 82 23[ ]+imulzu ax,WORD PTR \[eax\],0x2382
+\s*[a-f0-9]+:\s*62 ec 7d 18 69 c1 82 23[ ]+imulzu r16w,r17w,0x2382
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 69 38 82 23[ ]+imulzu r31w,WORD PTR \[r16d\],0x2382
+\s*[a-f0-9]+:\s*62 4c 7d 18 69 ff 82 23[ ]+imulzu r31w,r31w,0x2382
+\s*[a-f0-9]+:\s*62 f4 7d 1c 6b c3 0a[ ]+\{nf\} imulzu ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 1c 6b 00 0a[ ]+\{nf\} imulzu ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 f4 7d 0c 6b c3 0a[ ]+\{nf\} imul ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 0c 6b 00 0a[ ]+\{nf\} imul ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 f4 7d 08 6b c3 0a[ ]+\{evex\} imul ax,bx,0xa
+\s*[a-f0-9]+:\s*67 62 f4 7d 08 6b 00 0a[ ]+\{evex\} imul ax,WORD PTR \[eax\],0xa
+\s*[a-f0-9]+:\s*62 f4 7f 18 41 c0[ ]+setzuno al
+\s*[a-f0-9]+:\s*62 f4 7f 18 42 c3[ ]+setzub bl
+\s*[a-f0-9]+:\s*62 d4 7f 18 43 c0[ ]+setzuae r8b
+\s*[a-f0-9]+:\s*62 d4 7f 18 44 c1[ ]+setzue r9b
+\s*[a-f0-9]+:\s*62 d4 7f 18 45 c2[ ]+setzune r10b
+\s*[a-f0-9]+:\s*62 fc 7f 18 46 c0[ ]+setzube r16b
+\s*[a-f0-9]+:\s*62 fc 7f 18 47 c1[ ]+setzua r17b
+\s*[a-f0-9]+:\s*62 fc 7f 18 48 c2[ ]+setzus r18b
+\s*[a-f0-9]+:\s*62 fc 7f 18 49 c3[ ]+setzuns r19b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4a c4[ ]+setzup r20b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4b c5[ ]+setzunp r21b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4c c6[ ]+setzul r22b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4d c7[ ]+setzuge r23b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4e c0[ ]+setzule r24b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4f c1[ ]+setzug r25b
+\s*[a-f0-9]+:\s*d5 91 9f c1[ ]+setg r25b
+\s*[a-f0-9]+:\s*62 f4 7f 08 4f c0[ ]+\{evex\} setg al
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu-inval.l b/gas/testsuite/gas/i386/x86-64-apx-zu-inval.l
new file mode 100644
index 00000000000..d97ac7fc9f8
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu-inval.l
@@ -0,0 +1,25 @@
+.* Assembler messages:
+.*:6: Error: invalid instruction suffix for `imulzu'
+.*:7: Error: no such instruction: `imulzud \$0xa,%ebx,%eax'
+.*:8: Error: operand size mismatch for `imulzu'
+.*:9: Error: invalid instruction suffix for `imulzu'
+.*:10: Error: no such instruction: `imulzud \$0xaaaa,%ebx,%eax'
+.*:11: Error: operand size mismatch for `imulzu'
+.*:12: Error: operand size mismatch for `imulzu'
+.*:13: Error: operand size mismatch for `imulzu'
+.*:14: Error: can't encode register '%ah' in an instruction requiring EVEX prefix
+.*:15: Error: operand size mismatch for `setzub'
+.*:16: Error: operand size mismatch for `setzuae'
+.*:17: Error: operand size mismatch for `setzue'
+.*:18: Error: operand size mismatch for `setzune'
+.*:19: Error: operand size mismatch for `setzube'
+.*:20: Error: operand size mismatch for `setzua'
+.*:21: Error: operand size mismatch for `setzus'
+.*:22: Error: operand size mismatch for `setzuns'
+.*:23: Error: operand size mismatch for `setzup'
+.*:24: Error: operand size mismatch for `setzunp'
+.*:25: Error: operand size mismatch for `setzul'
+.*:26: Error: operand size mismatch for `setzuge'
+.*:27: Error: operand size mismatch for `setzule'
+.*:28: Error: operand size mismatch for `setzug'
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu-inval.s b/gas/testsuite/gas/i386/x86-64-apx-zu-inval.s
new file mode 100644
index 00000000000..bd81b41ff3f
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu-inval.s
@@ -0,0 +1,28 @@
+# Check illegal APX-ZU instructions
+
+ .allow_index_reg
+ .text
+_start:
+ imulzub $0xa,%bl,%al
+ imulzud $0xa,%ebx,%eax
+ imulzu $0xa,%rbx,%rax
+ imulzub $0xaaaa,%bl,%al
+ imulzud $0xaaaa,%ebx,%eax
+ imulzu $0xaaaa,%rbx,%rax
+ imulzu $0xaaaa,%ebx,%rax
+ imulzu $0xaaaa,%ebx,%rax
+ setzuno %ah
+ setzub %bx
+ setzuae %r8w
+ setzue %r9
+ setzune %r10d
+ setzube %eax
+ setzua %ebx
+ setzus %r18w
+ setzuns %r19w
+ setzup %r20d
+ setzunp %r21w
+ setzul %r22w
+ setzuge %r23d
+ setzule %r24w
+ setzug %r25w
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu.d b/gas/testsuite/gas/i386/x86-64-apx-zu.d
new file mode 100644
index 00000000000..c6b0cc45d76
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu.d
@@ -0,0 +1,78 @@
+#as:
+#objdump: -dw
+#name: x86-64 APX ZU instructions with evex prefix encoding
+#source: x86-64-apx-zu.s
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+\s*[a-f0-9]+:\s*62 f4 7d 18 6b c3 0a[ ]+imulzu \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 6b 00 0a[ ]+imulzu \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 ec 7d 18 6b c1 0a[ ]+imulzu \$0xa,%r17w,%r16w
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 6b 38 0a[ ]+imulzu \$0xa,\(%r16d\),%r31w
+\s*[a-f0-9]+:\s*62 4c 7d 18 6b ff 0a[ ]+imulzu \$0xa,%r31w,%r31w
+\s*[a-f0-9]+:\s*62 f4 7d 18 69 c3 82 23[ ]+imulzu \$0x2382,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 69 00 82 23[ ]+imulzu \$0x2382,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 ec 7d 18 69 c1 82 23[ ]+imulzu \$0x2382,%r17w,%r16w
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 69 38 82 23[ ]+imulzu \$0x2382,\(%r16d\),%r31w
+\s*[a-f0-9]+:\s*62 4c 7d 18 69 ff 82 23[ ]+imulzu \$0x2382,%r31w,%r31w
+\s*[a-f0-9]+:\s*62 f4 7d 1c 6b c3 0a[ ]+\{nf\} imulzu \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 1c 6b 00 0a[ ]+\{nf\} imulzu \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 f4 7d 0c 6b c3 0a[ ]+\{nf\} imul \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 0c 6b 00 0a[ ]+\{nf\} imul \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 f4 7d 08 6b c3 0a[ ]+\{evex\} imul \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 08 6b 00 0a[ ]+\{evex\} imul \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 f4 7f 18 41 c0[ ]+setzuno %al
+\s*[a-f0-9]+:\s*62 f4 7f 18 42 c3[ ]+setzub %bl
+\s*[a-f0-9]+:\s*62 d4 7f 18 43 c0[ ]+setzuae %r8b
+\s*[a-f0-9]+:\s*62 d4 7f 18 44 c1[ ]+setzue %r9b
+\s*[a-f0-9]+:\s*62 d4 7f 18 45 c2[ ]+setzune %r10b
+\s*[a-f0-9]+:\s*62 fc 7f 18 46 c0[ ]+setzube %r16b
+\s*[a-f0-9]+:\s*62 fc 7f 18 47 c1[ ]+setzua %r17b
+\s*[a-f0-9]+:\s*62 fc 7f 18 48 c2[ ]+setzus %r18b
+\s*[a-f0-9]+:\s*62 fc 7f 18 49 c3[ ]+setzuns %r19b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4a c4[ ]+setzup %r20b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4b c5[ ]+setzunp %r21b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4c c6[ ]+setzul %r22b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4d c7[ ]+setzuge %r23b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4e c0[ ]+setzule %r24b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4f c1[ ]+setzug %r25b
+\s*[a-f0-9]+:\s*d5 91 9f c1[ ]+setg %r25b
+\s*[a-f0-9]+:\s*62 f4 7f 08 4f c0[ ]+\{evex\} setg %al
+\s*[a-f0-9]+:\s*62 f4 7d 18 6b c3 0a[ ]+imulzu \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 6b 00 0a[ ]+imulzu \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 ec 7d 18 6b c1 0a[ ]+imulzu \$0xa,%r17w,%r16w
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 6b 38 0a[ ]+imulzu \$0xa,\(%r16d\),%r31w
+\s*[a-f0-9]+:\s*62 4c 7d 18 6b ff 0a[ ]+imulzu \$0xa,%r31w,%r31w
+\s*[a-f0-9]+:\s*62 f4 7d 18 69 c3 82 23[ ]+imulzu \$0x2382,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 18 69 00 82 23[ ]+imulzu \$0x2382,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 ec 7d 18 69 c1 82 23[ ]+imulzu \$0x2382,%r17w,%r16w
+\s*[a-f0-9]+:\s*67 62 6c 7d 18 69 38 82 23[ ]+imulzu \$0x2382,\(%r16d\),%r31w
+\s*[a-f0-9]+:\s*62 4c 7d 18 69 ff 82 23[ ]+imulzu \$0x2382,%r31w,%r31w
+\s*[a-f0-9]+:\s*62 f4 7d 1c 6b c3 0a[ ]+\{nf\} imulzu \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 1c 6b 00 0a[ ]+\{nf\} imulzu \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 f4 7d 0c 6b c3 0a[ ]+\{nf\} imul \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 0c 6b 00 0a[ ]+\{nf\} imul \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 f4 7d 08 6b c3 0a[ ]+\{evex\} imul \$0xa,%bx,%ax
+\s*[a-f0-9]+:\s*67 62 f4 7d 08 6b 00 0a[ ]+\{evex\} imul \$0xa,\(%eax\),%ax
+\s*[a-f0-9]+:\s*62 f4 7f 18 41 c0[ ]+setzuno %al
+\s*[a-f0-9]+:\s*62 f4 7f 18 42 c3[ ]+setzub %bl
+\s*[a-f0-9]+:\s*62 d4 7f 18 43 c0[ ]+setzuae %r8b
+\s*[a-f0-9]+:\s*62 d4 7f 18 44 c1[ ]+setzue %r9b
+\s*[a-f0-9]+:\s*62 d4 7f 18 45 c2[ ]+setzune %r10b
+\s*[a-f0-9]+:\s*62 fc 7f 18 46 c0[ ]+setzube %r16b
+\s*[a-f0-9]+:\s*62 fc 7f 18 47 c1[ ]+setzua %r17b
+\s*[a-f0-9]+:\s*62 fc 7f 18 48 c2[ ]+setzus %r18b
+\s*[a-f0-9]+:\s*62 fc 7f 18 49 c3[ ]+setzuns %r19b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4a c4[ ]+setzup %r20b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4b c5[ ]+setzunp %r21b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4c c6[ ]+setzul %r22b
+\s*[a-f0-9]+:\s*62 fc 7f 18 4d c7[ ]+setzuge %r23b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4e c0[ ]+setzule %r24b
+\s*[a-f0-9]+:\s*62 dc 7f 18 4f c1[ ]+setzug %r25b
+\s*[a-f0-9]+:\s*d5 91 9f c1[ ]+setg %r25b
+\s*[a-f0-9]+:\s*62 f4 7f 08 4f c0[ ]+\{evex\} setg %al
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu.s b/gas/testsuite/gas/i386/x86-64-apx-zu.s
new file mode 100644
index 00000000000..0c287b8aa89
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu.s
@@ -0,0 +1,73 @@
+# Check 64bit APX ZU instructions with evex prefix encoding
+
+ .allow_index_reg
+ .text
+_start:
+ imulzu $10, %bx, %ax
+ imulzu $10, (%eax), %ax
+ imulzu $10, %r17w, %r16w
+ imulzu $10, (%r16d), %r31w
+ imulzu $10, %r31w
+ imulzu $9090, %bx, %ax
+ imulzu $9090, (%eax), %ax
+ imulzu $9090, %r17w, %r16w
+ imulzu $9090, (%r16d), %r31w
+ imulzu $9090, %r31w
+ {nf} imulzu $10, %bx, %ax
+ {nf} imulzu $10, (%eax), %ax
+ {nf} imul $10, %bx, %ax # ZU=0
+ {nf} imul $10, (%eax), %ax # ZU=0
+ {evex} imul $10, %bx, %ax # ZU=0
+ {evex} imul $10, (%eax), %ax # ZU=0
+ setzuno %al
+ setzub %bl
+ setzuae %r8b
+ setzue %r9b
+ setzune %r10b
+ setzube %r16b
+ setzua %r17b
+ setzus %r18b
+ setzuns %r19b
+ setzup %r20b
+ setzunp %r21b
+ setzul %r22b
+ setzuge %r23b
+ setzule %r24b
+ setzug %r25b
+ setg %r25b
+ {evex} setg %al
+
+ .intel_syntax noprefix
+ imulzu ax,bx, 10
+ imulzu ax,WORD PTR [eax],10
+ imulzu r16w,r17w,10
+ imulzu r31w,WORD PTR [r16d],10
+ imulzu r31w,r31w,10
+ imulzu ax,bx,9090
+ imulzu ax,WORD PTR [eax],9090
+ imulzu r16w,r17w,9090
+ imulzu r31w,WORD PTR [r16d],9090
+ imulzu r31w,r31w,9090
+ {nf} imulzu ax,bx, 10
+ {nf} imulzu ax,WORD PTR [eax],10
+ {nf} imul ax,bx, 10 # ZU=0
+ {nf} imul ax,WORD PTR [eax],10 # ZU=0
+ {evex} imul ax,bx, 10 # ZU=0
+ {evex} imul ax,WORD PTR [eax],10 # ZU=0
+ setzuno al
+ setzub bl
+ setzuae r8b
+ setzue r9b
+ setzune r10b
+ setzube r16b
+ setzua r17b
+ setzus r18b
+ setzuns r19b
+ setzup r20b
+ setzunp r21b
+ setzul r22b
+ setzuge r23b
+ setzule r24b
+ setzug r25b
+ setg r25b
+ {evex} setg al
diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp
index a50865f6b21..ef1ad2dfe8a 100644
--- a/gas/testsuite/gas/i386/x86-64.exp
+++ b/gas/testsuite/gas/i386/x86-64.exp
@@ -389,6 +389,9 @@ run_dump_test "x86-64-apx-jmpabs-intel"
run_dump_test "x86-64-apx-jmpabs-inval"
run_dump_test "x86-64-apx-nf"
run_dump_test "x86-64-apx-nf-intel"
+run_dump_test "x86-64-apx-zu"
+run_dump_test "x86-64-apx-zu-intel"
+run_list_test "x86-64-apx-zu-inval"
run_dump_test "x86-64-apx_f-evex"
run_dump_test "sse2avx-apx"
run_dump_test "sse2avx-evex"
diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h
index 5e6423790b5..947fd868dd6 100644
--- a/opcodes/i386-dis-evex-prefix.h
+++ b/opcodes/i386-dis-evex-prefix.h
@@ -338,6 +338,118 @@
{ "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 },
{ "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 },
},
+ /* PREFIX_EVEX_MAP4_40 */
+ {
+ { "%CFcmovoS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovoS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUo", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_41 */
+ {
+ { "%CFcmovnoS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovnoS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUno", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_42 */
+ {
+ { "%CFcmovbS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovbS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUb", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_43 */
+ {
+ { "%CFcmovaeS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovaeS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUae", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_44 */
+ {
+ { "%CFcmoveS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmoveS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUe", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_45 */
+ {
+ { "%CFcmovneS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovneS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUne", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_46 */
+ {
+ { "%CFcmovbeS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovbeS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUbe", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_47 */
+ {
+ { "%CFcmovaS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovaS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUa", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_48 */
+ {
+ { "%CFcmovsS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovsS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUs", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_49 */
+ {
+ { "%CFcmovnsS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovnsS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUns", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_4A */
+ {
+ { "%CFcmovpS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovpS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUp", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_4B */
+ {
+ { "%CFcmovnpS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovnpS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUnp", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_4C */
+ {
+ { "%CFcmovlS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovlS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUl", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_4D */
+ {
+ { "%CFcmovgeS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovgeS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUge", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_4E */
+ {
+ { "%CFcmovleS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovleS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUle", { Eb }, 0 },
+ },
+ /* PREFIX_EVEX_MAP4_4F */
+ {
+ { "%CFcmovgS", { VexGv, Gv, Ev }, 0 },
+ { Bad_Opcode },
+ { "%CFcmovgS", { VexGv, Gv, Ev }, 0 },
+ { "set%ZUg", { Eb }, 0 },
+ },
/* PREFIX_EVEX_MAP4_F0 */
{
{ "crc32A", { Gdq, Eb }, 0 },
diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h
index b158f2b0b89..ebb3cc20aea 100644
--- a/opcodes/i386-dis-evex.h
+++ b/opcodes/i386-dis-evex.h
@@ -947,23 +947,23 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
/* 40 */
- { "%CFcmovoS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovnoS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovbS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovaeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmoveS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovneS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovbeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovaS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_40) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_41) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_42) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_43) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_44) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_45) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_46) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_47) },
/* 48 */
- { "%CFcmovsS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovnsS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovpS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovnpS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovlS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovgeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovleS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
- { "%CFcmovgS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_48) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_49) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_4A) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_4B) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_4C) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_4D) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_4E) },
+ { PREFIX_TABLE (PREFIX_EVEX_MAP4_4F) },
/* 50 */
{ Bad_Opcode },
{ Bad_Opcode },
@@ -993,9 +993,9 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
/* 68 */
{ Bad_Opcode },
- { "%NFimulS", { Gv, Ev, Iv }, PREFIX_NP_OR_DATA },
+ { "%NFimul%ZUS", { Gv, Ev, Iv }, PREFIX_NP_OR_DATA },
{ Bad_Opcode },
- { "%NFimulS", { Gv, Ev, sIb }, PREFIX_NP_OR_DATA },
+ { "%NFimul%ZUS", { Gv, Ev, sIb }, PREFIX_NP_OR_DATA },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 53f2d6cf6d8..46441974bb8 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -1199,6 +1199,22 @@ enum
PREFIX_EVEX_0F3A67,
PREFIX_EVEX_0F3AC2,
+ PREFIX_EVEX_MAP4_40,
+ PREFIX_EVEX_MAP4_41,
+ PREFIX_EVEX_MAP4_42,
+ PREFIX_EVEX_MAP4_43,
+ PREFIX_EVEX_MAP4_44,
+ PREFIX_EVEX_MAP4_45,
+ PREFIX_EVEX_MAP4_46,
+ PREFIX_EVEX_MAP4_47,
+ PREFIX_EVEX_MAP4_48,
+ PREFIX_EVEX_MAP4_49,
+ PREFIX_EVEX_MAP4_4A,
+ PREFIX_EVEX_MAP4_4B,
+ PREFIX_EVEX_MAP4_4C,
+ PREFIX_EVEX_MAP4_4D,
+ PREFIX_EVEX_MAP4_4E,
+ PREFIX_EVEX_MAP4_4F,
PREFIX_EVEX_MAP4_F0,
PREFIX_EVEX_MAP4_F1,
PREFIX_EVEX_MAP4_F2,
@@ -1816,6 +1832,7 @@ struct dis386 {
instruction.
"NF" => print "{nf} " pseudo prefix when EVEX.NF = 1 and print "{evex} "
pseudo prefix when instructions without NF, EGPR and VVVV,
+ "ZU" => print 'zu' if EVEX.ZU=1.
"YK" keep unused, to avoid ambiguity with the combined use of Y and K.
"YX" keep unused, to avoid ambiguity with the combined use of Y and X.
"LQ" => print 'l' ('d' in Intel mode) or 'q' for memory operand, cond
@@ -10877,6 +10894,18 @@ putop (instr_info *ins, const char *in_template, int sizeflag)
abort ();
}
break;
+ case 'U':
+ if (l == 1 && (last[0] == 'Z'))
+ {
+ /* Although IMUL/SETcc does not support NDD, the EVEX.ND bit is
+ used to control whether its destination register has its upper
+ bits zeroed. */
+ if (ins->vex.nd)
+ oappend (ins, "zu");
+ }
+ else
+ abort ();
+ break;
case 'V':
if (l == 0)
{
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 35e2f27df3b..fb4e78df3a2 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -491,6 +491,7 @@ static bitfield opcode_modifiers[] =
BITFIELD (NoEgpr),
BITFIELD (NF),
BITFIELD (Rex2),
+ BITFIELD (ZU),
};
#define CLASS(n) #n, n
diff --git a/opcodes/i386-mnem.h b/opcodes/i386-mnem.h
index b47db51a692..c2ef4f464f0 100644
--- a/opcodes/i386-mnem.h
+++ b/opcodes/i386-mnem.h
@@ -133,2240 +133,2271 @@ extern const char i386_mnemonics[];
#define MN_ja 0x468
#define MN_jna 0x46b
#define MN_setna 0x46f
+#define MN_setzuna 0x475
#define MN_cmovna (MN_fcmovna + 1)
-#define MN_fcmovna 0x475
-#define MN_popa 0x47d
+#define MN_fcmovna 0x47d
+#define MN_popa 0x485
#define MN_movntdqa (MN_vmovntdqa + 1)
-#define MN_vmovntdqa 0x482
+#define MN_vmovntdqa 0x48a
#define MN_movdqa (MN_vmovdqa + 1)
-#define MN_vmovdqa 0x48c
-#define MN_seta 0x494
-#define MN_prefetchnta 0x499
+#define MN_vmovdqa 0x494
+#define MN_seta 0x49c
+#define MN_prefetchnta 0x4a1
+#define MN_setzua 0x4ad
#define MN_cmova (MN_fcmova + 1)
-#define MN_fcmova 0x4a5
-#define MN_rex_b 0x4ac
-#define MN_ud2b 0x4b2
-#define MN_vpermi2b 0x4b7
-#define MN_vpmovm2b 0x4c0
-#define MN_vpermt2b 0x4c9
-#define MN_movdir64b 0x4d2
-#define MN_cmpxchg16b 0x4dc
-#define MN_cmpxchg8b 0x4e7
-#define MN_vpshab 0x4f1
-#define MN_sbb 0x4f8
+#define MN_fcmova 0x4b4
+#define MN_rex_b 0x4bb
+#define MN_ud2b 0x4c1
+#define MN_vpermi2b 0x4c6
+#define MN_vpmovm2b 0x4cf
+#define MN_vpermt2b 0x4d8
+#define MN_movdir64b 0x4e1
+#define MN_cmpxchg16b 0x4eb
+#define MN_cmpxchg8b 0x4f6
+#define MN_vpshab 0x500
+#define MN_sbb 0x507
#define MN_psubb (MN_vpsubb + 1)
-#define MN_vpsubb 0x4fc
-#define MN_xcrypt_ecb 0x503
-#define MN_xcryptecb 0x50e
-#define MN_llwpcb 0x518
-#define MN_slwpcb 0x51f
-#define MN_kaddb 0x526
+#define MN_vpsubb 0x50b
+#define MN_xcrypt_ecb 0x512
+#define MN_xcryptecb 0x51d
+#define MN_llwpcb 0x527
+#define MN_slwpcb 0x52e
+#define MN_kaddb 0x535
#define MN_paddb (MN_vpaddb + 1)
-#define MN_vpaddb 0x52c
-#define MN_kandb 0x533
-#define MN_vpexpandb 0x539
-#define MN_vpmovusdb 0x543
-#define MN_vpmovsdb 0x54d
-#define MN_vpmovdb 0x556
-#define MN_vpcomgeb 0x55e
-#define MN_vpcomleb 0x567
-#define MN_vpcmpnleb 0x570
-#define MN_vpcmpleb 0x57a
-#define MN_vpcomfalseb 0x583
-#define MN_vpcomtrueb 0x58f
-#define MN_xcrypt_cfb 0x59a
-#define MN_xcryptcfb 0x5a5
-#define MN_xcrypt_ofb 0x5af
-#define MN_xcryptofb 0x5ba
+#define MN_vpaddb 0x53b
+#define MN_kandb 0x542
+#define MN_vpexpandb 0x548
+#define MN_vpmovusdb 0x552
+#define MN_vpmovsdb 0x55c
+#define MN_vpmovdb 0x565
+#define MN_vpcomgeb 0x56d
+#define MN_vpcomleb 0x576
+#define MN_vpcmpnleb 0x57f
+#define MN_vpcmpleb 0x589
+#define MN_vpcomfalseb 0x592
+#define MN_vpcomtrueb 0x59e
+#define MN_xcrypt_cfb 0x5a9
+#define MN_xcryptcfb 0x5b4
+#define MN_xcrypt_ofb 0x5be
+#define MN_xcryptofb 0x5c9
#define MN_pshufb (MN_vpshufb + 1)
-#define MN_vpshufb 0x5c4
-#define MN_invlpgb 0x5cc
+#define MN_vpshufb 0x5d3
+#define MN_invlpgb 0x5db
#define MN_pavgb (MN_vpavgb + 1)
-#define MN_vpavgb 0x5d4
-#define MN_jb 0x5db
-#define MN_pbndkb 0x5de
+#define MN_vpavgb 0x5e3
+#define MN_jb 0x5ea
+#define MN_pbndkb 0x5ed
#define MN_pmovmskb (MN_vpmovmskb + 1)
-#define MN_vpmovmskb 0x5e5
-#define MN_vpshlb 0x5ef
-#define MN_kshiftlb 0x5f6
+#define MN_vpmovmskb 0x5f4
+#define MN_vpshlb 0x5fe
+#define MN_kshiftlb 0x605
#define MN_gf2p8mulb (MN_vgf2p8mulb + 1)
-#define MN_vgf2p8mulb 0x5ff
-#define MN_vpblendmb 0x60a
-#define MN_vptestnmb 0x614
-#define MN_vpcomb 0x61e
-#define MN_vpshufbitqmb 0x625
-#define MN_vpermb 0x632
-#define MN_vptestmb 0x639
-#define MN_kandnb 0x642
+#define MN_vgf2p8mulb 0x60e
+#define MN_vpblendmb 0x619
+#define MN_vptestnmb 0x623
+#define MN_vpcomb 0x62d
+#define MN_vpshufbitqmb 0x634
+#define MN_vpermb 0x641
+#define MN_vptestmb 0x648
+#define MN_kandnb 0x651
#define MN_psignb (MN_vpsignb + 1)
-#define MN_vpsignb 0x649
-#define MN_jnb 0x651
-#define MN_setnb 0x655
+#define MN_vpsignb 0x658
+#define MN_jnb 0x660
+#define MN_setnb 0x664
+#define MN_setzunb 0x66a
#define MN_cmovnb (MN_fcmovnb + 1)
-#define MN_fcmovnb 0x65b
-#define MN_vpcmpb 0x663
-#define MN_vpcomeqb 0x66a
+#define MN_fcmovnb 0x672
+#define MN_vpcmpb 0x67a
+#define MN_vpcomeqb 0x681
#define MN_gf2p8affineqb (MN_vgf2p8affineqb + 1)
-#define MN_vgf2p8affineqb 0x673
-#define MN_vpcomneqb 0x682
-#define MN_vpcmpneqb 0x68c
+#define MN_vgf2p8affineqb 0x68a
+#define MN_vpcomneqb 0x699
+#define MN_vpcmpneqb 0x6a3
#define MN_pcmpeqb (MN_vpcmpeqb + 1)
-#define MN_vpcmpeqb 0x696
-#define MN_vpmovusqb 0x69f
-#define MN_vpmovsqb 0x6a9
-#define MN_vpmultishiftqb 0x6b2
+#define MN_vpcmpeqb 0x6ad
+#define MN_vpmovusqb 0x6b6
+#define MN_vpmovsqb 0x6c0
+#define MN_vpmultishiftqb 0x6c9
#define MN_gf2p8affineinvqb (MN_vgf2p8affineinvqb + 1)
-#define MN_vgf2p8affineinvqb 0x6c1
-#define MN_vpmovqb 0x6d3
-#define MN_rex_rb 0x6db
-#define MN_korb 0x6e2
-#define MN_kxnorb 0x6e7
-#define MN_kxorb 0x6ee
+#define MN_vgf2p8affineinvqb 0x6d8
+#define MN_vpmovqb 0x6ea
+#define MN_rex_rb 0x6f2
+#define MN_korb 0x6f9
+#define MN_kxnorb 0x6fe
+#define MN_kxorb 0x705
#define MN_pinsrb (MN_vpinsrb + 1)
-#define MN_vpinsrb 0x6f4
-#define MN_kshiftrb 0x6fc
+#define MN_vpinsrb 0x70b
+#define MN_kshiftrb 0x713
#define MN_pextrb (MN_vpextrb + 1)
-#define MN_vpextrb 0x705
-#define MN_rex_wrb 0x70d
+#define MN_vpextrb 0x71c
+#define MN_rex_wrb 0x724
#define MN_pabsb (MN_vpabsb + 1)
-#define MN_vpabsb 0x715
+#define MN_vpabsb 0x72c
#define MN_psubsb (MN_vpsubsb + 1)
-#define MN_vpsubsb 0x71c
+#define MN_vpsubsb 0x733
#define MN_paddsb (MN_vpaddsb + 1)
-#define MN_vpaddsb 0x724
+#define MN_vpaddsb 0x73b
#define MN_pminsb (MN_vpminsb + 1)
-#define MN_vpminsb 0x72c
-#define MN_vpcompressb 0x734
+#define MN_vpminsb 0x743
+#define MN_vpcompressb 0x74b
#define MN_psubusb (MN_vpsubusb + 1)
-#define MN_vpsubusb 0x740
+#define MN_vpsubusb 0x757
#define MN_paddusb (MN_vpaddusb + 1)
-#define MN_vpaddusb 0x749
-#define MN_pavgusb 0x752
-#define MN_movsb 0x75a
+#define MN_vpaddusb 0x760
+#define MN_pavgusb 0x769
+#define MN_movsb 0x771
#define MN_pmaxsb (MN_vpmaxsb + 1)
-#define MN_vpmaxsb 0x760
-#define MN_setb 0x768
-#define MN_vpcomgtb 0x76d
+#define MN_vpmaxsb 0x777
+#define MN_setb 0x77f
+#define MN_vpcomgtb 0x784
#define MN_pcmpgtb (MN_vpcmpgtb + 1)
-#define MN_vpcmpgtb 0x776
-#define MN_vpcomltb 0x77f
-#define MN_vpcmpnltb 0x788
-#define MN_vpcmpltb 0x792
-#define MN_vpopcntb 0x79b
-#define MN_knotb 0x7a4
-#define MN_vprotb 0x7aa
-#define MN_vpbroadcastb 0x7b1
-#define MN_ktestb 0x7be
-#define MN_kortestb 0x7c5
-#define MN_vpcomgeub 0x7ce
-#define MN_vpcomleub 0x7d8
-#define MN_vpcmpnleub 0x7e2
-#define MN_vpcmpleub 0x7ed
-#define MN_vpcomfalseub 0x7f7
-#define MN_vpcomtrueub 0x804
-#define MN_vpcomub 0x810
+#define MN_vpcmpgtb 0x78d
+#define MN_vpcomltb 0x796
+#define MN_vpcmpnltb 0x79f
+#define MN_vpcmpltb 0x7a9
+#define MN_vpopcntb 0x7b2
+#define MN_knotb 0x7bb
+#define MN_vprotb 0x7c1
+#define MN_vpbroadcastb 0x7c8
+#define MN_ktestb 0x7d5
+#define MN_kortestb 0x7dc
+#define MN_vpcomgeub 0x7e5
+#define MN_vpcomleub 0x7ef
+#define MN_vpcmpnleub 0x7f9
+#define MN_vpcmpleub 0x804
+#define MN_vpcomfalseub 0x80e
+#define MN_vpcomtrueub 0x81b
+#define MN_vpcomub 0x827
#define MN_pminub (MN_vpminub + 1)
-#define MN_vpminub 0x818
-#define MN_vpcmpub 0x820
-#define MN_vpcomequb 0x828
-#define MN_vpcomnequb 0x832
-#define MN_vpcmpnequb 0x83d
-#define MN_vpcmpequb 0x848
+#define MN_vpminub 0x82f
+#define MN_vpcmpub 0x837
+#define MN_vpcomequb 0x83f
+#define MN_vpcomnequb 0x849
+#define MN_vpcmpnequb 0x854
+#define MN_vpcmpequb 0x85f
#define MN_sub (MN_fsub + 1)
#define MN_fsub (MN_pfsub + 1)
-#define MN_pfsub 0x852
-#define MN_fisub 0x858
-#define MN_vpcomgtub 0x85e
-#define MN_vpcomltub 0x868
-#define MN_vpcmpnltub 0x872
-#define MN_vpcmpltub 0x87d
+#define MN_pfsub 0x869
+#define MN_fisub 0x86f
+#define MN_vpcomgtub 0x875
+#define MN_vpcomltub 0x87f
+#define MN_vpcmpnltub 0x889
+#define MN_vpcmpltub 0x894
#define MN_pmaxub (MN_vpmaxub + 1)
-#define MN_vpmaxub 0x887
+#define MN_vpmaxub 0x89e
+#define MN_setzub 0x8a6
#define MN_pblendvb (MN_vpblendvb + 1)
-#define MN_vpblendvb 0x88f
+#define MN_vpblendvb 0x8ad
#define MN_cmovb (MN_fcmovb + 1)
-#define MN_fcmovb 0x899
-#define MN_kmovb 0x8a0
-#define MN_rex_wb 0x8a6
-#define MN_clwb 0x8ad
+#define MN_fcmovb 0x8b7
+#define MN_kmovb 0x8be
+#define MN_rex_wb 0x8c4
+#define MN_clwb 0x8cb
#define MN_packsswb (MN_vpacksswb + 1)
-#define MN_vpacksswb 0x8b2
+#define MN_vpacksswb 0x8d0
#define MN_packuswb (MN_vpackuswb + 1)
-#define MN_vpackuswb 0x8bc
-#define MN_vpmovuswb 0x8c6
-#define MN_vpmovswb 0x8d0
-#define MN_vpmovwb 0x8d9
-#define MN_rex_xb 0x8e1
-#define MN_rex_rxb 0x8e8
-#define MN_rex_wrxb 0x8f0
-#define MN_rex_wxb 0x8f9
-#define MN_movzb 0x901
-#define MN_clac 0x907
-#define MN_stac 0x90c
-#define MN_xcrypt_cbc 0x911
-#define MN_xcryptcbc 0x91c
-#define MN_pfacc 0x926
-#define MN_pfnacc 0x92c
-#define MN_pfpnacc 0x933
-#define MN_adc 0x93b
+#define MN_vpackuswb 0x8da
+#define MN_vpmovuswb 0x8e4
+#define MN_vpmovswb 0x8ee
+#define MN_vpmovwb 0x8f7
+#define MN_rex_xb 0x8ff
+#define MN_rex_rxb 0x906
+#define MN_rex_wrxb 0x90e
+#define MN_rex_wxb 0x917
+#define MN_movzb 0x91f
+#define MN_clac 0x925
+#define MN_stac 0x92a
+#define MN_xcrypt_cbc 0x92f
+#define MN_xcryptcbc 0x93a
+#define MN_pfacc 0x944
+#define MN_pfnacc 0x94a
+#define MN_pfpnacc 0x951
+#define MN_adc 0x959
#define MN_dec (MN_aesdec + 3)
#define MN_aesdec (MN_vaesdec + 1)
-#define MN_vaesdec 0x93f
-#define MN_getsec 0x947
-#define MN_xsavec 0x94e
-#define MN_blcic 0x955
-#define MN_blsic 0x95b
-#define MN_jc 0x961
-#define MN_t1mskc 0x964
-#define MN_clc 0x96b
-#define MN_cmc 0x96f
+#define MN_vaesdec 0x95d
+#define MN_getsec 0x965
+#define MN_xsavec 0x96c
+#define MN_blcic 0x973
+#define MN_blsic 0x979
+#define MN_jc 0x97f
+#define MN_t1mskc 0x982
+#define MN_clc 0x989
+#define MN_cmc 0x98d
#define MN_aesimc (MN_vaesimc + 1)
-#define MN_vaesimc 0x973
-#define MN_rdpmc 0x97b
+#define MN_vaesimc 0x991
+#define MN_rdpmc 0x999
#define MN_aesenc (MN_vaesenc + 1)
-#define MN_vaesenc 0x981
-#define MN_inc 0x989
-#define MN_jnc 0x98d
-#define MN_setnc 0x991
-#define MN_vmfunc 0x997
-#define MN_cmovnc 0x99e
-#define MN_tlbsync 0x9a5
-#define MN_rdtsc 0x9ad
-#define MN_btc 0x9b3
-#define MN_setc 0x9b7
-#define MN_stc 0x9bc
-#define MN_cmovc 0x9c0
-#define MN_vpermi2d 0x9c6
-#define MN_vpmovm2d 0x9cf
-#define MN_vpermt2d 0x9d8
-#define MN_vpbroadcastmw2d 0x9e1
-#define MN_aad 0x9f1
-#define MN_vmread 0x9f5
-#define MN_vpshad 0x9fc
-#define MN_vmload 0xa03
+#define MN_vaesenc 0x99f
+#define MN_inc 0x9a7
+#define MN_jnc 0x9ab
+#define MN_setnc 0x9af
+#define MN_vmfunc 0x9b5
+#define MN_setzunc 0x9bc
+#define MN_cmovnc 0x9c4
+#define MN_tlbsync 0x9cb
+#define MN_rdtsc 0x9d3
+#define MN_btc 0x9d9
+#define MN_setc 0x9dd
+#define MN_stc 0x9e2
+#define MN_setzuc 0x9e6
+#define MN_cmovc 0x9ed
+#define MN_vpermi2d 0x9f3
+#define MN_vpmovm2d 0x9fc
+#define MN_vpermt2d 0xa05
+#define MN_vpbroadcastmw2d 0xa0e
+#define MN_aad 0xa1e
+#define MN_vmread 0xa22
+#define MN_vpshad 0xa29
+#define MN_vmload 0xa30
#define MN_psrad (MN_vpsrad + 1)
-#define MN_vpsrad 0xa0a
-#define MN_vphaddbd 0xa11
-#define MN_vphaddubd 0xa1a
+#define MN_vpsrad 0xa37
+#define MN_vphaddbd 0xa3e
+#define MN_vphaddubd 0xa47
#define MN_phsubd (MN_vphsubd + 1)
-#define MN_vphsubd 0xa24
+#define MN_vphsubd 0xa51
#define MN_psubd (MN_vpsubd + 1)
-#define MN_vpsubd 0xa2c
+#define MN_vpsubd 0xa59
#define MN_pmovsxbd (MN_vpmovsxbd + 1)
-#define MN_vpmovsxbd 0xa33
+#define MN_vpmovsxbd 0xa60
#define MN_pmovzxbd (MN_vpmovzxbd + 1)
-#define MN_vpmovzxbd 0xa3d
+#define MN_vpmovzxbd 0xa6a
#define MN_add (MN_aadd + 1)
-#define MN_aadd 0xa47
+#define MN_aadd 0xa74
#define MN_fadd (MN_pfadd + 1)
-#define MN_pfadd 0xa4c
-#define MN_fiadd 0xa52
-#define MN_tileloadd 0xa58
+#define MN_pfadd 0xa79
+#define MN_fiadd 0xa7f
+#define MN_tileloadd 0xa85
#define MN_xadd (MN_cmpnaxadd + 5)
-#define MN_cmpnaxadd 0xa62
-#define MN_cmpaxadd 0xa6c
-#define MN_cmpnbxadd 0xa75
-#define MN_cmpbxadd 0xa7f
-#define MN_cmpncxadd 0xa88
-#define MN_cmpcxadd 0xa92
-#define MN_cmpnaexadd 0xa9b
-#define MN_cmpaexadd 0xaa6
-#define MN_cmpnbexadd 0xab0
-#define MN_cmpbexadd 0xabb
-#define MN_cmpngexadd 0xac5
-#define MN_cmpgexadd 0xad0
-#define MN_cmpnlexadd 0xada
-#define MN_cmplexadd 0xae5
-#define MN_cmpnexadd 0xaef
-#define MN_cmpexadd 0xaf9
-#define MN_cmppexadd 0xb02
-#define MN_cmpngxadd 0xb0c
-#define MN_cmpgxadd 0xb16
-#define MN_cmpnlxadd 0xb1f
-#define MN_cmplxadd 0xb29
-#define MN_cmpnoxadd 0xb32
-#define MN_cmpoxadd 0xb3c
-#define MN_cmppoxadd 0xb45
-#define MN_cmpnpxadd 0xb4f
-#define MN_cmppxadd 0xb59
-#define MN_cmpnsxadd 0xb62
-#define MN_cmpsxadd 0xb6c
-#define MN_cmpnzxadd 0xb75
-#define MN_cmpzxadd 0xb7f
+#define MN_cmpnaxadd 0xa8f
+#define MN_cmpaxadd 0xa99
+#define MN_cmpnbxadd 0xaa2
+#define MN_cmpbxadd 0xaac
+#define MN_cmpncxadd 0xab5
+#define MN_cmpcxadd 0xabf
+#define MN_cmpnaexadd 0xac8
+#define MN_cmpaexadd 0xad3
+#define MN_cmpnbexadd 0xadd
+#define MN_cmpbexadd 0xae8
+#define MN_cmpngexadd 0xaf2
+#define MN_cmpgexadd 0xafd
+#define MN_cmpnlexadd 0xb07
+#define MN_cmplexadd 0xb12
+#define MN_cmpnexadd 0xb1c
+#define MN_cmpexadd 0xb26
+#define MN_cmppexadd 0xb2f
+#define MN_cmpngxadd 0xb39
+#define MN_cmpgxadd 0xb43
+#define MN_cmpnlxadd 0xb4c
+#define MN_cmplxadd 0xb56
+#define MN_cmpnoxadd 0xb5f
+#define MN_cmpoxadd 0xb69
+#define MN_cmppoxadd 0xb72
+#define MN_cmpnpxadd 0xb7c
+#define MN_cmppxadd 0xb86
+#define MN_cmpnsxadd 0xb8f
+#define MN_cmpsxadd 0xb99
+#define MN_cmpnzxadd 0xba2
+#define MN_cmpzxadd 0xbac
#define MN_phaddd (MN_vphaddd + 1)
-#define MN_vphaddd 0xb88
-#define MN_kaddd 0xb90
+#define MN_vphaddd 0xbb5
+#define MN_kaddd 0xbbd
#define MN_paddd (MN_vpaddd + 1)
-#define MN_vpaddd 0xb96
-#define MN_vpshldd 0xb9d
-#define MN_kandd 0xba5
-#define MN_vpandd 0xbab
-#define MN_vpexpandd 0xbb2
-#define MN_vpblendd 0xbbc
-#define MN_vpgatherdd 0xbc5
-#define MN_vpscatterdd 0xbd0
-#define MN_vpshrdd 0xbdc
-#define MN_vpmacsdd 0xbe4
-#define MN_vpmacssdd 0xbed
-#define MN_rdseed 0xbf7
-#define MN_vpcomged 0xbfe
-#define MN_vpcomled 0xc07
-#define MN_vpcmpnled 0xc10
-#define MN_vpcmpled 0xc1a
-#define MN_tilestored 0xc23
-#define MN_vpcomfalsed 0xc2e
-#define MN_vpcomtrued 0xc3a
-#define MN_pi2fd 0xc45
+#define MN_vpaddd 0xbc3
+#define MN_vpshldd 0xbca
+#define MN_kandd 0xbd2
+#define MN_vpandd 0xbd8
+#define MN_vpexpandd 0xbdf
+#define MN_vpblendd 0xbe9
+#define MN_vpgatherdd 0xbf2
+#define MN_vpscatterdd 0xbfd
+#define MN_vpshrdd 0xc09
+#define MN_vpmacsdd 0xc11
+#define MN_vpmacssdd 0xc1a
+#define MN_rdseed 0xc24
+#define MN_vpcomged 0xc2b
+#define MN_vpcomled 0xc34
+#define MN_vpcmpnled 0xc3d
+#define MN_vpcmpled 0xc47
+#define MN_tilestored 0xc50
+#define MN_vpcomfalsed 0xc5b
+#define MN_vpcomtrued 0xc67
+#define MN_pi2fd 0xc72
#define MN_pshufd (MN_vpshufd + 1)
-#define MN_vpshufd 0xc4b
-#define MN_vpternlogd 0xc53
-#define MN_pf2id 0xc5e
-#define MN_invpcid 0xc64
-#define MN_rdpid 0xc6c
-#define MN_invvpid 0xc72
-#define MN_cpuid 0xc7a
-#define MN_fbld 0xc80
-#define MN_cld 0xc85
-#define MN_fld 0xc89
+#define MN_vpshufd 0xc78
+#define MN_vpternlogd 0xc80
+#define MN_pf2id 0xc8b
+#define MN_invpcid 0xc91
+#define MN_rdpid 0xc99
+#define MN_invvpid 0xc9f
+#define MN_cpuid 0xca7
+#define MN_fbld 0xcad
+#define MN_cld 0xcb2
+#define MN_fld 0xcb6
#define MN_shld (MN_vpshld + 2)
-#define MN_vpshld 0xc8d
-#define MN_fild 0xc94
+#define MN_vpshld 0xcba
+#define MN_fild 0xcc1
#define MN_pslld (MN_vpslld + 1)
-#define MN_vpslld 0xc99
+#define MN_vpslld 0xcc6
#define MN_pmulld (MN_vpmulld + 1)
-#define MN_vpmulld 0xca0
-#define MN_vprold 0xca8
+#define MN_vpmulld 0xccd
+#define MN_vprold 0xcd5
#define MN_psrld (MN_vpsrld + 1)
-#define MN_vpsrld 0xcaf
-#define MN_vmptrld 0xcb6
-#define MN_kshiftld 0xcbe
-#define MN_enqcmd 0xcc7
-#define MN_vpblendmd 0xcce
-#define MN_vptestnmd 0xcd8
-#define MN_vpcomd 0xce2
-#define MN_vpermd 0xce9
-#define MN_vptestmd 0xcf0
+#define MN_vpsrld 0xcdc
+#define MN_vmptrld 0xce3
+#define MN_kshiftld 0xceb
+#define MN_enqcmd 0xcf4
+#define MN_vpblendmd 0xcfb
+#define MN_vptestnmd 0xd05
+#define MN_vpcomd 0xd0f
+#define MN_vpermd 0xd16
+#define MN_vptestmd 0xd1d
#define MN_and (MN_aand + 1)
-#define MN_aand 0xcf9
+#define MN_aand 0xd26
#define MN_pand (MN_vpand + 1)
-#define MN_vpand 0xcfe
-#define MN_rdrand 0xd04
-#define MN_bnd 0xd0b
-#define MN_kandnd 0xd0f
-#define MN_vpandnd 0xd16
-#define MN_xend 0xd1e
-#define MN_valignd 0xd23
+#define MN_vpand 0xd2b
+#define MN_rdrand 0xd31
+#define MN_bnd 0xd38
+#define MN_kandnd 0xd3c
+#define MN_vpandnd 0xd43
+#define MN_xend 0xd4b
+#define MN_valignd 0xd50
#define MN_psignd (MN_vpsignd + 1)
-#define MN_vpsignd 0xd2b
-#define MN_bound 0xd33
-#define MN_slod 0xd39
-#define MN_vfmaddsub231pd 0xd3e
-#define MN_vfmsub231pd 0xd4d
-#define MN_vfnmsub231pd 0xd59
-#define MN_vfmsubadd231pd 0xd66
-#define MN_vfmadd231pd 0xd75
-#define MN_vfnmadd231pd 0xd81
-#define MN_vfmaddsub132pd 0xd8e
-#define MN_vfmsub132pd 0xd9d
-#define MN_vfnmsub132pd 0xda9
-#define MN_vfmsubadd132pd 0xdb6
-#define MN_vfmadd132pd 0xdc5
-#define MN_vfnmadd132pd 0xdd1
-#define MN_vcvtph2pd 0xdde
-#define MN_vpermi2pd 0xde8
-#define MN_cvtpi2pd 0xdf2
-#define MN_vpermil2pd 0xdfb
-#define MN_vexp2pd 0xe06
+#define MN_vpsignd 0xd58
+#define MN_bound 0xd60
+#define MN_slod 0xd66
+#define MN_vfmaddsub231pd 0xd6b
+#define MN_vfmsub231pd 0xd7a
+#define MN_vfnmsub231pd 0xd86
+#define MN_vfmsubadd231pd 0xd93
+#define MN_vfmadd231pd 0xda2
+#define MN_vfnmadd231pd 0xdae
+#define MN_vfmaddsub132pd 0xdbb
+#define MN_vfmsub132pd 0xdca
+#define MN_vfnmsub132pd 0xdd6
+#define MN_vfmsubadd132pd 0xde3
+#define MN_vfmadd132pd 0xdf2
+#define MN_vfnmadd132pd 0xdfe
+#define MN_vcvtph2pd 0xe0b
+#define MN_vpermi2pd 0xe15
+#define MN_cvtpi2pd 0xe1f
+#define MN_vpermil2pd 0xe28
+#define MN_vexp2pd 0xe33
#define MN_cvtdq2pd (MN_vcvtdq2pd + 1)
-#define MN_vcvtdq2pd 0xe0e
-#define MN_vcvtudq2pd 0xe18
-#define MN_vcvtqq2pd 0xe23
-#define MN_vcvtuqq2pd 0xe2d
+#define MN_vcvtdq2pd 0xe3b
+#define MN_vcvtudq2pd 0xe45
+#define MN_vcvtqq2pd 0xe50
+#define MN_vcvtuqq2pd 0xe5a
#define MN_cvtps2pd (MN_vcvtps2pd + 1)
-#define MN_vcvtps2pd 0xe38
-#define MN_vpermt2pd 0xe42
-#define MN_vfmaddsub213pd 0xe4c
-#define MN_vfmsub213pd 0xe5b
-#define MN_vfnmsub213pd 0xe67
-#define MN_vfmsubadd213pd 0xe74
-#define MN_vfmadd213pd 0xe83
-#define MN_vfnmadd213pd 0xe8f
-#define MN_vrcp14pd 0xe9c
-#define MN_vrsqrt14pd 0xea5
-#define MN_vrcp28pd 0xeb0
-#define MN_vrsqrt28pd 0xeb9
+#define MN_vcvtps2pd 0xe65
+#define MN_vpermt2pd 0xe6f
+#define MN_vfmaddsub213pd 0xe79
+#define MN_vfmsub213pd 0xe88
+#define MN_vfnmsub213pd 0xe94
+#define MN_vfmsubadd213pd 0xea1
+#define MN_vfmadd213pd 0xeb0
+#define MN_vfnmadd213pd 0xebc
+#define MN_vrcp14pd 0xec9
+#define MN_vrsqrt14pd 0xed2
+#define MN_vrcp28pd 0xedd
+#define MN_vrsqrt28pd 0xee6
#define MN_movapd (MN_vmovapd + 1)
-#define MN_vmovapd 0xec4
-#define MN_pswapd 0xecc
+#define MN_vmovapd 0xef1
+#define MN_pswapd 0xef9
#define MN_subpd (MN_addsubpd + 3)
#define MN_addsubpd (MN_vfmaddsubpd + 3)
-#define MN_vfmaddsubpd 0xed3
-#define MN_vaddsubpd 0xedf
+#define MN_vfmaddsubpd 0xf00
+#define MN_vaddsubpd 0xf0c
#define MN_hsubpd (MN_vhsubpd + 1)
-#define MN_vhsubpd 0xee9
-#define MN_vfmsubpd 0xef1
-#define MN_vfnmsubpd 0xefa
-#define MN_vsubpd 0xf04
-#define MN_vgatherpf0dpd 0xf0b
-#define MN_vscatterpf0dpd 0xf19
-#define MN_vgatherpf1dpd 0xf28
-#define MN_vscatterpf1dpd 0xf36
+#define MN_vhsubpd 0xf16
+#define MN_vfmsubpd 0xf1e
+#define MN_vfnmsubpd 0xf27
+#define MN_vsubpd 0xf31
+#define MN_vgatherpf0dpd 0xf38
+#define MN_vscatterpf0dpd 0xf46
+#define MN_vgatherpf1dpd 0xf55
+#define MN_vscatterpf1dpd 0xf63
#define MN_addpd (MN_vfmsubaddpd + 6)
-#define MN_vfmsubaddpd 0xf45
+#define MN_vfmsubaddpd 0xf72
#define MN_haddpd (MN_vhaddpd + 1)
-#define MN_vhaddpd 0xf51
-#define MN_vfmaddpd 0xf59
-#define MN_vfnmaddpd 0xf62
-#define MN_vaddpd 0xf6c
+#define MN_vhaddpd 0xf7e
+#define MN_vfmaddpd 0xf86
+#define MN_vfnmaddpd 0xf8f
+#define MN_vaddpd 0xf99
#define MN_andpd (MN_vexpandpd + 4)
-#define MN_vexpandpd 0xf73
-#define MN_vandpd 0xf7d
+#define MN_vexpandpd 0xfa0
+#define MN_vandpd 0xfaa
#define MN_blendpd (MN_vblendpd + 1)
-#define MN_vblendpd 0xf84
+#define MN_vblendpd 0xfb1
#define MN_roundpd (MN_vroundpd + 1)
-#define MN_vroundpd 0xf8d
-#define MN_vgatherdpd 0xf96
-#define MN_vscatterdpd 0xfa1
+#define MN_vroundpd 0xfba
+#define MN_vgatherdpd 0xfc3
+#define MN_vscatterdpd 0xfce
#define MN_cmpunordpd (MN_vcmpunordpd + 1)
-#define MN_vcmpunordpd 0xfad
+#define MN_vcmpunordpd 0xfda
#define MN_cmpordpd (MN_vcmpordpd + 1)
-#define MN_vcmpordpd 0xfb9
-#define MN_vreducepd 0xfc3
-#define MN_vrangepd 0xfcd
-#define MN_vcmpngepd 0xfd6
-#define MN_vcmpgepd 0xfe0
-#define MN_vrndscalepd 0xfe9
+#define MN_vcmpordpd 0xfe6
+#define MN_vreducepd 0xff0
+#define MN_vrangepd 0xffa
+#define MN_vcmpngepd 0x1003
+#define MN_vcmpgepd 0x100d
+#define MN_vrndscalepd 0x1016
#define MN_cmpnlepd (MN_vcmpnlepd + 1)
-#define MN_vcmpnlepd 0xff5
+#define MN_vcmpnlepd 0x1022
#define MN_cmplepd (MN_vcmplepd + 1)
-#define MN_vcmplepd 0xfff
-#define MN_vcmpfalsepd 0x1008
-#define MN_vcmptruepd 0x1014
-#define MN_vscalefpd 0x101f
+#define MN_vcmplepd 0x102c
+#define MN_vcmpfalsepd 0x1035
+#define MN_vcmptruepd 0x1041
+#define MN_vscalefpd 0x104c
#define MN_shufpd (MN_vshufpd + 1)
-#define MN_vshufpd 0x1029
+#define MN_vshufpd 0x1056
#define MN_unpckhpd (MN_vunpckhpd + 1)
-#define MN_vunpckhpd 0x1031
+#define MN_vunpckhpd 0x105e
#define MN_movhpd (MN_vmovhpd + 1)
-#define MN_vmovhpd 0x103b
+#define MN_vmovhpd 0x1068
#define MN_movmskpd (MN_vmovmskpd + 1)
-#define MN_vmovmskpd 0x1043
-#define MN_vpermilpd 0x104d
+#define MN_vmovmskpd 0x1070
+#define MN_vpermilpd 0x107a
#define MN_unpcklpd (MN_vunpcklpd + 1)
-#define MN_vunpcklpd 0x1057
+#define MN_vunpcklpd 0x1084
#define MN_mulpd (MN_vmulpd + 1)
-#define MN_vmulpd 0x1061
+#define MN_vmulpd 0x108e
#define MN_movlpd (MN_vmovlpd + 1)
-#define MN_vmovlpd 0x1068
-#define MN_vpcmpd 0x1070
-#define MN_vblendmpd 0x1077
-#define MN_vfixupimmpd 0x1081
-#define MN_vpermpd 0x108d
+#define MN_vmovlpd 0x1095
+#define MN_vpcmpd 0x109d
+#define MN_vblendmpd 0x10a4
+#define MN_vfixupimmpd 0x10ae
+#define MN_vpermpd 0x10ba
#define MN_andnpd (MN_vandnpd + 1)
-#define MN_vandnpd 0x1095
+#define MN_vandnpd 0x10c2
#define MN_minpd (MN_vminpd + 1)
-#define MN_vminpd 0x109d
+#define MN_vminpd 0x10ca
#define MN_dppd (MN_vdppd + 1)
-#define MN_vdppd 0x10a4
+#define MN_vdppd 0x10d1
#define MN_cmppd (MN_vcmppd + 1)
-#define MN_vcmppd 0x10aa
-#define MN_vgetexppd 0x10b1
-#define MN_vgatherpf0qpd 0x10bb
-#define MN_vscatterpf0qpd 0x10c9
-#define MN_vgatherpf1qpd 0x10d8
-#define MN_vscatterpf1qpd 0x10e6
-#define MN_vcmpunord_qpd 0x10f5
-#define MN_vcmpord_qpd 0x1103
+#define MN_vcmppd 0x10d7
+#define MN_vgetexppd 0x10de
+#define MN_vgatherpf0qpd 0x10e8
+#define MN_vscatterpf0qpd 0x10f6
+#define MN_vgatherpf1qpd 0x1105
+#define MN_vscatterpf1qpd 0x1113
+#define MN_vcmpunord_qpd 0x1122
+#define MN_vcmpord_qpd 0x1130
#define MN_cmpneqpd (MN_vcmpneqpd + 1)
-#define MN_vcmpneqpd 0x110f
+#define MN_vcmpneqpd 0x113c
#define MN_cmpeqpd (MN_vcmpeqpd + 1)
-#define MN_vcmpeqpd 0x1119
-#define MN_vcmpge_oqpd 0x1122
-#define MN_vcmple_oqpd 0x112e
-#define MN_vcmpfalse_oqpd 0x113a
-#define MN_vcmpneq_oqpd 0x1149
-#define MN_vcmpeq_oqpd 0x1156
-#define MN_vcmpgt_oqpd 0x1162
-#define MN_vcmplt_oqpd 0x116e
-#define MN_vgatherqpd 0x117a
-#define MN_vscatterqpd 0x1185
-#define MN_vcmpnge_uqpd 0x1191
-#define MN_vcmpnle_uqpd 0x119e
-#define MN_vcmptrue_uqpd 0x11ab
-#define MN_vcmpneq_uqpd 0x11b9
-#define MN_vcmpeq_uqpd 0x11c6
-#define MN_vcmpngt_uqpd 0x11d2
-#define MN_vcmpnlt_uqpd 0x11df
+#define MN_vcmpeqpd 0x1146
+#define MN_vcmpge_oqpd 0x114f
+#define MN_vcmple_oqpd 0x115b
+#define MN_vcmpfalse_oqpd 0x1167
+#define MN_vcmpneq_oqpd 0x1176
+#define MN_vcmpeq_oqpd 0x1183
+#define MN_vcmpgt_oqpd 0x118f
+#define MN_vcmplt_oqpd 0x119b
+#define MN_vgatherqpd 0x11a7
+#define MN_vscatterqpd 0x11b2
+#define MN_vcmpnge_uqpd 0x11be
+#define MN_vcmpnle_uqpd 0x11cb
+#define MN_vcmptrue_uqpd 0x11d8
+#define MN_vcmpneq_uqpd 0x11e6
+#define MN_vcmpeq_uqpd 0x11f3
+#define MN_vcmpngt_uqpd 0x11ff
+#define MN_vcmpnlt_uqpd 0x120c
#define MN_orpd (MN_vorpd + 1)
-#define MN_vorpd 0x11ec
+#define MN_vorpd 0x1219
#define MN_xorpd (MN_vxorpd + 1)
-#define MN_vxorpd 0x11f2
-#define MN_vcmpunord_spd 0x11f9
-#define MN_vcmpord_spd 0x1207
-#define MN_vcmpge_ospd 0x1213
-#define MN_vcmple_ospd 0x121f
-#define MN_vcmpfalse_ospd 0x122b
-#define MN_vcmpneq_ospd 0x123a
-#define MN_vcmpeq_ospd 0x1247
-#define MN_vcmpgt_ospd 0x1253
-#define MN_vcmplt_ospd 0x125f
-#define MN_vfpclasspd 0x126b
-#define MN_incsspd 0x1276
-#define MN_rdsspd 0x127e
-#define MN_vcompresspd 0x1285
-#define MN_vcmpnge_uspd 0x1291
-#define MN_vcmpnle_uspd 0x129e
-#define MN_vcmptrue_uspd 0x12ab
-#define MN_vcmpneq_uspd 0x12b9
-#define MN_vcmpeq_uspd 0x12c6
-#define MN_vcmpngt_uspd 0x12d2
-#define MN_vcmpnlt_uspd 0x12df
-#define MN_vcmpngtpd 0x12ec
-#define MN_vcmpgtpd 0x12f6
+#define MN_vxorpd 0x121f
+#define MN_vcmpunord_spd 0x1226
+#define MN_vcmpord_spd 0x1234
+#define MN_vcmpge_ospd 0x1240
+#define MN_vcmple_ospd 0x124c
+#define MN_vcmpfalse_ospd 0x1258
+#define MN_vcmpneq_ospd 0x1267
+#define MN_vcmpeq_ospd 0x1274
+#define MN_vcmpgt_ospd 0x1280
+#define MN_vcmplt_ospd 0x128c
+#define MN_vfpclasspd 0x1298
+#define MN_incsspd 0x12a3
+#define MN_rdsspd 0x12ab
+#define MN_vcompresspd 0x12b2
+#define MN_vcmpnge_uspd 0x12be
+#define MN_vcmpnle_uspd 0x12cb
+#define MN_vcmptrue_uspd 0x12d8
+#define MN_vcmpneq_uspd 0x12e6
+#define MN_vcmpeq_uspd 0x12f3
+#define MN_vcmpngt_uspd 0x12ff
+#define MN_vcmpnlt_uspd 0x130c
+#define MN_vcmpngtpd 0x1319
+#define MN_vcmpgtpd 0x1323
#define MN_cmpnltpd (MN_vcmpnltpd + 1)
-#define MN_vcmpnltpd 0x12ff
+#define MN_vcmpnltpd 0x132c
#define MN_cmpltpd (MN_vcmpltpd + 1)
-#define MN_vcmpltpd 0x1309
-#define MN_vgetmantpd 0x1312
+#define MN_vcmpltpd 0x1336
+#define MN_vgetmantpd 0x133f
#define MN_movntpd (MN_vmovntpd + 1)
-#define MN_vmovntpd 0x131d
+#define MN_vmovntpd 0x134a
#define MN_sqrtpd (MN_vsqrtpd + 1)
-#define MN_vsqrtpd 0x1326
-#define MN_vtestpd 0x132e
+#define MN_vsqrtpd 0x1353
+#define MN_vtestpd 0x135b
#define MN_movupd (MN_vmovupd + 1)
-#define MN_vmovupd 0x1336
+#define MN_vmovupd 0x1363
#define MN_blendvpd (MN_vblendvpd + 1)
-#define MN_vblendvpd 0x133e
+#define MN_vblendvpd 0x136b
#define MN_divpd (MN_vdivpd + 1)
-#define MN_vdivpd 0x1348
-#define MN_vmaskmovpd 0x134f
+#define MN_vdivpd 0x1375
+#define MN_vmaskmovpd 0x137c
#define MN_maxpd (MN_vmaxpd + 1)
-#define MN_vmaxpd 0x135a
-#define MN_vfrczpd 0x1361
-#define MN_vpcomeqd 0x1369
-#define MN_vpcomneqd 0x1372
-#define MN_vpcmpneqd 0x137c
+#define MN_vmaxpd 0x1387
+#define MN_vfrczpd 0x138e
+#define MN_vpcomeqd 0x1396
+#define MN_vpcomneqd 0x139f
+#define MN_vpcmpneqd 0x13a9
#define MN_pcmpeqd (MN_vpcmpeqd + 1)
-#define MN_vpcmpeqd 0x1386
-#define MN_vpgatherqd 0x138f
-#define MN_vpscatterqd 0x139a
-#define MN_vpmovusqd 0x13a6
-#define MN_vpmovsqd 0x13b0
-#define MN_vpmovqd 0x13b9
-#define MN_shrd 0x13c1
-#define MN_kord 0x13c6
-#define MN_kxnord 0x13cb
-#define MN_vpord 0x13d2
-#define MN_vprord 0x13d8
+#define MN_vpcmpeqd 0x13b3
+#define MN_vpgatherqd 0x13bc
+#define MN_vpscatterqd 0x13c7
+#define MN_vpmovusqd 0x13d3
+#define MN_vpmovsqd 0x13dd
+#define MN_vpmovqd 0x13e6
+#define MN_shrd 0x13ee
+#define MN_kord 0x13f3
+#define MN_kxnord 0x13f8
+#define MN_vpord 0x13ff
+#define MN_vprord 0x1405
#define MN_word (MN_aword + 1)
-#define MN_aword 0x13df
+#define MN_aword 0x140c
#define MN_dword (MN_adword + 1)
-#define MN_adword 0x13e5
-#define MN_kxord 0x13ec
-#define MN_vpxord 0x13f2
+#define MN_adword 0x1412
+#define MN_kxord 0x1419
+#define MN_vpxord 0x141f
#define MN_pinsrd (MN_vpinsrd + 1)
-#define MN_vpinsrd 0x13f9
-#define MN_kshiftrd 0x1401
+#define MN_vpinsrd 0x1426
+#define MN_kshiftrd 0x142e
#define MN_pextrd (MN_vpextrd + 1)
-#define MN_vpextrd 0x140a
-#define MN_vfmsub231sd 0x1412
-#define MN_vfnmsub231sd 0x141e
-#define MN_vfmadd231sd 0x142b
-#define MN_vfnmadd231sd 0x1437
-#define MN_vfmsub132sd 0x1444
-#define MN_vfnmsub132sd 0x1450
-#define MN_vfmadd132sd 0x145d
-#define MN_vfnmadd132sd 0x1469
-#define MN_vcvtsh2sd 0x1476
+#define MN_vpextrd 0x1437
+#define MN_vfmsub231sd 0x143f
+#define MN_vfnmsub231sd 0x144b
+#define MN_vfmadd231sd 0x1458
+#define MN_vfnmadd231sd 0x1464
+#define MN_vfmsub132sd 0x1471
+#define MN_vfnmsub132sd 0x147d
+#define MN_vfmadd132sd 0x148a
+#define MN_vfnmadd132sd 0x1496
+#define MN_vcvtsh2sd 0x14a3
#define MN_cvtsi2sd (MN_vcvtsi2sd + 1)
-#define MN_vcvtsi2sd 0x1480
-#define MN_vcvtusi2sd 0x148a
+#define MN_vcvtsi2sd 0x14ad
+#define MN_vcvtusi2sd 0x14b7
#define MN_cvtss2sd (MN_vcvtss2sd + 1)
-#define MN_vcvtss2sd 0x1495
-#define MN_vfmsub213sd 0x149f
-#define MN_vfnmsub213sd 0x14ab
-#define MN_vfmadd213sd 0x14b8
-#define MN_vfnmadd213sd 0x14c4
-#define MN_vrcp14sd 0x14d1
-#define MN_vrsqrt14sd 0x14da
-#define MN_vrcp28sd 0x14e5
-#define MN_vrsqrt28sd 0x14ee
+#define MN_vcvtss2sd 0x14c2
+#define MN_vfmsub213sd 0x14cc
+#define MN_vfnmsub213sd 0x14d8
+#define MN_vfmadd213sd 0x14e5
+#define MN_vfnmadd213sd 0x14f1
+#define MN_vrcp14sd 0x14fe
+#define MN_vrsqrt14sd 0x1507
+#define MN_vrcp28sd 0x1512
+#define MN_vrsqrt28sd 0x151b
#define MN_pabsd (MN_vpabsd + 1)
-#define MN_vpabsd 0x14f9
+#define MN_vpabsd 0x1526
#define MN_subsd (MN_vfmsubsd + 3)
-#define MN_vfmsubsd 0x1500
-#define MN_vfnmsubsd 0x1509
-#define MN_vsubsd 0x1513
+#define MN_vfmsubsd 0x152d
+#define MN_vfnmsubsd 0x1536
+#define MN_vsubsd 0x1540
#define MN_addsd (MN_vfmaddsd + 3)
-#define MN_vfmaddsd 0x151a
-#define MN_vfnmaddsd 0x1523
-#define MN_vaddsd 0x152d
+#define MN_vfmaddsd 0x1547
+#define MN_vfnmaddsd 0x1550
+#define MN_vaddsd 0x155a
#define MN_roundsd (MN_vroundsd + 1)
-#define MN_vroundsd 0x1534
+#define MN_vroundsd 0x1561
#define MN_cmpunordsd (MN_vcmpunordsd + 1)
-#define MN_vcmpunordsd 0x153d
+#define MN_vcmpunordsd 0x156a
#define MN_cmpordsd (MN_vcmpordsd + 1)
-#define MN_vcmpordsd 0x1549
-#define MN_vreducesd 0x1553
-#define MN_vrangesd 0x155d
-#define MN_vcmpngesd 0x1566
-#define MN_vcmpgesd 0x1570
-#define MN_vrndscalesd 0x1579
+#define MN_vcmpordsd 0x1576
+#define MN_vreducesd 0x1580
+#define MN_vrangesd 0x158a
+#define MN_vcmpngesd 0x1593
+#define MN_vcmpgesd 0x159d
+#define MN_vrndscalesd 0x15a6
#define MN_cmpnlesd (MN_vcmpnlesd + 1)
-#define MN_vcmpnlesd 0x1585
+#define MN_vcmpnlesd 0x15b2
#define MN_cmplesd (MN_vcmplesd + 1)
-#define MN_vcmplesd 0x158f
-#define MN_vcmpfalsesd 0x1598
-#define MN_vcmptruesd 0x15a4
-#define MN_vscalefsd 0x15af
+#define MN_vcmplesd 0x15bc
+#define MN_vcmpfalsesd 0x15c5
+#define MN_vcmptruesd 0x15d1
+#define MN_vscalefsd 0x15dc
#define MN_comisd (MN_ucomisd + 1)
#define MN_ucomisd (MN_vucomisd + 1)
-#define MN_vucomisd 0x15b9
-#define MN_vcomisd 0x15c2
+#define MN_vucomisd 0x15e6
+#define MN_vcomisd 0x15ef
#define MN_mulsd (MN_vmulsd + 1)
-#define MN_vmulsd 0x15ca
-#define MN_vfixupimmsd 0x15d1
+#define MN_vmulsd 0x15f7
+#define MN_vfixupimmsd 0x15fe
#define MN_minsd (MN_pminsd + 1)
#define MN_pminsd (MN_vpminsd + 1)
-#define MN_vpminsd 0x15dd
-#define MN_vminsd 0x15e5
+#define MN_vpminsd 0x160a
+#define MN_vminsd 0x1612
#define MN_cmpsd (MN_vcmpsd + 1)
-#define MN_vcmpsd 0x15ec
-#define MN_vgetexpsd 0x15f3
-#define MN_vcmpunord_qsd 0x15fd
-#define MN_vcmpord_qsd 0x160b
+#define MN_vcmpsd 0x1619
+#define MN_vgetexpsd 0x1620
+#define MN_vcmpunord_qsd 0x162a
+#define MN_vcmpord_qsd 0x1638
#define MN_cmpneqsd (MN_vcmpneqsd + 1)
-#define MN_vcmpneqsd 0x1617
+#define MN_vcmpneqsd 0x1644
#define MN_cmpeqsd (MN_vcmpeqsd + 1)
-#define MN_vcmpeqsd 0x1621
-#define MN_vcmpge_oqsd 0x162a
-#define MN_vcmple_oqsd 0x1636
-#define MN_vcmpfalse_oqsd 0x1642
-#define MN_vcmpneq_oqsd 0x1651
-#define MN_vcmpeq_oqsd 0x165e
-#define MN_vcmpgt_oqsd 0x166a
-#define MN_vcmplt_oqsd 0x1676
-#define MN_vcmpnge_uqsd 0x1682
-#define MN_vcmpnle_uqsd 0x168f
-#define MN_vcmptrue_uqsd 0x169c
-#define MN_vcmpneq_uqsd 0x16aa
-#define MN_vcmpeq_uqsd 0x16b7
-#define MN_vcmpngt_uqsd 0x16c3
-#define MN_vcmpnlt_uqsd 0x16d0
-#define MN_vcmpunord_ssd 0x16dd
-#define MN_vcmpord_ssd 0x16eb
-#define MN_vpdpbssd 0x16f7
-#define MN_tdpbssd 0x1700
-#define MN_vpcompressd 0x1708
-#define MN_vcmpge_ossd 0x1714
-#define MN_vcmple_ossd 0x1720
-#define MN_vcmpfalse_ossd 0x172c
-#define MN_vcmpneq_ossd 0x173b
-#define MN_vcmpeq_ossd 0x1748
-#define MN_vcmpgt_ossd 0x1754
-#define MN_vcmplt_ossd 0x1760
-#define MN_wrssd 0x176c
-#define MN_vfpclasssd 0x1772
-#define MN_vcmpnge_ussd 0x177d
-#define MN_vcmpnle_ussd 0x178a
-#define MN_vcmptrue_ussd 0x1797
-#define MN_vcmpneq_ussd 0x17a5
-#define MN_vcmpeq_ussd 0x17b2
-#define MN_vcmpngt_ussd 0x17be
-#define MN_vcmpnlt_ussd 0x17cb
-#define MN_wrussd 0x17d8
-#define MN_vp4dpwssd 0x17df
-#define MN_vpdpwssd 0x17e9
-#define MN_vcmpngtsd 0x17f2
-#define MN_vcmpgtsd 0x17fc
+#define MN_vcmpeqsd 0x164e
+#define MN_vcmpge_oqsd 0x1657
+#define MN_vcmple_oqsd 0x1663
+#define MN_vcmpfalse_oqsd 0x166f
+#define MN_vcmpneq_oqsd 0x167e
+#define MN_vcmpeq_oqsd 0x168b
+#define MN_vcmpgt_oqsd 0x1697
+#define MN_vcmplt_oqsd 0x16a3
+#define MN_vcmpnge_uqsd 0x16af
+#define MN_vcmpnle_uqsd 0x16bc
+#define MN_vcmptrue_uqsd 0x16c9
+#define MN_vcmpneq_uqsd 0x16d7
+#define MN_vcmpeq_uqsd 0x16e4
+#define MN_vcmpngt_uqsd 0x16f0
+#define MN_vcmpnlt_uqsd 0x16fd
+#define MN_vcmpunord_ssd 0x170a
+#define MN_vcmpord_ssd 0x1718
+#define MN_vpdpbssd 0x1724
+#define MN_tdpbssd 0x172d
+#define MN_vpcompressd 0x1735
+#define MN_vcmpge_ossd 0x1741
+#define MN_vcmple_ossd 0x174d
+#define MN_vcmpfalse_ossd 0x1759
+#define MN_vcmpneq_ossd 0x1768
+#define MN_vcmpeq_ossd 0x1775
+#define MN_vcmpgt_ossd 0x1781
+#define MN_vcmplt_ossd 0x178d
+#define MN_wrssd 0x1799
+#define MN_vfpclasssd 0x179f
+#define MN_vcmpnge_ussd 0x17aa
+#define MN_vcmpnle_ussd 0x17b7
+#define MN_vcmptrue_ussd 0x17c4
+#define MN_vcmpneq_ussd 0x17d2
+#define MN_vcmpeq_ussd 0x17df
+#define MN_vcmpngt_ussd 0x17eb
+#define MN_vcmpnlt_ussd 0x17f8
+#define MN_wrussd 0x1805
+#define MN_vp4dpwssd 0x180c
+#define MN_vpdpwssd 0x1816
+#define MN_vcmpngtsd 0x181f
+#define MN_vcmpgtsd 0x1829
#define MN_cmpnltsd (MN_vcmpnltsd + 1)
-#define MN_vcmpnltsd 0x1805
+#define MN_vcmpnltsd 0x1832
#define MN_cmpltsd (MN_vcmpltsd + 1)
-#define MN_vcmpltsd 0x180f
-#define MN_vgetmantsd 0x1818
-#define MN_movntsd 0x1823
+#define MN_vcmpltsd 0x183c
+#define MN_vgetmantsd 0x1845
+#define MN_movntsd 0x1850
#define MN_sqrtsd (MN_vsqrtsd + 1)
-#define MN_vsqrtsd 0x182b
-#define MN_vbroadcastsd 0x1833
-#define MN_vpdpbusd 0x1840
-#define MN_tdpbusd 0x1849
-#define MN_vpdpwusd 0x1851
+#define MN_vsqrtsd 0x1858
+#define MN_vbroadcastsd 0x1860
+#define MN_vpdpbusd 0x186d
+#define MN_tdpbusd 0x1876
+#define MN_vpdpwusd 0x187e
#define MN_divsd (MN_vdivsd + 1)
-#define MN_vdivsd 0x185a
+#define MN_vdivsd 0x1887
#define MN_movsd (MN_vmovsd + 1)
-#define MN_vmovsd 0x1861
+#define MN_vmovsd 0x188e
#define MN_maxsd (MN_pmaxsd + 1)
#define MN_pmaxsd (MN_vpmaxsd + 1)
-#define MN_vpmaxsd 0x1868
-#define MN_vmaxsd 0x1870
-#define MN_vfrczsd 0x1877
-#define MN_vp2intersectd 0x187f
-#define MN_vpconflictd 0x188d
-#define MN_vpcomgtd 0x1899
+#define MN_vpmaxsd 0x1895
+#define MN_vmaxsd 0x189d
+#define MN_vfrczsd 0x18a4
+#define MN_vp2intersectd 0x18ac
+#define MN_vpconflictd 0x18ba
+#define MN_vpcomgtd 0x18c6
#define MN_pcmpgtd (MN_vpcmpgtd + 1)
-#define MN_vpcmpgtd 0x18a2
-#define MN_cltd 0x18ab
-#define MN_vpcomltd 0x18b0
-#define MN_vpcmpnltd 0x18b9
-#define MN_vpcmpltd 0x18c3
-#define MN_vpopcntd 0x18cc
-#define MN_vplzcntd 0x18d5
-#define MN_knotd 0x18de
-#define MN_vprotd 0x18e4
+#define MN_vpcmpgtd 0x18cf
+#define MN_cltd 0x18d8
+#define MN_vpcomltd 0x18dd
+#define MN_vpcmpnltd 0x18e6
+#define MN_vpcmpltd 0x18f0
+#define MN_vpopcntd 0x18f9
+#define MN_vplzcntd 0x1902
+#define MN_knotd 0x190b
+#define MN_vprotd 0x1911
#define MN_std (MN_vpbroadcastd + 9)
-#define MN_vpbroadcastd 0x18eb
-#define MN_ktestd 0x18f8
-#define MN_kortestd 0x18ff
-#define MN_cwtd 0x1908
-#define MN_vpcomgeud 0x190d
-#define MN_vpcomleud 0x1917
-#define MN_vpcmpnleud 0x1921
-#define MN_vpcmpleud 0x192c
-#define MN_vpcomfalseud 0x1936
-#define MN_vpcomtrueud 0x1943
-#define MN_vpcomud 0x194f
+#define MN_vpbroadcastd 0x1918
+#define MN_ktestd 0x1925
+#define MN_kortestd 0x192c
+#define MN_cwtd 0x1935
+#define MN_vpcomgeud 0x193a
+#define MN_vpcomleud 0x1944
+#define MN_vpcmpnleud 0x194e
+#define MN_vpcmpleud 0x1959
+#define MN_vpcomfalseud 0x1963
+#define MN_vpcomtrueud 0x1970
+#define MN_vpcomud 0x197c
#define MN_pminud (MN_vpminud + 1)
-#define MN_vpminud 0x1957
-#define MN_vpcmpud 0x195f
-#define MN_vpcomequd 0x1967
-#define MN_vpcomnequd 0x1971
-#define MN_vpcmpnequd 0x197c
-#define MN_vpcmpequd 0x1987
-#define MN_vpdpbsud 0x1991
-#define MN_tdpbsud 0x199a
-#define MN_vpdpwsud 0x19a2
-#define MN_vpcomgtud 0x19ab
-#define MN_vpcomltud 0x19b5
-#define MN_vpcmpnltud 0x19bf
-#define MN_vpcmpltud 0x19ca
-#define MN_vpdpbuud 0x19d4
-#define MN_tdpbuud 0x19dd
-#define MN_vpdpwuud 0x19e5
+#define MN_vpminud 0x1984
+#define MN_vpcmpud 0x198c
+#define MN_vpcomequd 0x1994
+#define MN_vpcomnequd 0x199e
+#define MN_vpcmpnequd 0x19a9
+#define MN_vpcmpequd 0x19b4
+#define MN_vpdpbsud 0x19be
+#define MN_tdpbsud 0x19c7
+#define MN_vpdpwsud 0x19cf
+#define MN_vpcomgtud 0x19d8
+#define MN_vpcomltud 0x19e2
+#define MN_vpcmpnltud 0x19ec
+#define MN_vpcmpltud 0x19f7
+#define MN_vpdpbuud 0x1a01
+#define MN_tdpbuud 0x1a0a
+#define MN_vpdpwuud 0x1a12
#define MN_pmaxud (MN_vpmaxud + 1)
-#define MN_vpmaxud 0x19ee
-#define MN_vpsravd 0x19f6
-#define MN_vpshldvd 0x19fe
-#define MN_vpshrdvd 0x1a07
-#define MN_vpsllvd 0x1a10
-#define MN_vprolvd 0x1a18
-#define MN_vpsrlvd 0x1a20
+#define MN_vpmaxud 0x1a1b
+#define MN_vpsravd 0x1a23
+#define MN_vpshldvd 0x1a2b
+#define MN_vpshrdvd 0x1a34
+#define MN_vpsllvd 0x1a3d
+#define MN_vprolvd 0x1a45
+#define MN_vpsrlvd 0x1a4d
#define MN_invd (MN_wbinvd + 2)
-#define MN_wbinvd 0x1a28
-#define MN_wbnoinvd 0x1a2f
+#define MN_wbinvd 0x1a55
+#define MN_wbnoinvd 0x1a5c
#define MN_movd (MN_kmovd + 1)
#define MN_kmovd (MN_vpmaskmovd + 5)
-#define MN_vpmaskmovd 0x1a38
-#define MN_vmovd 0x1a43
-#define MN_vprorvd 0x1a49
-#define MN_vphsubwd 0x1a51
-#define MN_cwd 0x1a5a
-#define MN_vphaddwd 0x1a5e
+#define MN_vpmaskmovd 0x1a65
+#define MN_vmovd 0x1a70
+#define MN_vprorvd 0x1a76
+#define MN_vphsubwd 0x1a7e
+#define MN_cwd 0x1a87
+#define MN_vphaddwd 0x1a8b
#define MN_pmaddwd (MN_vpmaddwd + 1)
-#define MN_vpmaddwd 0x1a67
+#define MN_vpmaddwd 0x1a94
#define MN_punpckhwd (MN_vpunpckhwd + 1)
-#define MN_vpunpckhwd 0x1a70
-#define MN_kunpckwd 0x1a7b
+#define MN_vpunpckhwd 0x1a9d
+#define MN_kunpckwd 0x1aa8
#define MN_punpcklwd (MN_vpunpcklwd + 1)
-#define MN_vpunpcklwd 0x1a84
-#define MN_vpmacswd 0x1a8f
-#define MN_vpmadcswd 0x1a98
-#define MN_vpmacsswd 0x1aa2
-#define MN_vpmadcsswd 0x1aac
-#define MN_vphadduwd 0x1ab7
+#define MN_vpunpcklwd 0x1ab1
+#define MN_vpmacswd 0x1abc
+#define MN_vpmadcswd 0x1ac5
+#define MN_vpmacsswd 0x1acf
+#define MN_vpmadcsswd 0x1ad9
+#define MN_vphadduwd 0x1ae4
#define MN_pmovsxwd (MN_vpmovsxwd + 1)
-#define MN_vpmovsxwd 0x1ac1
+#define MN_vpmovsxwd 0x1aee
#define MN_pmovzxwd (MN_vpmovzxwd + 1)
-#define MN_vpmovzxwd 0x1acb
-#define MN_movsxd 0x1ad5
-#define MN_fldl2e 0x1adc
-#define MN_jae 0x1ae3
-#define MN_jnae 0x1ae7
-#define MN_setnae 0x1aec
+#define MN_vpmovzxwd 0x1af8
+#define MN_movsxd 0x1b02
+#define MN_fldl2e 0x1b09
+#define MN_jae 0x1b10
+#define MN_jnae 0x1b14
+#define MN_setnae 0x1b19
+#define MN_setzunae 0x1b20
#define MN_cmovnae (MN_fcmovnae + 1)
-#define MN_fcmovnae 0x1af3
-#define MN_setae 0x1afc
+#define MN_fcmovnae 0x1b29
+#define MN_setae 0x1b32
+#define MN_setzuae 0x1b38
#define MN_cmovae (MN_fcmovae + 1)
-#define MN_fcmovae 0x1b02
-#define MN_jbe 0x1b0a
-#define MN_jnbe 0x1b0e
-#define MN_setnbe 0x1b13
+#define MN_fcmovae 0x1b40
+#define MN_jbe 0x1b48
+#define MN_jnbe 0x1b4c
+#define MN_setnbe 0x1b51
+#define MN_setzunbe 0x1b58
#define MN_cmovnbe (MN_fcmovnbe + 1)
-#define MN_fcmovnbe 0x1b1a
-#define MN_setbe 0x1b23
+#define MN_fcmovnbe 0x1b61
+#define MN_setbe 0x1b6a
+#define MN_setzube 0x1b70
#define MN_movbe (MN_cmovbe + 1)
#define MN_cmovbe (MN_fcmovbe + 1)
-#define MN_fcmovbe 0x1b29
-#define MN_lfence 0x1b31
-#define MN_mfence 0x1b38
-#define MN_sfence 0x1b3f
-#define MN_cwde 0x1b46
-#define MN_ffree 0x1b4b
-#define MN_jge 0x1b51
-#define MN_jnge 0x1b55
-#define MN_setnge 0x1b5a
-#define MN_cmovnge 0x1b61
-#define MN_pfcmpge 0x1b69
-#define MN_setge 0x1b71
-#define MN_cmovge 0x1b77
-#define MN_je 0x1b7e
-#define MN_fscale 0x1b81
-#define MN_jle 0x1b88
-#define MN_jnle 0x1b8c
-#define MN_setnle 0x1b91
-#define MN_cmovnle 0x1b98
-#define MN_setle 0x1ba0
-#define MN_cmovle 0x1ba6
-#define MN_vmresume 0x1bad
-#define MN_jne 0x1bb6
-#define MN_repne 0x1bba
-#define MN_loopne 0x1bc0
-#define MN_setne 0x1bc7
+#define MN_fcmovbe 0x1b78
+#define MN_lfence 0x1b80
+#define MN_mfence 0x1b87
+#define MN_sfence 0x1b8e
+#define MN_cwde 0x1b95
+#define MN_ffree 0x1b9a
+#define MN_jge 0x1ba0
+#define MN_jnge 0x1ba4
+#define MN_setnge 0x1ba9
+#define MN_setzunge 0x1bb0
+#define MN_cmovnge 0x1bb9
+#define MN_pfcmpge 0x1bc1
+#define MN_setge 0x1bc9
+#define MN_setzuge 0x1bcf
+#define MN_cmovge 0x1bd7
+#define MN_je 0x1bde
+#define MN_fscale 0x1be1
+#define MN_jle 0x1be8
+#define MN_jnle 0x1bec
+#define MN_setnle 0x1bf1
+#define MN_setzunle 0x1bf8
+#define MN_cmovnle 0x1c01
+#define MN_setle 0x1c09
+#define MN_setzule 0x1c0f
+#define MN_cmovle 0x1c17
+#define MN_vmresume 0x1c1e
+#define MN_jne 0x1c27
+#define MN_repne 0x1c2b
+#define MN_loopne 0x1c31
+#define MN_setne 0x1c38
+#define MN_setzune 0x1c3e
#define MN_cmovne (MN_fcmovne + 1)
-#define MN_fcmovne 0x1bcd
-#define MN_repe 0x1bd5
-#define MN_jpe 0x1bda
-#define MN_loope 0x1bde
-#define MN_setpe 0x1be4
-#define MN_cmovpe 0x1bea
-#define MN_cdqe 0x1bf1
-#define MN_xacquire 0x1bf6
-#define MN_xstore 0x1bff
-#define MN_rdfsbase 0x1c06
-#define MN_wrfsbase 0x1c0f
-#define MN_rdgsbase 0x1c18
-#define MN_wrgsbase 0x1c21
-#define MN_tilerelease 0x1c2a
-#define MN_xrelease 0x1c36
+#define MN_fcmovne 0x1c46
+#define MN_repe 0x1c4e
+#define MN_jpe 0x1c53
+#define MN_loope 0x1c57
+#define MN_setpe 0x1c5d
+#define MN_setzupe 0x1c63
+#define MN_cmovpe 0x1c6b
+#define MN_cdqe 0x1c72
+#define MN_xacquire 0x1c77
+#define MN_xstore 0x1c80
+#define MN_rdfsbase 0x1c87
+#define MN_wrfsbase 0x1c90
+#define MN_rdgsbase 0x1c99
+#define MN_wrgsbase 0x1ca2
+#define MN_tilerelease 0x1cab
+#define MN_xrelease 0x1cb7
#define MN_pause (MN_tpause + 1)
-#define MN_tpause 0x1c3f
-#define MN_pvalidate 0x1c46
-#define MN_rmpupdate 0x1c50
-#define MN_sete 0x1c5a
-#define MN_vmwrite 0x1c5f
-#define MN_ptwrite 0x1c67
-#define MN_cldemote 0x1c6f
-#define MN_sha1nexte 0x1c78
-#define MN_leave 0x1c82
-#define MN_fsave 0x1c88
-#define MN_vmsave 0x1c8e
-#define MN_fnsave 0x1c95
+#define MN_tpause 0x1cc0
+#define MN_pvalidate 0x1cc7
+#define MN_rmpupdate 0x1cd1
+#define MN_sete 0x1cdb
+#define MN_vmwrite 0x1ce0
+#define MN_ptwrite 0x1ce8
+#define MN_cldemote 0x1cf0
+#define MN_sha1nexte 0x1cf9
+#define MN_setzue 0x1d03
+#define MN_leave 0x1d0a
+#define MN_fsave 0x1d10
+#define MN_vmsave 0x1d16
+#define MN_fnsave 0x1d1d
#define MN_xsave (MN_fxsave + 1)
-#define MN_fxsave 0x1c9c
+#define MN_fxsave 0x1d24
#define MN_cmove (MN_fcmove + 1)
-#define MN_fcmove 0x1ca3
-#define MN_serialize 0x1caa
-#define MN_vmxoff 0x1cb4
-#define MN_lahf 0x1cbb
-#define MN_sahf 0x1cc0
-#define MN_pushf 0x1cc5
-#define MN_popf 0x1ccb
-#define MN_bsf 0x1cd0
-#define MN_retf 0x1cd4
-#define MN_neg 0x1cd9
-#define MN_ldtilecfg 0x1cdd
-#define MN_sttilecfg 0x1ce7
+#define MN_fcmove 0x1d2b
+#define MN_serialize 0x1d32
+#define MN_vmxoff 0x1d3c
+#define MN_lahf 0x1d43
+#define MN_sahf 0x1d48
+#define MN_pushf 0x1d4d
+#define MN_popf 0x1d53
+#define MN_bsf 0x1d58
+#define MN_retf 0x1d5c
+#define MN_neg 0x1d61
+#define MN_ldtilecfg 0x1d65
+#define MN_sttilecfg 0x1d6f
#define MN_xchg (MN_cmpxchg + 3)
-#define MN_cmpxchg 0x1cf1
-#define MN_pconfig 0x1cf9
-#define MN_jg 0x1d01
-#define MN_jng 0x1d04
-#define MN_xstore_rng 0x1d08
-#define MN_xstorerng 0x1d13
-#define MN_setng 0x1d1d
-#define MN_cmovng 0x1d23
-#define MN_invlpg 0x1d2a
-#define MN_setg 0x1d31
-#define MN_cmovg 0x1d36
-#define MN_vmlaunch 0x1d3c
-#define MN_prefetch 0x1d45
-#define MN_fxch 0x1d4e
-#define MN_vfmaddsub231ph 0x1d53
-#define MN_vfmsub231ph 0x1d62
-#define MN_vfnmsub231ph 0x1d6e
-#define MN_vfmsubadd231ph 0x1d7b
-#define MN_vfmadd231ph 0x1d8a
-#define MN_vfnmadd231ph 0x1d96
-#define MN_vfmaddsub132ph 0x1da3
-#define MN_vfmsub132ph 0x1db2
-#define MN_vfnmsub132ph 0x1dbe
-#define MN_vfmsubadd132ph 0x1dcb
-#define MN_vfmadd132ph 0x1dda
-#define MN_vfnmadd132ph 0x1de6
-#define MN_vcvtpd2ph 0x1df3
-#define MN_vcvtdq2ph 0x1dfd
-#define MN_vcvtudq2ph 0x1e07
-#define MN_vcvtqq2ph 0x1e12
-#define MN_vcvtuqq2ph 0x1e1c
-#define MN_vcvtps2ph 0x1e27
-#define MN_vcvtw2ph 0x1e31
-#define MN_vcvtuw2ph 0x1e3a
-#define MN_vfmaddsub213ph 0x1e44
-#define MN_vfmsub213ph 0x1e53
-#define MN_vfnmsub213ph 0x1e5f
-#define MN_vfmsubadd213ph 0x1e6c
-#define MN_vfmadd213ph 0x1e7b
-#define MN_vfnmadd213ph 0x1e87
-#define MN_vsubph 0x1e94
-#define MN_vfcmaddcph 0x1e9b
-#define MN_vfmaddcph 0x1ea6
-#define MN_vfcmulcph 0x1eb0
-#define MN_vfmulcph 0x1eba
-#define MN_vaddph 0x1ec3
-#define MN_vcmpunordph 0x1eca
-#define MN_vcmpordph 0x1ed6
-#define MN_vreduceph 0x1ee0
-#define MN_vcmpngeph 0x1eea
-#define MN_vcmpgeph 0x1ef4
-#define MN_vrndscaleph 0x1efd
-#define MN_vcmpnleph 0x1f09
-#define MN_vcmpleph 0x1f13
-#define MN_vcmpfalseph 0x1f1c
-#define MN_vcmptrueph 0x1f28
-#define MN_vscalefph 0x1f33
-#define MN_vmulph 0x1f3d
-#define MN_vminph 0x1f44
-#define MN_vrcpph 0x1f4b
-#define MN_vcmpph 0x1f52
-#define MN_vgetexpph 0x1f59
-#define MN_vcmpunord_qph 0x1f63
-#define MN_vcmpord_qph 0x1f71
-#define MN_vcmpneqph 0x1f7d
-#define MN_vcmpeqph 0x1f87
-#define MN_vcmpge_oqph 0x1f90
-#define MN_vcmple_oqph 0x1f9c
-#define MN_vcmpfalse_oqph 0x1fa8
-#define MN_vcmpneq_oqph 0x1fb7
-#define MN_vcmpeq_oqph 0x1fc4
-#define MN_vcmpgt_oqph 0x1fd0
-#define MN_vcmplt_oqph 0x1fdc
-#define MN_vcmpnge_uqph 0x1fe8
-#define MN_vcmpnle_uqph 0x1ff5
-#define MN_vcmptrue_uqph 0x2002
-#define MN_vcmpneq_uqph 0x2010
-#define MN_vcmpeq_uqph 0x201d
-#define MN_vcmpngt_uqph 0x2029
-#define MN_vcmpnlt_uqph 0x2036
-#define MN_vcmpunord_sph 0x2043
-#define MN_vcmpord_sph 0x2051
-#define MN_vcmpge_osph 0x205d
-#define MN_vcmple_osph 0x2069
-#define MN_vcmpfalse_osph 0x2075
-#define MN_vcmpneq_osph 0x2084
-#define MN_vcmpeq_osph 0x2091
-#define MN_vcmpgt_osph 0x209d
-#define MN_vcmplt_osph 0x20a9
-#define MN_vfpclassph 0x20b5
-#define MN_vcmpnge_usph 0x20c0
-#define MN_vcmpnle_usph 0x20cd
-#define MN_vcmptrue_usph 0x20da
-#define MN_vcmpneq_usph 0x20e8
-#define MN_vcmpeq_usph 0x20f5
-#define MN_vcmpngt_usph 0x2101
-#define MN_vcmpnlt_usph 0x210e
-#define MN_vcmpngtph 0x211b
-#define MN_vcmpgtph 0x2125
-#define MN_vcmpnltph 0x212e
-#define MN_vcmpltph 0x2138
-#define MN_vgetmantph 0x2141
-#define MN_vrsqrtph 0x214c
-#define MN_vsqrtph 0x2155
-#define MN_vdivph 0x215d
-#define MN_vmaxph 0x2164
-#define MN_vpmacsdqh 0x216b
-#define MN_vpmacssdqh 0x2175
-#define MN_vfmsub231sh 0x2180
-#define MN_vfnmsub231sh 0x218c
-#define MN_vfmadd231sh 0x2199
-#define MN_vfnmadd231sh 0x21a5
-#define MN_vfmsub132sh 0x21b2
-#define MN_vfnmsub132sh 0x21be
-#define MN_vfmadd132sh 0x21cb
-#define MN_vfnmadd132sh 0x21d7
-#define MN_vcvtsd2sh 0x21e4
-#define MN_vcvtsi2sh 0x21ee
-#define MN_vcvtusi2sh 0x21f8
-#define MN_vcvtss2sh 0x2203
-#define MN_vfmsub213sh 0x220d
-#define MN_vfnmsub213sh 0x2219
-#define MN_vfmadd213sh 0x2226
-#define MN_vfnmadd213sh 0x2232
-#define MN_psmash 0x223f
-#define MN_vsubsh 0x2246
-#define MN_vfcmaddcsh 0x224d
-#define MN_vfmaddcsh 0x2258
-#define MN_vfcmulcsh 0x2262
-#define MN_vfmulcsh 0x226c
-#define MN_vaddsh 0x2275
-#define MN_vcmpunordsh 0x227c
-#define MN_vcmpordsh 0x2288
-#define MN_vreducesh 0x2292
-#define MN_vcmpngesh 0x229c
-#define MN_vcmpgesh 0x22a6
-#define MN_vrndscalesh 0x22af
-#define MN_vcmpnlesh 0x22bb
-#define MN_vcmplesh 0x22c5
-#define MN_vcmpfalsesh 0x22ce
-#define MN_vcmptruesh 0x22da
-#define MN_vscalefsh 0x22e5
-#define MN_vucomish 0x22ef
-#define MN_vcomish 0x22f8
-#define MN_vmulsh 0x2300
-#define MN_vminsh 0x2307
-#define MN_vrcpsh 0x230e
-#define MN_vcmpsh 0x2315
-#define MN_vgetexpsh 0x231c
-#define MN_vcmpunord_qsh 0x2326
-#define MN_vcmpord_qsh 0x2334
-#define MN_vcmpneqsh 0x2340
-#define MN_vcmpeqsh 0x234a
-#define MN_vcmpge_oqsh 0x2353
-#define MN_vcmple_oqsh 0x235f
-#define MN_vcmpfalse_oqsh 0x236b
-#define MN_vcmpneq_oqsh 0x237a
-#define MN_vcmpeq_oqsh 0x2387
-#define MN_vcmpgt_oqsh 0x2393
-#define MN_vcmplt_oqsh 0x239f
-#define MN_vcmpnge_uqsh 0x23ab
-#define MN_vcmpnle_uqsh 0x23b8
-#define MN_vcmptrue_uqsh 0x23c5
-#define MN_vcmpneq_uqsh 0x23d3
-#define MN_vcmpeq_uqsh 0x23e0
-#define MN_vcmpngt_uqsh 0x23ec
-#define MN_vcmpnlt_uqsh 0x23f9
-#define MN_vcmpunord_ssh 0x2406
-#define MN_vcmpord_ssh 0x2414
-#define MN_vcmpge_ossh 0x2420
-#define MN_vcmple_ossh 0x242c
-#define MN_vcmpfalse_ossh 0x2438
-#define MN_vcmpneq_ossh 0x2447
-#define MN_vcmpeq_ossh 0x2454
-#define MN_vcmpgt_ossh 0x2460
-#define MN_vcmplt_ossh 0x246c
-#define MN_vfpclasssh 0x2478
-#define MN_vcmpnge_ussh 0x2483
-#define MN_vcmpnle_ussh 0x2490
-#define MN_vcmptrue_ussh 0x249d
-#define MN_vcmpneq_ussh 0x24ab
-#define MN_vcmpeq_ussh 0x24b8
-#define MN_vcmpngt_ussh 0x24c4
-#define MN_vcmpnlt_ussh 0x24d1
-#define MN_vcmpngtsh 0x24de
-#define MN_vcmpgtsh 0x24e8
-#define MN_vcmpnltsh 0x24f1
-#define MN_vcmpltsh 0x24fb
-#define MN_vgetmantsh 0x2504
-#define MN_vrsqrtsh 0x250f
-#define MN_vsqrtsh 0x2518
-#define MN_clflush 0x2520
-#define MN_push 0x2528
-#define MN_vdivsh 0x252d
-#define MN_vmovsh 0x2534
-#define MN_vmaxsh 0x253b
-#define MN_blci 0x2542
-#define MN_clgi 0x2547
-#define MN_stgi 0x254c
-#define MN_bzhi 0x2551
-#define MN_cli 0x2556
-#define MN_fcomi 0x255a
-#define MN_fucomi 0x2560
-#define MN_feni 0x2567
-#define MN_fneni 0x256c
-#define MN_cvttpd2pi 0x2572
-#define MN_cvtpd2pi 0x257c
-#define MN_cvttps2pi 0x2585
-#define MN_cvtps2pi 0x258f
-#define MN_fldpi 0x2598
-#define MN_senduipi 0x259e
-#define MN_fcompi 0x25a7
-#define MN_fucompi 0x25ae
-#define MN_movdiri 0x25b6
+#define MN_cmpxchg 0x1d79
+#define MN_pconfig 0x1d81
+#define MN_jg 0x1d89
+#define MN_jng 0x1d8c
+#define MN_xstore_rng 0x1d90
+#define MN_xstorerng 0x1d9b
+#define MN_setng 0x1da5
+#define MN_setzung 0x1dab
+#define MN_cmovng 0x1db3
+#define MN_invlpg 0x1dba
+#define MN_setg 0x1dc1
+#define MN_setzug 0x1dc6
+#define MN_cmovg 0x1dcd
+#define MN_vmlaunch 0x1dd3
+#define MN_prefetch 0x1ddc
+#define MN_fxch 0x1de5
+#define MN_vfmaddsub231ph 0x1dea
+#define MN_vfmsub231ph 0x1df9
+#define MN_vfnmsub231ph 0x1e05
+#define MN_vfmsubadd231ph 0x1e12
+#define MN_vfmadd231ph 0x1e21
+#define MN_vfnmadd231ph 0x1e2d
+#define MN_vfmaddsub132ph 0x1e3a
+#define MN_vfmsub132ph 0x1e49
+#define MN_vfnmsub132ph 0x1e55
+#define MN_vfmsubadd132ph 0x1e62
+#define MN_vfmadd132ph 0x1e71
+#define MN_vfnmadd132ph 0x1e7d
+#define MN_vcvtpd2ph 0x1e8a
+#define MN_vcvtdq2ph 0x1e94
+#define MN_vcvtudq2ph 0x1e9e
+#define MN_vcvtqq2ph 0x1ea9
+#define MN_vcvtuqq2ph 0x1eb3
+#define MN_vcvtps2ph 0x1ebe
+#define MN_vcvtw2ph 0x1ec8
+#define MN_vcvtuw2ph 0x1ed1
+#define MN_vfmaddsub213ph 0x1edb
+#define MN_vfmsub213ph 0x1eea
+#define MN_vfnmsub213ph 0x1ef6
+#define MN_vfmsubadd213ph 0x1f03
+#define MN_vfmadd213ph 0x1f12
+#define MN_vfnmadd213ph 0x1f1e
+#define MN_vsubph 0x1f2b
+#define MN_vfcmaddcph 0x1f32
+#define MN_vfmaddcph 0x1f3d
+#define MN_vfcmulcph 0x1f47
+#define MN_vfmulcph 0x1f51
+#define MN_vaddph 0x1f5a
+#define MN_vcmpunordph 0x1f61
+#define MN_vcmpordph 0x1f6d
+#define MN_vreduceph 0x1f77
+#define MN_vcmpngeph 0x1f81
+#define MN_vcmpgeph 0x1f8b
+#define MN_vrndscaleph 0x1f94
+#define MN_vcmpnleph 0x1fa0
+#define MN_vcmpleph 0x1faa
+#define MN_vcmpfalseph 0x1fb3
+#define MN_vcmptrueph 0x1fbf
+#define MN_vscalefph 0x1fca
+#define MN_vmulph 0x1fd4
+#define MN_vminph 0x1fdb
+#define MN_vrcpph 0x1fe2
+#define MN_vcmpph 0x1fe9
+#define MN_vgetexpph 0x1ff0
+#define MN_vcmpunord_qph 0x1ffa
+#define MN_vcmpord_qph 0x2008
+#define MN_vcmpneqph 0x2014
+#define MN_vcmpeqph 0x201e
+#define MN_vcmpge_oqph 0x2027
+#define MN_vcmple_oqph 0x2033
+#define MN_vcmpfalse_oqph 0x203f
+#define MN_vcmpneq_oqph 0x204e
+#define MN_vcmpeq_oqph 0x205b
+#define MN_vcmpgt_oqph 0x2067
+#define MN_vcmplt_oqph 0x2073
+#define MN_vcmpnge_uqph 0x207f
+#define MN_vcmpnle_uqph 0x208c
+#define MN_vcmptrue_uqph 0x2099
+#define MN_vcmpneq_uqph 0x20a7
+#define MN_vcmpeq_uqph 0x20b4
+#define MN_vcmpngt_uqph 0x20c0
+#define MN_vcmpnlt_uqph 0x20cd
+#define MN_vcmpunord_sph 0x20da
+#define MN_vcmpord_sph 0x20e8
+#define MN_vcmpge_osph 0x20f4
+#define MN_vcmple_osph 0x2100
+#define MN_vcmpfalse_osph 0x210c
+#define MN_vcmpneq_osph 0x211b
+#define MN_vcmpeq_osph 0x2128
+#define MN_vcmpgt_osph 0x2134
+#define MN_vcmplt_osph 0x2140
+#define MN_vfpclassph 0x214c
+#define MN_vcmpnge_usph 0x2157
+#define MN_vcmpnle_usph 0x2164
+#define MN_vcmptrue_usph 0x2171
+#define MN_vcmpneq_usph 0x217f
+#define MN_vcmpeq_usph 0x218c
+#define MN_vcmpngt_usph 0x2198
+#define MN_vcmpnlt_usph 0x21a5
+#define MN_vcmpngtph 0x21b2
+#define MN_vcmpgtph 0x21bc
+#define MN_vcmpnltph 0x21c5
+#define MN_vcmpltph 0x21cf
+#define MN_vgetmantph 0x21d8
+#define MN_vrsqrtph 0x21e3
+#define MN_vsqrtph 0x21ec
+#define MN_vdivph 0x21f4
+#define MN_vmaxph 0x21fb
+#define MN_vpmacsdqh 0x2202
+#define MN_vpmacssdqh 0x220c
+#define MN_vfmsub231sh 0x2217
+#define MN_vfnmsub231sh 0x2223
+#define MN_vfmadd231sh 0x2230
+#define MN_vfnmadd231sh 0x223c
+#define MN_vfmsub132sh 0x2249
+#define MN_vfnmsub132sh 0x2255
+#define MN_vfmadd132sh 0x2262
+#define MN_vfnmadd132sh 0x226e
+#define MN_vcvtsd2sh 0x227b
+#define MN_vcvtsi2sh 0x2285
+#define MN_vcvtusi2sh 0x228f
+#define MN_vcvtss2sh 0x229a
+#define MN_vfmsub213sh 0x22a4
+#define MN_vfnmsub213sh 0x22b0
+#define MN_vfmadd213sh 0x22bd
+#define MN_vfnmadd213sh 0x22c9
+#define MN_psmash 0x22d6
+#define MN_vsubsh 0x22dd
+#define MN_vfcmaddcsh 0x22e4
+#define MN_vfmaddcsh 0x22ef
+#define MN_vfcmulcsh 0x22f9
+#define MN_vfmulcsh 0x2303
+#define MN_vaddsh 0x230c
+#define MN_vcmpunordsh 0x2313
+#define MN_vcmpordsh 0x231f
+#define MN_vreducesh 0x2329
+#define MN_vcmpngesh 0x2333
+#define MN_vcmpgesh 0x233d
+#define MN_vrndscalesh 0x2346
+#define MN_vcmpnlesh 0x2352
+#define MN_vcmplesh 0x235c
+#define MN_vcmpfalsesh 0x2365
+#define MN_vcmptruesh 0x2371
+#define MN_vscalefsh 0x237c
+#define MN_vucomish 0x2386
+#define MN_vcomish 0x238f
+#define MN_vmulsh 0x2397
+#define MN_vminsh 0x239e
+#define MN_vrcpsh 0x23a5
+#define MN_vcmpsh 0x23ac
+#define MN_vgetexpsh 0x23b3
+#define MN_vcmpunord_qsh 0x23bd
+#define MN_vcmpord_qsh 0x23cb
+#define MN_vcmpneqsh 0x23d7
+#define MN_vcmpeqsh 0x23e1
+#define MN_vcmpge_oqsh 0x23ea
+#define MN_vcmple_oqsh 0x23f6
+#define MN_vcmpfalse_oqsh 0x2402
+#define MN_vcmpneq_oqsh 0x2411
+#define MN_vcmpeq_oqsh 0x241e
+#define MN_vcmpgt_oqsh 0x242a
+#define MN_vcmplt_oqsh 0x2436
+#define MN_vcmpnge_uqsh 0x2442
+#define MN_vcmpnle_uqsh 0x244f
+#define MN_vcmptrue_uqsh 0x245c
+#define MN_vcmpneq_uqsh 0x246a
+#define MN_vcmpeq_uqsh 0x2477
+#define MN_vcmpngt_uqsh 0x2483
+#define MN_vcmpnlt_uqsh 0x2490
+#define MN_vcmpunord_ssh 0x249d
+#define MN_vcmpord_ssh 0x24ab
+#define MN_vcmpge_ossh 0x24b7
+#define MN_vcmple_ossh 0x24c3
+#define MN_vcmpfalse_ossh 0x24cf
+#define MN_vcmpneq_ossh 0x24de
+#define MN_vcmpeq_ossh 0x24eb
+#define MN_vcmpgt_ossh 0x24f7
+#define MN_vcmplt_ossh 0x2503
+#define MN_vfpclasssh 0x250f
+#define MN_vcmpnge_ussh 0x251a
+#define MN_vcmpnle_ussh 0x2527
+#define MN_vcmptrue_ussh 0x2534
+#define MN_vcmpneq_ussh 0x2542
+#define MN_vcmpeq_ussh 0x254f
+#define MN_vcmpngt_ussh 0x255b
+#define MN_vcmpnlt_ussh 0x2568
+#define MN_vcmpngtsh 0x2575
+#define MN_vcmpgtsh 0x257f
+#define MN_vcmpnltsh 0x2588
+#define MN_vcmpltsh 0x2592
+#define MN_vgetmantsh 0x259b
+#define MN_vrsqrtsh 0x25a6
+#define MN_vsqrtsh 0x25af
+#define MN_clflush 0x25b7
+#define MN_push 0x25bf
+#define MN_vdivsh 0x25c4
+#define MN_vmovsh 0x25cb
+#define MN_vmaxsh 0x25d2
+#define MN_blci 0x25d9
+#define MN_clgi 0x25de
+#define MN_stgi 0x25e3
+#define MN_bzhi 0x25e8
+#define MN_cli 0x25ed
+#define MN_fcomi 0x25f1
+#define MN_fucomi 0x25f7
+#define MN_feni 0x25fe
+#define MN_fneni 0x2603
+#define MN_cvttpd2pi 0x2609
+#define MN_cvtpd2pi 0x2613
+#define MN_cvttps2pi 0x261c
+#define MN_cvtps2pi 0x2626
+#define MN_fldpi 0x262f
+#define MN_senduipi 0x2635
+#define MN_fcompi 0x263e
+#define MN_fucompi 0x2645
+#define MN_movdiri 0x264d
#define MN_pcmpestri (MN_vpcmpestri + 1)
-#define MN_vpcmpestri 0x25be
+#define MN_vpcmpestri 0x2655
#define MN_pcmpistri (MN_vpcmpistri + 1)
-#define MN_vpcmpistri 0x25c9
+#define MN_vpcmpistri 0x2660
#define MN_cvttsd2si (MN_vcvttsd2si + 1)
-#define MN_vcvttsd2si 0x25d4
+#define MN_vcvttsd2si 0x266b
#define MN_cvtsd2si (MN_vcvtsd2si + 1)
-#define MN_vcvtsd2si 0x25df
-#define MN_vcvttsh2si 0x25e9
-#define MN_vcvtsh2si 0x25f4
+#define MN_vcvtsd2si 0x2676
+#define MN_vcvttsh2si 0x2680
+#define MN_vcvtsh2si 0x268b
#define MN_cvttss2si (MN_vcvttss2si + 1)
-#define MN_vcvttss2si 0x25fe
+#define MN_vcvttss2si 0x2695
#define MN_cvtss2si (MN_vcvtss2si + 1)
-#define MN_vcvtss2si 0x2609
-#define MN_fdisi 0x2613
-#define MN_fndisi 0x2619
-#define MN_blsi 0x2620
-#define MN_vcvttsd2usi 0x2625
-#define MN_vcvtsd2usi 0x2631
-#define MN_vcvttsh2usi 0x263c
-#define MN_vcvtsh2usi 0x2648
-#define MN_vcvttss2usi 0x2653
-#define MN_vcvtss2usi 0x265f
-#define MN_movnti 0x266a
-#define MN_sti 0x2671
-#define MN_clui 0x2675
+#define MN_vcvtss2si 0x26a0
+#define MN_fdisi 0x26aa
+#define MN_fndisi 0x26b0
+#define MN_blsi 0x26b7
+#define MN_vcvttsd2usi 0x26bc
+#define MN_vcvtsd2usi 0x26c8
+#define MN_vcvttsh2usi 0x26d3
+#define MN_vcvtsh2usi 0x26df
+#define MN_vcvttss2usi 0x26ea
+#define MN_vcvtss2usi 0x26f6
+#define MN_movnti 0x2701
+#define MN_sti 0x2708
+#define MN_clui 0x270c
#define MN_stui (MN_testui + 2)
-#define MN_testui 0x267a
-#define MN_notrack 0x2681
-#define MN_lock 0x2689
-#define MN_bndmk 0x268e
-#define MN_xresldtrk 0x2694
-#define MN_xsusldtrk 0x269e
-#define MN_blcmsk 0x26a8
-#define MN_blsmsk 0x26af
-#define MN_tzmsk 0x26b6
-#define MN_sal 0x26bc
-#define MN_lwpval 0x26c0
-#define MN_bndcl 0x26c7
-#define MN_rcl 0x26cd
-#define MN_shl 0x26d1
-#define MN_jl 0x26d5
-#define MN_aesdec256kl 0x26d8
-#define MN_aesenc256kl 0x26e4
-#define MN_aesdecwide256kl 0x26f0
-#define MN_aesencwide256kl 0x2700
-#define MN_aesdec128kl 0x2710
-#define MN_aesenc128kl 0x271c
-#define MN_aesdecwide128kl 0x2728
-#define MN_aesencwide128kl 0x2738
+#define MN_testui 0x2711
+#define MN_notrack 0x2718
+#define MN_lock 0x2720
+#define MN_bndmk 0x2725
+#define MN_xresldtrk 0x272b
+#define MN_xsusldtrk 0x2735
+#define MN_blcmsk 0x273f
+#define MN_blsmsk 0x2746
+#define MN_tzmsk 0x274d
+#define MN_sal 0x2753
+#define MN_lwpval 0x2757
+#define MN_bndcl 0x275e
+#define MN_rcl 0x2764
+#define MN_shl 0x2768
+#define MN_jl 0x276c
+#define MN_aesdec256kl 0x276f
+#define MN_aesenc256kl 0x277b
+#define MN_aesdecwide256kl 0x2787
+#define MN_aesencwide256kl 0x2797
+#define MN_aesdec128kl 0x27a7
+#define MN_aesenc128kl 0x27b3
+#define MN_aesdecwide128kl 0x27bf
+#define MN_aesencwide128kl 0x27cf
#define MN_call (MN_tdcall + 2)
-#define MN_tdcall 0x2748
-#define MN_lcall 0x274f
-#define MN_seamcall 0x2755
-#define MN_vmmcall 0x275e
-#define MN_vmcall 0x2766
-#define MN_syscall 0x276d
-#define MN_vzeroall 0x2775
-#define MN_fildll 0x277e
-#define MN_blcfill 0x2785
-#define MN_blsfill 0x278d
-#define MN_fistpll 0x2795
-#define MN_fisttpll 0x279d
-#define MN_jnl 0x27a6
-#define MN_setnl 0x27aa
-#define MN_cmovnl 0x27b0
-#define MN_rol 0x27b7
-#define MN_arpl 0x27bb
-#define MN_vpmacsdql 0x27c0
-#define MN_vpmacssdql 0x27ca
-#define MN_lsl 0x27d5
-#define MN_movsl 0x27d9
-#define MN_setl 0x27df
-#define MN_cwtl 0x27e4
+#define MN_tdcall 0x27df
+#define MN_lcall 0x27e6
+#define MN_seamcall 0x27ec
+#define MN_vmmcall 0x27f5
+#define MN_vmcall 0x27fd
+#define MN_syscall 0x2804
+#define MN_vzeroall 0x280c
+#define MN_fildll 0x2815
+#define MN_blcfill 0x281c
+#define MN_blsfill 0x2824
+#define MN_fistpll 0x282c
+#define MN_fisttpll 0x2834
+#define MN_jnl 0x283d
+#define MN_setnl 0x2841
+#define MN_setzunl 0x2847
+#define MN_cmovnl 0x284f
+#define MN_rol 0x2856
+#define MN_arpl 0x285a
+#define MN_vpmacsdql 0x285f
+#define MN_vpmacssdql 0x2869
+#define MN_lsl 0x2874
+#define MN_movsl 0x2878
+#define MN_setl 0x287e
+#define MN_cwtl 0x2883
#define MN_mul (MN_fmul + 1)
#define MN_fmul (MN_pfmul + 1)
-#define MN_pfmul 0x27e9
+#define MN_pfmul 0x2888
#define MN_imul (MN_fimul + 1)
-#define MN_fimul 0x27ef
-#define MN_montmul 0x27f5
-#define MN_cmovl 0x27fd
-#define MN_vpmovb2m 0x2803
-#define MN_vpmovd2m 0x280c
-#define MN_vpmovq2m 0x2815
-#define MN_vpmovw2m 0x281e
-#define MN_aam 0x2827
-#define MN_fxam 0x282b
-#define MN_fprem 0x2830
-#define MN_fcom 0x2836
-#define MN_ficom 0x283b
-#define MN_fucom 0x2841
-#define MN_fsetpm 0x2847
-#define MN_fnsetpm 0x284e
-#define MN_frstpm 0x2856
-#define MN_vpperm 0x285d
+#define MN_fimul 0x288e
+#define MN_montmul 0x2894
+#define MN_setzul 0x289c
+#define MN_cmovl 0x28a3
+#define MN_vpmovb2m 0x28a9
+#define MN_vpmovd2m 0x28b2
+#define MN_vpmovq2m 0x28bb
+#define MN_vpmovw2m 0x28c4
+#define MN_aam 0x28cd
+#define MN_fxam 0x28d1
+#define MN_fprem 0x28d6
+#define MN_fcom 0x28dc
+#define MN_ficom 0x28e1
+#define MN_fucom 0x28e7
+#define MN_fsetpm 0x28ed
+#define MN_fnsetpm 0x28f4
+#define MN_frstpm 0x28fc
+#define MN_vpperm 0x2903
#define MN_pcmpestrm (MN_vpcmpestrm + 1)
-#define MN_vpcmpestrm 0x2864
+#define MN_vpcmpestrm 0x290a
#define MN_pcmpistrm (MN_vpcmpistrm + 1)
-#define MN_vpcmpistrm 0x286f
-#define MN_rsm 0x287a
-#define MN_fpatan 0x287e
-#define MN_fptan 0x2885
-#define MN_bndcn 0x288b
+#define MN_vpcmpistrm 0x2915
+#define MN_rsm 0x2920
+#define MN_fpatan 0x2924
+#define MN_fptan 0x292b
+#define MN_bndcn 0x2931
#define MN_andn (MN_pandn + 1)
#define MN_pandn (MN_vpandn + 1)
-#define MN_vpandn 0x2891
+#define MN_vpandn 0x2937
#define MN_in (MN_xbegin + 4)
-#define MN_xbegin 0x2898
-#define MN_pfmin 0x289f
-#define MN_fsin 0x28a5
-#define MN_vmxon 0x28aa
-#define MN_vmrun 0x28b0
-#define MN_jo 0x28b6
-#define MN_jno 0x28b9
-#define MN_setno 0x28bd
-#define MN_cmovno 0x28c3
-#define MN_jpo 0x28ca
-#define MN_setpo 0x28ce
-#define MN_cmovpo 0x28d4
-#define MN_cqo 0x28db
-#define MN_tilezero 0x28df
-#define MN_clzero 0x28e8
-#define MN_seto 0x28ef
-#define MN_into 0x28f4
-#define MN_cqto 0x28f9
-#define MN_ssto 0x28fe
-#define MN_cmovo 0x2903
-#define MN_push2p 0x2909
-#define MN_pop2p 0x2910
-#define MN_bswap 0x2916
-#define MN_fsubp 0x291c
-#define MN_pfrcp 0x2922
-#define MN_rdtscp 0x2928
-#define MN_faddp 0x292f
-#define MN_pdep 0x2935
-#define MN_ffreep 0x293a
-#define MN_rep 0x2941
-#define MN_pushp 0x2945
-#define MN_fcomip 0x294b
-#define MN_fucomip 0x2952
-#define MN_jp 0x295a
-#define MN_fmulp 0x295d
+#define MN_xbegin 0x293e
+#define MN_pfmin 0x2945
+#define MN_fsin 0x294b
+#define MN_vmxon 0x2950
+#define MN_vmrun 0x2956
+#define MN_jo 0x295c
+#define MN_jno 0x295f
+#define MN_setno 0x2963
+#define MN_setzuno 0x2969
+#define MN_cmovno 0x2971
+#define MN_jpo 0x2978
+#define MN_setpo 0x297c
+#define MN_setzupo 0x2982
+#define MN_cmovpo 0x298a
+#define MN_cqo 0x2991
+#define MN_tilezero 0x2995
+#define MN_clzero 0x299e
+#define MN_seto 0x29a5
+#define MN_into 0x29aa
+#define MN_cqto 0x29af
+#define MN_ssto 0x29b4
+#define MN_setzuo 0x29b9
+#define MN_cmovo 0x29c0
+#define MN_push2p 0x29c6
+#define MN_pop2p 0x29cd
+#define MN_bswap 0x29d3
+#define MN_fsubp 0x29d9
+#define MN_pfrcp 0x29df
+#define MN_rdtscp 0x29e5
+#define MN_faddp 0x29ec
+#define MN_pdep 0x29f2
+#define MN_ffreep 0x29f7
+#define MN_rep 0x29fe
+#define MN_pushp 0x2a02
+#define MN_fcomip 0x2a08
+#define MN_fucomip 0x2a0f
+#define MN_jp 0x2a17
+#define MN_fmulp 0x2a1a
#define MN_cmp (MN_scmp + 1)
-#define MN_scmp 0x2963
+#define MN_scmp 0x2a20
#define MN_jmp (MN_ljmp + 1)
-#define MN_ljmp 0x2968
-#define MN_fcomp 0x296d
-#define MN_ficomp 0x2973
-#define MN_fucomp 0x297a
-#define MN_jnp 0x2981
-#define MN_setnp 0x2985
-#define MN_cmovnp 0x298b
+#define MN_ljmp 0x2a25
+#define MN_fcomp 0x2a2a
+#define MN_ficomp 0x2a30
+#define MN_fucomp 0x2a37
+#define MN_jnp 0x2a3e
+#define MN_setnp 0x2a42
+#define MN_setzunp 0x2a48
+#define MN_cmovnp 0x2a50
#define MN_nop (MN_fnop + 1)
-#define MN_fnop 0x2992
-#define MN_loop 0x2997
-#define MN_pop 0x299c
-#define MN_fcompp 0x29a0
-#define MN_fucompp 0x29a7
-#define MN_popp 0x29af
-#define MN_fsubrp 0x29b4
-#define MN_fdivrp 0x29bb
-#define MN_rstorssp 0x29c2
-#define MN_saveprevssp 0x29cb
-#define MN_setp 0x29d7
-#define MN_fbstp 0x29dc
-#define MN_fdecstp 0x29e2
-#define MN_fincstp 0x29ea
-#define MN_fstp 0x29f2
-#define MN_fistp 0x29f7
-#define MN_fisttp 0x29fd
+#define MN_fnop 0x2a57
+#define MN_loop 0x2a5c
+#define MN_pop 0x2a61
+#define MN_fcompp 0x2a65
+#define MN_fucompp 0x2a6c
+#define MN_popp 0x2a74
+#define MN_fsubrp 0x2a79
+#define MN_fdivrp 0x2a80
+#define MN_rstorssp 0x2a87
+#define MN_saveprevssp 0x2a90
+#define MN_setp 0x2a9c
+#define MN_fbstp 0x2aa1
+#define MN_fdecstp 0x2aa7
+#define MN_fincstp 0x2aaf
+#define MN_fstp 0x2ab7
+#define MN_fistp 0x2abc
+#define MN_fisttp 0x2ac2
#define MN_movddup (MN_vmovddup + 1)
-#define MN_vmovddup 0x2a04
+#define MN_vmovddup 0x2ac9
#define MN_movshdup (MN_vmovshdup + 1)
-#define MN_vmovshdup 0x2a0d
+#define MN_vmovshdup 0x2ad2
#define MN_movsldup (MN_vmovsldup + 1)
-#define MN_vmovsldup 0x2a17
-#define MN_fdivp 0x2a21
-#define MN_cmovp 0x2a27
-#define MN_vpbroadcastmb2q 0x2a2d
-#define MN_vpermi2q 0x2a3d
-#define MN_vpmovm2q 0x2a46
-#define MN_movdq2q 0x2a4f
-#define MN_vpermt2q 0x2a57
-#define MN_vpshaq 0x2a60
-#define MN_vpsraq 0x2a67
-#define MN_vphaddbq 0x2a6e
-#define MN_vphaddubq 0x2a77
+#define MN_vmovsldup 0x2adc
+#define MN_setzup 0x2ae6
+#define MN_fdivp 0x2aed
+#define MN_cmovp 0x2af3
+#define MN_vpbroadcastmb2q 0x2af9
+#define MN_vpermi2q 0x2b09
+#define MN_vpmovm2q 0x2b12
+#define MN_movdq2q 0x2b1b
+#define MN_vpermt2q 0x2b23
+#define MN_vpshaq 0x2b2c
+#define MN_vpsraq 0x2b33
+#define MN_vphaddbq 0x2b3a
+#define MN_vphaddubq 0x2b43
#define MN_psubq (MN_vpsubq + 1)
-#define MN_vpsubq 0x2a81
+#define MN_vpsubq 0x2b4d
#define MN_pmovsxbq (MN_vpmovsxbq + 1)
-#define MN_vpmovsxbq 0x2a88
+#define MN_vpmovsxbq 0x2b54
#define MN_pmovzxbq (MN_vpmovzxbq + 1)
-#define MN_vpmovzxbq 0x2a92
+#define MN_vpmovzxbq 0x2b5e
#define MN_cvttpd2dq (MN_vcvttpd2dq + 1)
-#define MN_vcvttpd2dq 0x2a9c
+#define MN_vcvttpd2dq 0x2b68
#define MN_cvtpd2dq (MN_vcvtpd2dq + 1)
-#define MN_vcvtpd2dq 0x2aa7
-#define MN_vcvttph2dq 0x2ab1
-#define MN_vcvtph2dq 0x2abc
-#define MN_movq2dq 0x2ac6
+#define MN_vcvtpd2dq 0x2b73
+#define MN_vcvttph2dq 0x2b7d
+#define MN_vcvtph2dq 0x2b88
+#define MN_movq2dq 0x2b92
#define MN_cvttps2dq (MN_vcvttps2dq + 1)
-#define MN_vcvttps2dq 0x2ace
+#define MN_vcvttps2dq 0x2b9a
#define MN_cvtps2dq (MN_vcvtps2dq + 1)
-#define MN_vcvtps2dq 0x2ad9
-#define MN_vphsubdq 0x2ae3
-#define MN_cdq 0x2aec
-#define MN_kaddq 0x2af0
+#define MN_vcvtps2dq 0x2ba5
+#define MN_vphsubdq 0x2baf
+#define MN_cdq 0x2bb8
+#define MN_kaddq 0x2bbc
#define MN_paddq (MN_vpaddq + 1)
-#define MN_vpaddq 0x2af6
-#define MN_vphadddq 0x2afd
+#define MN_vpaddq 0x2bc2
+#define MN_vphadddq 0x2bc9
#define MN_punpckhdq (MN_vpunpckhdq + 1)
-#define MN_vpunpckhdq 0x2b06
-#define MN_kunpckdq 0x2b11
-#define MN_vpshldq 0x2b1a
+#define MN_vpunpckhdq 0x2bd2
+#define MN_kunpckdq 0x2bdd
+#define MN_vpshldq 0x2be6
#define MN_punpckldq (MN_vpunpckldq + 1)
-#define MN_vpunpckldq 0x2b22
+#define MN_vpunpckldq 0x2bee
#define MN_pslldq (MN_vpslldq + 1)
-#define MN_vpslldq 0x2b2d
+#define MN_vpslldq 0x2bf9
#define MN_psrldq (MN_vpsrldq + 1)
-#define MN_vpsrldq 0x2b35
+#define MN_vpsrldq 0x2c01
#define MN_pmuldq (MN_vpmuldq + 1)
-#define MN_vpmuldq 0x2b3d
-#define MN_kandq 0x2b45
-#define MN_vpandq 0x2b4b
-#define MN_vpexpandq 0x2b52
+#define MN_vpmuldq 0x2c09
+#define MN_kandq 0x2c11
+#define MN_vpandq 0x2c17
+#define MN_vpexpandq 0x2c1e
#define MN_punpckhqdq (MN_vpunpckhqdq + 1)
-#define MN_vpunpckhqdq 0x2b5c
+#define MN_vpunpckhqdq 0x2c28
#define MN_pclmulhqhqdq (MN_vpclmulhqhqdq + 1)
-#define MN_vpclmulhqhqdq 0x2b68
+#define MN_vpclmulhqhqdq 0x2c34
#define MN_pclmullqhqdq (MN_vpclmullqhqdq + 1)
-#define MN_vpclmullqhqdq 0x2b76
+#define MN_vpclmullqhqdq 0x2c42
#define MN_punpcklqdq (MN_vpunpcklqdq + 1)
-#define MN_vpunpcklqdq 0x2b84
+#define MN_vpunpcklqdq 0x2c50
#define MN_pclmulhqlqdq (MN_vpclmulhqlqdq + 1)
-#define MN_vpclmulhqlqdq 0x2b90
+#define MN_vpclmulhqlqdq 0x2c5c
#define MN_pclmullqlqdq (MN_vpclmullqlqdq + 1)
-#define MN_vpclmullqlqdq 0x2b9e
+#define MN_vpclmullqlqdq 0x2c6a
#define MN_pclmulqdq (MN_vpclmulqdq + 1)
-#define MN_vpclmulqdq 0x2bac
-#define MN_vpgatherdq 0x2bb7
-#define MN_vpscatterdq 0x2bc2
-#define MN_vpshrdq 0x2bce
+#define MN_vpclmulqdq 0x2c78
+#define MN_vpgatherdq 0x2c83
+#define MN_vpscatterdq 0x2c8e
+#define MN_vpshrdq 0x2c9a
#define MN_movntdq (MN_vmovntdq + 1)
-#define MN_vmovntdq 0x2bd6
-#define MN_vcvttpd2udq 0x2bdf
-#define MN_vcvtpd2udq 0x2beb
-#define MN_vcvttph2udq 0x2bf6
-#define MN_vcvtph2udq 0x2c02
-#define MN_vcvttps2udq 0x2c0d
-#define MN_vcvtps2udq 0x2c19
-#define MN_vphaddudq 0x2c24
+#define MN_vmovntdq 0x2ca2
+#define MN_vcvttpd2udq 0x2cab
+#define MN_vcvtpd2udq 0x2cb7
+#define MN_vcvttph2udq 0x2cc2
+#define MN_vcvtph2udq 0x2cce
+#define MN_vcvttps2udq 0x2cd9
+#define MN_vcvtps2udq 0x2ce5
+#define MN_vphaddudq 0x2cf0
#define MN_pmuludq (MN_vpmuludq + 1)
-#define MN_vpmuludq 0x2c2e
+#define MN_vpmuludq 0x2cfa
#define MN_pmovsxdq (MN_vpmovsxdq + 1)
-#define MN_vpmovsxdq 0x2c37
+#define MN_vpmovsxdq 0x2d03
#define MN_pmovzxdq (MN_vpmovzxdq + 1)
-#define MN_vpmovzxdq 0x2c41
-#define MN_vpcomgeq 0x2c4b
-#define MN_vpcomleq 0x2c54
-#define MN_vpcmpnleq 0x2c5d
-#define MN_vpcmpleq 0x2c67
-#define MN_pfcmpeq 0x2c70
-#define MN_vpcomfalseq 0x2c78
-#define MN_vpcomtrueq 0x2c84
-#define MN_vpternlogq 0x2c8f
-#define MN_vpshlq 0x2c9a
+#define MN_vpmovzxdq 0x2d0d
+#define MN_vpcomgeq 0x2d17
+#define MN_vpcomleq 0x2d20
+#define MN_vpcmpnleq 0x2d29
+#define MN_vpcmpleq 0x2d33
+#define MN_pfcmpeq 0x2d3c
+#define MN_vpcomfalseq 0x2d44
+#define MN_vpcomtrueq 0x2d50
+#define MN_vpternlogq 0x2d5b
+#define MN_vpshlq 0x2d66
#define MN_psllq (MN_vpsllq + 1)
-#define MN_vpsllq 0x2ca1
-#define MN_vpmullq 0x2ca8
-#define MN_vprolq 0x2cb0
+#define MN_vpsllq 0x2d6d
+#define MN_vpmullq 0x2d74
+#define MN_vprolq 0x2d7c
#define MN_psrlq (MN_vpsrlq + 1)
-#define MN_vpsrlq 0x2cb7
-#define MN_kshiftlq 0x2cbe
-#define MN_vpblendmq 0x2cc7
-#define MN_vptestnmq 0x2cd1
-#define MN_vpcomq 0x2cdb
-#define MN_vpermq 0x2ce2
-#define MN_vptestmq 0x2ce9
-#define MN_kandnq 0x2cf2
-#define MN_vpandnq 0x2cf9
-#define MN_valignq 0x2d01
-#define MN_vpcmpq 0x2d09
-#define MN_incsspq 0x2d10
-#define MN_rdsspq 0x2d18
-#define MN_vcvttpd2qq 0x2d1f
-#define MN_vcvtpd2qq 0x2d2a
-#define MN_vcvttph2qq 0x2d34
-#define MN_vcvtph2qq 0x2d3f
-#define MN_vcvttps2qq 0x2d49
-#define MN_vcvtps2qq 0x2d54
-#define MN_vpcomeqq 0x2d5e
-#define MN_vpcomneqq 0x2d67
-#define MN_vpcmpneqq 0x2d71
+#define MN_vpsrlq 0x2d83
+#define MN_kshiftlq 0x2d8a
+#define MN_vpblendmq 0x2d93
+#define MN_vptestnmq 0x2d9d
+#define MN_vpcomq 0x2da7
+#define MN_vpermq 0x2dae
+#define MN_vptestmq 0x2db5
+#define MN_kandnq 0x2dbe
+#define MN_vpandnq 0x2dc5
+#define MN_valignq 0x2dcd
+#define MN_vpcmpq 0x2dd5
+#define MN_incsspq 0x2ddc
+#define MN_rdsspq 0x2de4
+#define MN_vcvttpd2qq 0x2deb
+#define MN_vcvtpd2qq 0x2df6
+#define MN_vcvttph2qq 0x2e00
+#define MN_vcvtph2qq 0x2e0b
+#define MN_vcvttps2qq 0x2e15
+#define MN_vcvtps2qq 0x2e20
+#define MN_vpcomeqq 0x2e2a
+#define MN_vpcomneqq 0x2e33
+#define MN_vpcmpneqq 0x2e3d
#define MN_pcmpeqq (MN_vpcmpeqq + 1)
-#define MN_vpcmpeqq 0x2d7b
-#define MN_vpgatherqq 0x2d84
-#define MN_vpscatterqq 0x2d8f
-#define MN_vcvttpd2uqq 0x2d9b
-#define MN_vcvtpd2uqq 0x2da7
-#define MN_vcvttph2uqq 0x2db2
-#define MN_vcvtph2uqq 0x2dbe
-#define MN_vcvttps2uqq 0x2dc9
-#define MN_vcvtps2uqq 0x2dd5
-#define MN_korq 0x2de0
-#define MN_kxnorq 0x2de5
-#define MN_vporq 0x2dec
-#define MN_vprorq 0x2df2
-#define MN_kxorq 0x2df9
-#define MN_vpxorq 0x2dff
+#define MN_vpcmpeqq 0x2e47
+#define MN_vpgatherqq 0x2e50
+#define MN_vpscatterqq 0x2e5b
+#define MN_vcvttpd2uqq 0x2e67
+#define MN_vcvtpd2uqq 0x2e73
+#define MN_vcvttph2uqq 0x2e7e
+#define MN_vcvtph2uqq 0x2e8a
+#define MN_vcvttps2uqq 0x2e95
+#define MN_vcvtps2uqq 0x2ea1
+#define MN_korq 0x2eac
+#define MN_kxnorq 0x2eb1
+#define MN_vporq 0x2eb8
+#define MN_vprorq 0x2ebe
+#define MN_kxorq 0x2ec5
+#define MN_vpxorq 0x2ecb
#define MN_pinsrq (MN_vpinsrq + 1)
-#define MN_vpinsrq 0x2e06
-#define MN_kshiftrq 0x2e0e
+#define MN_vpinsrq 0x2ed2
+#define MN_kshiftrq 0x2eda
#define MN_extrq (MN_pextrq + 1)
#define MN_pextrq (MN_vpextrq + 1)
-#define MN_vpextrq 0x2e17
-#define MN_vpabsq 0x2e1f
-#define MN_vpminsq 0x2e26
-#define MN_vpcompressq 0x2e2e
-#define MN_wrssq 0x2e3a
-#define MN_wrussq 0x2e40
-#define MN_vpmaxsq 0x2e47
-#define MN_vp2intersectq 0x2e4f
-#define MN_vpconflictq 0x2e5d
-#define MN_vpcomgtq 0x2e69
+#define MN_vpextrq 0x2ee3
+#define MN_vpabsq 0x2eeb
+#define MN_vpminsq 0x2ef2
+#define MN_vpcompressq 0x2efa
+#define MN_wrssq 0x2f06
+#define MN_wrussq 0x2f0c
+#define MN_vpmaxsq 0x2f13
+#define MN_vp2intersectq 0x2f1b
+#define MN_vpconflictq 0x2f29
+#define MN_vpcomgtq 0x2f35
#define MN_pcmpgtq (MN_vpcmpgtq + 1)
-#define MN_vpcmpgtq 0x2e72
-#define MN_cltq 0x2e7b
-#define MN_vpcomltq 0x2e80
-#define MN_vpcmpnltq 0x2e89
-#define MN_vpcmpltq 0x2e93
-#define MN_vpopcntq 0x2e9c
-#define MN_vplzcntq 0x2ea5
-#define MN_movntq 0x2eae
-#define MN_knotq 0x2eb5
-#define MN_vprotq 0x2ebb
-#define MN_insertq 0x2ec2
-#define MN_vpbroadcastq 0x2eca
-#define MN_ktestq 0x2ed7
-#define MN_kortestq 0x2ede
-#define MN_vpcomgeuq 0x2ee7
-#define MN_vpcomleuq 0x2ef1
-#define MN_vpcmpnleuq 0x2efb
-#define MN_vpcmpleuq 0x2f06
-#define MN_vpcomfalseuq 0x2f10
-#define MN_vpcomtrueuq 0x2f1d
-#define MN_vpmadd52huq 0x2f29
-#define MN_vpmadd52luq 0x2f35
-#define MN_vpcomuq 0x2f41
-#define MN_vpminuq 0x2f49
-#define MN_vpcmpuq 0x2f51
-#define MN_vpcomequq 0x2f59
-#define MN_vpcomnequq 0x2f63
-#define MN_vpcmpnequq 0x2f6e
-#define MN_vpcmpequq 0x2f79
-#define MN_vpcomgtuq 0x2f83
-#define MN_vpcomltuq 0x2f8d
-#define MN_vpcmpnltuq 0x2f97
-#define MN_vpcmpltuq 0x2fa2
-#define MN_vpmaxuq 0x2fac
-#define MN_vpsravq 0x2fb4
-#define MN_vpshldvq 0x2fbc
-#define MN_vpshrdvq 0x2fc5
-#define MN_vpsllvq 0x2fce
-#define MN_vprolvq 0x2fd6
-#define MN_vpsrlvq 0x2fde
+#define MN_vpcmpgtq 0x2f3e
+#define MN_cltq 0x2f47
+#define MN_vpcomltq 0x2f4c
+#define MN_vpcmpnltq 0x2f55
+#define MN_vpcmpltq 0x2f5f
+#define MN_vpopcntq 0x2f68
+#define MN_vplzcntq 0x2f71
+#define MN_movntq 0x2f7a
+#define MN_knotq 0x2f81
+#define MN_vprotq 0x2f87
+#define MN_insertq 0x2f8e
+#define MN_vpbroadcastq 0x2f96
+#define MN_ktestq 0x2fa3
+#define MN_kortestq 0x2faa
+#define MN_vpcomgeuq 0x2fb3
+#define MN_vpcomleuq 0x2fbd
+#define MN_vpcmpnleuq 0x2fc7
+#define MN_vpcmpleuq 0x2fd2
+#define MN_vpcomfalseuq 0x2fdc
+#define MN_vpcomtrueuq 0x2fe9
+#define MN_vpmadd52huq 0x2ff5
+#define MN_vpmadd52luq 0x3001
+#define MN_vpcomuq 0x300d
+#define MN_vpminuq 0x3015
+#define MN_vpcmpuq 0x301d
+#define MN_vpcomequq 0x3025
+#define MN_vpcomnequq 0x302f
+#define MN_vpcmpnequq 0x303a
+#define MN_vpcmpequq 0x3045
+#define MN_vpcomgtuq 0x304f
+#define MN_vpcomltuq 0x3059
+#define MN_vpcmpnltuq 0x3063
+#define MN_vpcmpltuq 0x306e
+#define MN_vpmaxuq 0x3078
+#define MN_vpsravq 0x3080
+#define MN_vpshldvq 0x3088
+#define MN_vpshrdvq 0x3091
+#define MN_vpsllvq 0x309a
+#define MN_vprolvq 0x30a2
+#define MN_vpsrlvq 0x30aa
#define MN_movq (MN_kmovq + 1)
#define MN_kmovq (MN_maskmovq + 3)
#define MN_maskmovq (MN_vpmaskmovq + 2)
-#define MN_vpmaskmovq 0x2fe6
-#define MN_vmovq 0x2ff1
-#define MN_vprorvq 0x2ff7
-#define MN_vphaddwq 0x2fff
-#define MN_vphadduwq 0x3008
+#define MN_vpmaskmovq 0x30b2
+#define MN_vmovq 0x30bd
+#define MN_vprorvq 0x30c3
+#define MN_vphaddwq 0x30cb
+#define MN_vphadduwq 0x30d4
#define MN_pmovsxwq (MN_vpmovsxwq + 1)
-#define MN_vpmovsxwq 0x3012
+#define MN_vpmovsxwq 0x30de
#define MN_pmovzxwq (MN_vpmovzxwq + 1)
-#define MN_vpmovzxwq 0x301c
-#define MN_rex_r 0x3026
-#define MN_vmclear 0x302c
-#define MN_lar 0x3034
-#define MN_sar 0x3038
+#define MN_vpmovzxwq 0x30e8
+#define MN_rex_r 0x30f2
+#define MN_vmclear 0x30f8
+#define MN_lar 0x3100
+#define MN_sar 0x3104
#define MN_fsubr (MN_pfsubr + 1)
-#define MN_pfsubr 0x303c
-#define MN_fisubr 0x3043
-#define MN_rcr 0x304a
-#define MN_vzeroupper 0x304e
+#define MN_pfsubr 0x3108
+#define MN_fisubr 0x310f
+#define MN_rcr 0x3116
+#define MN_vzeroupper 0x311a
#define MN_en[...]
[diff truncated at 100000 bytes]
More information about the Binutils-cvs
mailing list