From ac32c879b26af580e29ecaa152e3d9d999f34caa Mon Sep 17 00:00:00 2001 From: "Cui, Lili" Date: Thu, 28 Dec 2023 01:06:41 +0000 Subject: [PATCH] Support APX pushp/popp gas/ChangeLog: * config/tc-i386.c (process_operands): Handle "PUSHP/POPP requires rex2.w == 1." * testsuite/gas/i386/x86-64.exp: Add new test for PUSHP/POPP. * testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d: New test. * testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l: Ditto. * testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s: Ditto. * testsuite/gas/i386/x86-64-apx-pushp-popp.d: Ditto. * testsuite/gas/i386/x86-64-apx-pushp-popp.s: Ditto. opcodes/ChangeLog: * i386-dis.c (putop): print pushp and popp. * i386-opc.tbl: Added new insns. * i386-init.h : Regenerated. * i386-mnem.h : Regenerated. * i386-tbl.h: Regenerated. --- gas/config/tc-i386.c | 3 +- .../gas/i386/x86-64-apx-pushp-popp-intel.d | 14 + .../gas/i386/x86-64-apx-pushp-popp-inval.l | 5 + .../gas/i386/x86-64-apx-pushp-popp-inval.s | 7 + gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d | 14 + gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s | 8 + gas/testsuite/gas/i386/x86-64.exp | 3 + opcodes/i386-dis.c | 55 +- opcodes/i386-mnem.h | 1722 ++++++++++---------- opcodes/i386-opc.h | 2 + opcodes/i386-opc.tbl | 3 + opcodes/i386-tbl.h | 380 ++--- 12 files changed, 1154 insertions(+), 1062 deletions(-) create mode 100644 gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l create mode 100644 gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s create mode 100644 gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d create mode 100644 gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 1aa887b..760a5a6 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -3911,7 +3911,8 @@ is_apx_evex_encoding (void) static INLINE bool is_apx_rex2_encoding (void) { - return i.rex2 || i.rex2_encoding; + return i.rex2 || i.rex2_encoding + || i.tm.opcode_modifier.operandconstraint == REX2_REQUIRED; } static unsigned int diff --git a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d new file mode 100644 index 0000000..44e3e96 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-intel.d @@ -0,0 +1,14 @@ +#as: +#objdump: -dw -Mintel +#name: x86_64 APX_F pushp popp insns (Intel disassembly) +#source: x86-64-apx-pushp-popp.s + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*d5 08 50[ ]+pushp rax +\s*[a-f0-9]+:\s*d5 19 57[ ]+pushp r31 +\s*[a-f0-9]+:\s*d5 08 58[ ]+popp rax +\s*[a-f0-9]+:\s*d5 19 5f[ ]+popp r31 diff --git a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l new file mode 100644 index 0000000..c4d774b --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l @@ -0,0 +1,5 @@ +.* Assembler messages: +.*:4: Error: operand size mismatch for `pushp' +.*:5: Error: operand size mismatch for `popp' +.*:6: Error: operand size mismatch for `pushp' +.*:7: Error: operand size mismatch for `popp' diff --git a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s new file mode 100644 index 0000000..28ed5d8 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.s @@ -0,0 +1,7 @@ +# Check bytecode of APX_F pushp popp instructions with illegal instructions. + + .text + pushp %eax + popp %eax + pushp (%rax) + popp (%rax) diff --git a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d new file mode 100644 index 0000000..b20e5ba --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.d @@ -0,0 +1,14 @@ +#as: +#objdump: -dw +#name: x86_64 APX_F pushp popp insns +#source: x86-64-apx-pushp-popp.s + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*d5 08 50[ ]+pushp %rax +\s*[a-f0-9]+:\s*d5 19 57[ ]+pushp %r31 +\s*[a-f0-9]+:\s*d5 08 58[ ]+popp %rax +\s*[a-f0-9]+:\s*d5 19 5f[ ]+popp %r31 diff --git a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s new file mode 100644 index 0000000..0ea66d0 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp.s @@ -0,0 +1,8 @@ +# Check 64bit APX_F pushp popp instructions + + .text + _start: + pushp %rax + pushp %r31 + popp %rax + popp %r31 diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp index 0e7b5d0..1b13c52 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -348,6 +348,9 @@ run_dump_test "x86-64-avx512dq-rcigrne" run_dump_test "x86-64-apx-push2pop2" run_dump_test "x86-64-apx-push2pop2-intel" run_list_test "x86-64-apx-push2pop2-inval" +run_dump_test "x86-64-apx-pushp-popp" +run_dump_test "x86-64-apx-pushp-popp-intel" +run_list_test "x86-64-apx-pushp-popp-inval" run_dump_test "x86-64-avx512dq-rcigru-intel" run_dump_test "x86-64-avx512dq-rcigru" run_dump_test "x86-64-avx512dq-rcigrz-intel" diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index b83ffc8..bfb9493 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -301,6 +301,9 @@ struct dis_private { #define EVEX_len_used 2 +/* {rex2} is not printed when the REX2_SPECIAL is set. */ +#define REX2_SPECIAL 16 + /* Flags stored in PREFIXES. */ #define PREFIX_REPZ 1 #define PREFIX_REPNZ 2 @@ -1924,23 +1927,23 @@ static const struct dis386 dis386[] = { { "dec{S|}", { RMeSI }, 0 }, { "dec{S|}", { RMeDI }, 0 }, /* 50 */ - { "push{!P|}", { RMrAX }, 0 }, - { "push{!P|}", { RMrCX }, 0 }, - { "push{!P|}", { RMrDX }, 0 }, - { "push{!P|}", { RMrBX }, 0 }, - { "push{!P|}", { RMrSP }, 0 }, - { "push{!P|}", { RMrBP }, 0 }, - { "push{!P|}", { RMrSI }, 0 }, - { "push{!P|}", { RMrDI }, 0 }, + { "push!P", { RMrAX }, 0 }, + { "push!P", { RMrCX }, 0 }, + { "push!P", { RMrDX }, 0 }, + { "push!P", { RMrBX }, 0 }, + { "push!P", { RMrSP }, 0 }, + { "push!P", { RMrBP }, 0 }, + { "push!P", { RMrSI }, 0 }, + { "push!P", { RMrDI }, 0 }, /* 58 */ - { "pop{!P|}", { RMrAX }, 0 }, - { "pop{!P|}", { RMrCX }, 0 }, - { "pop{!P|}", { RMrDX }, 0 }, - { "pop{!P|}", { RMrBX }, 0 }, - { "pop{!P|}", { RMrSP }, 0 }, - { "pop{!P|}", { RMrBP }, 0 }, - { "pop{!P|}", { RMrSI }, 0 }, - { "pop{!P|}", { RMrDI }, 0 }, + { "pop!P", { RMrAX }, 0 }, + { "pop!P", { RMrCX }, 0 }, + { "pop!P", { RMrDX }, 0 }, + { "pop!P", { RMrBX }, 0 }, + { "pop!P", { RMrSP }, 0 }, + { "pop!P", { RMrBP }, 0 }, + { "pop!P", { RMrSI }, 0 }, + { "pop!P", { RMrDI }, 0 }, /* 60 */ { X86_64_TABLE (X86_64_60) }, { X86_64_TABLE (X86_64_61) }, @@ -9783,9 +9786,10 @@ print_insn (bfd_vma pc, disassemble_info *info, int intel_syntax) /* Check if the REX2 prefix is used. */ if (ins.last_rex2_prefix >= 0 - && ((ins.rex2 & 0x7) ^ (ins.rex2_used & 0x7)) == 0 - && (ins.rex ^ ins.rex_used) == 0 - && (ins.rex2 & 0x7)) + && ((ins.rex2 & REX2_SPECIAL) + || (((ins.rex2 & 7) ^ (ins.rex2_used & 7)) == 0 + && (ins.rex ^ ins.rex_used) == 0 + && (ins.rex2 & 7)))) ins.all_prefixes[ins.last_rex2_prefix] = 0; /* Check if the SEG prefix is used. */ @@ -10632,6 +10636,19 @@ putop (instr_info *ins, const char *in_template, int sizeflag) case 'P': if (l == 0) { + if (!cond && ins->last_rex2_prefix >= 0 && (ins->rex & REX_W)) + { + /* For pushp and popp, p is printed and do not print {rex2} + for them. */ + *ins->obufp++ = 'p'; + ins->rex2 |= REX2_SPECIAL; + break; + } + + /* For "!P" print nothing else in Intel syntax. */ + if (!cond && ins->intel_syntax) + break; + if ((ins->modrm.mod == 3 || !cond) && !(sizeflag & SUFFIX_ALWAYS)) break; diff --git a/opcodes/i386-mnem.h b/opcodes/i386-mnem.h index ad92bca..44fe882 100644 --- a/opcodes/i386-mnem.h +++ b/opcodes/i386-mnem.h @@ -1317,1053 +1317,1055 @@ extern const char i386_mnemonics[]; #define MN_pdep 0x2935 #define MN_ffreep 0x293a #define MN_rep 0x2941 -#define MN_fcomip 0x2945 -#define MN_fucomip 0x294c -#define MN_jp 0x2954 -#define MN_fmulp 0x2957 +#define MN_pushp 0x2945 +#define MN_fcomip 0x294b +#define MN_fucomip 0x2952 +#define MN_jp 0x295a +#define MN_fmulp 0x295d #define MN_cmp (MN_scmp + 1) -#define MN_scmp 0x295d +#define MN_scmp 0x2963 #define MN_jmp (MN_ljmp + 1) -#define MN_ljmp 0x2962 -#define MN_fcomp 0x2967 -#define MN_ficomp 0x296d -#define MN_fucomp 0x2974 -#define MN_jnp 0x297b -#define MN_setnp 0x297f -#define MN_cmovnp 0x2985 +#define MN_ljmp 0x2968 +#define MN_fcomp 0x296d +#define MN_ficomp 0x2973 +#define MN_fucomp 0x297a +#define MN_jnp 0x2981 +#define MN_setnp 0x2985 +#define MN_cmovnp 0x298b #define MN_nop (MN_fnop + 1) -#define MN_fnop 0x298c -#define MN_loop 0x2991 -#define MN_pop 0x2996 -#define MN_fcompp 0x299a -#define MN_fucompp 0x29a1 -#define MN_fsubrp 0x29a9 -#define MN_fdivrp 0x29b0 -#define MN_rstorssp 0x29b7 -#define MN_saveprevssp 0x29c0 -#define MN_setp 0x29cc -#define MN_fbstp 0x29d1 -#define MN_fdecstp 0x29d7 -#define MN_fincstp 0x29df -#define MN_fstp 0x29e7 -#define MN_fistp 0x29ec -#define MN_fisttp 0x29f2 +#define MN_fnop 0x2992 +#define MN_loop 0x2997 +#define MN_pop 0x299c +#define MN_fcompp 0x29a0 +#define MN_fucompp 0x29a7 +#define MN_popp 0x29af +#define MN_fsubrp 0x29b4 +#define MN_fdivrp 0x29bb +#define MN_rstorssp 0x29c2 +#define MN_saveprevssp 0x29cb +#define MN_setp 0x29d7 +#define MN_fbstp 0x29dc +#define MN_fdecstp 0x29e2 +#define MN_fincstp 0x29ea +#define MN_fstp 0x29f2 +#define MN_fistp 0x29f7 +#define MN_fisttp 0x29fd #define MN_movddup (MN_vmovddup + 1) -#define MN_vmovddup 0x29f9 +#define MN_vmovddup 0x2a04 #define MN_movshdup (MN_vmovshdup + 1) -#define MN_vmovshdup 0x2a02 +#define MN_vmovshdup 0x2a0d #define MN_movsldup (MN_vmovsldup + 1) -#define MN_vmovsldup 0x2a0c -#define MN_fdivp 0x2a16 -#define MN_cmovp 0x2a1c -#define MN_vpbroadcastmb2q 0x2a22 -#define MN_vpermi2q 0x2a32 -#define MN_vpmovm2q 0x2a3b -#define MN_movdq2q 0x2a44 -#define MN_vpermt2q 0x2a4c -#define MN_vpshaq 0x2a55 -#define MN_vpsraq 0x2a5c -#define MN_vphaddbq 0x2a63 -#define MN_vphaddubq 0x2a6c +#define MN_vmovsldup 0x2a17 +#define MN_fdivp 0x2a21 +#define MN_cmovp 0x2a27 +#define MN_vpbroadcastmb2q 0x2a2d +#define MN_vpermi2q 0x2a3d +#define MN_vpmovm2q 0x2a46 +#define MN_movdq2q 0x2a4f +#define MN_vpermt2q 0x2a57 +#define MN_vpshaq 0x2a60 +#define MN_vpsraq 0x2a67 +#define MN_vphaddbq 0x2a6e +#define MN_vphaddubq 0x2a77 #define MN_psubq (MN_vpsubq + 1) -#define MN_vpsubq 0x2a76 +#define MN_vpsubq 0x2a81 #define MN_pmovsxbq (MN_vpmovsxbq + 1) -#define MN_vpmovsxbq 0x2a7d +#define MN_vpmovsxbq 0x2a88 #define MN_pmovzxbq (MN_vpmovzxbq + 1) -#define MN_vpmovzxbq 0x2a87 +#define MN_vpmovzxbq 0x2a92 #define MN_cvttpd2dq (MN_vcvttpd2dq + 1) -#define MN_vcvttpd2dq 0x2a91 +#define MN_vcvttpd2dq 0x2a9c #define MN_cvtpd2dq (MN_vcvtpd2dq + 1) -#define MN_vcvtpd2dq 0x2a9c -#define MN_vcvttph2dq 0x2aa6 -#define MN_vcvtph2dq 0x2ab1 -#define MN_movq2dq 0x2abb +#define MN_vcvtpd2dq 0x2aa7 +#define MN_vcvttph2dq 0x2ab1 +#define MN_vcvtph2dq 0x2abc +#define MN_movq2dq 0x2ac6 #define MN_cvttps2dq (MN_vcvttps2dq + 1) -#define MN_vcvttps2dq 0x2ac3 +#define MN_vcvttps2dq 0x2ace #define MN_cvtps2dq (MN_vcvtps2dq + 1) -#define MN_vcvtps2dq 0x2ace -#define MN_vphsubdq 0x2ad8 -#define MN_cdq 0x2ae1 -#define MN_kaddq 0x2ae5 +#define MN_vcvtps2dq 0x2ad9 +#define MN_vphsubdq 0x2ae3 +#define MN_cdq 0x2aec +#define MN_kaddq 0x2af0 #define MN_paddq (MN_vpaddq + 1) -#define MN_vpaddq 0x2aeb -#define MN_vphadddq 0x2af2 +#define MN_vpaddq 0x2af6 +#define MN_vphadddq 0x2afd #define MN_punpckhdq (MN_vpunpckhdq + 1) -#define MN_vpunpckhdq 0x2afb -#define MN_kunpckdq 0x2b06 -#define MN_vpshldq 0x2b0f +#define MN_vpunpckhdq 0x2b06 +#define MN_kunpckdq 0x2b11 +#define MN_vpshldq 0x2b1a #define MN_punpckldq (MN_vpunpckldq + 1) -#define MN_vpunpckldq 0x2b17 +#define MN_vpunpckldq 0x2b22 #define MN_pslldq (MN_vpslldq + 1) -#define MN_vpslldq 0x2b22 +#define MN_vpslldq 0x2b2d #define MN_psrldq (MN_vpsrldq + 1) -#define MN_vpsrldq 0x2b2a +#define MN_vpsrldq 0x2b35 #define MN_pmuldq (MN_vpmuldq + 1) -#define MN_vpmuldq 0x2b32 -#define MN_kandq 0x2b3a -#define MN_vpandq 0x2b40 -#define MN_vpexpandq 0x2b47 +#define MN_vpmuldq 0x2b3d +#define MN_kandq 0x2b45 +#define MN_vpandq 0x2b4b +#define MN_vpexpandq 0x2b52 #define MN_punpckhqdq (MN_vpunpckhqdq + 1) -#define MN_vpunpckhqdq 0x2b51 +#define MN_vpunpckhqdq 0x2b5c #define MN_pclmulhqhqdq (MN_vpclmulhqhqdq + 1) -#define MN_vpclmulhqhqdq 0x2b5d +#define MN_vpclmulhqhqdq 0x2b68 #define MN_pclmullqhqdq (MN_vpclmullqhqdq + 1) -#define MN_vpclmullqhqdq 0x2b6b +#define MN_vpclmullqhqdq 0x2b76 #define MN_punpcklqdq (MN_vpunpcklqdq + 1) -#define MN_vpunpcklqdq 0x2b79 +#define MN_vpunpcklqdq 0x2b84 #define MN_pclmulhqlqdq (MN_vpclmulhqlqdq + 1) -#define MN_vpclmulhqlqdq 0x2b85 +#define MN_vpclmulhqlqdq 0x2b90 #define MN_pclmullqlqdq (MN_vpclmullqlqdq + 1) -#define MN_vpclmullqlqdq 0x2b93 +#define MN_vpclmullqlqdq 0x2b9e #define MN_pclmulqdq (MN_vpclmulqdq + 1) -#define MN_vpclmulqdq 0x2ba1 -#define MN_vpgatherdq 0x2bac -#define MN_vpscatterdq 0x2bb7 -#define MN_vpshrdq 0x2bc3 +#define MN_vpclmulqdq 0x2bac +#define MN_vpgatherdq 0x2bb7 +#define MN_vpscatterdq 0x2bc2 +#define MN_vpshrdq 0x2bce #define MN_movntdq (MN_vmovntdq + 1) -#define MN_vmovntdq 0x2bcb -#define MN_vcvttpd2udq 0x2bd4 -#define MN_vcvtpd2udq 0x2be0 -#define MN_vcvttph2udq 0x2beb -#define MN_vcvtph2udq 0x2bf7 -#define MN_vcvttps2udq 0x2c02 -#define MN_vcvtps2udq 0x2c0e -#define MN_vphaddudq 0x2c19 +#define MN_vmovntdq 0x2bd6 +#define MN_vcvttpd2udq 0x2bdf +#define MN_vcvtpd2udq 0x2beb +#define MN_vcvttph2udq 0x2bf6 +#define MN_vcvtph2udq 0x2c02 +#define MN_vcvttps2udq 0x2c0d +#define MN_vcvtps2udq 0x2c19 +#define MN_vphaddudq 0x2c24 #define MN_pmuludq (MN_vpmuludq + 1) -#define MN_vpmuludq 0x2c23 +#define MN_vpmuludq 0x2c2e #define MN_pmovsxdq (MN_vpmovsxdq + 1) -#define MN_vpmovsxdq 0x2c2c +#define MN_vpmovsxdq 0x2c37 #define MN_pmovzxdq (MN_vpmovzxdq + 1) -#define MN_vpmovzxdq 0x2c36 -#define MN_vpcomgeq 0x2c40 -#define MN_vpcomleq 0x2c49 -#define MN_vpcmpnleq 0x2c52 -#define MN_vpcmpleq 0x2c5c -#define MN_pfcmpeq 0x2c65 -#define MN_vpcomfalseq 0x2c6d -#define MN_vpcomtrueq 0x2c79 -#define MN_vpternlogq 0x2c84 -#define MN_vpshlq 0x2c8f +#define MN_vpmovzxdq 0x2c41 +#define MN_vpcomgeq 0x2c4b +#define MN_vpcomleq 0x2c54 +#define MN_vpcmpnleq 0x2c5d +#define MN_vpcmpleq 0x2c67 +#define MN_pfcmpeq 0x2c70 +#define MN_vpcomfalseq 0x2c78 +#define MN_vpcomtrueq 0x2c84 +#define MN_vpternlogq 0x2c8f +#define MN_vpshlq 0x2c9a #define MN_psllq (MN_vpsllq + 1) -#define MN_vpsllq 0x2c96 -#define MN_vpmullq 0x2c9d -#define MN_vprolq 0x2ca5 +#define MN_vpsllq 0x2ca1 +#define MN_vpmullq 0x2ca8 +#define MN_vprolq 0x2cb0 #define MN_psrlq (MN_vpsrlq + 1) -#define MN_vpsrlq 0x2cac -#define MN_kshiftlq 0x2cb3 -#define MN_vpblendmq 0x2cbc -#define MN_vptestnmq 0x2cc6 -#define MN_vpcomq 0x2cd0 -#define MN_vpermq 0x2cd7 -#define MN_vptestmq 0x2cde -#define MN_kandnq 0x2ce7 -#define MN_vpandnq 0x2cee -#define MN_valignq 0x2cf6 -#define MN_vpcmpq 0x2cfe -#define MN_incsspq 0x2d05 -#define MN_rdsspq 0x2d0d -#define MN_vcvttpd2qq 0x2d14 -#define MN_vcvtpd2qq 0x2d1f -#define MN_vcvttph2qq 0x2d29 -#define MN_vcvtph2qq 0x2d34 -#define MN_vcvttps2qq 0x2d3e -#define MN_vcvtps2qq 0x2d49 -#define MN_vpcomeqq 0x2d53 -#define MN_vpcomneqq 0x2d5c -#define MN_vpcmpneqq 0x2d66 +#define MN_vpsrlq 0x2cb7 +#define MN_kshiftlq 0x2cbe +#define MN_vpblendmq 0x2cc7 +#define MN_vptestnmq 0x2cd1 +#define MN_vpcomq 0x2cdb +#define MN_vpermq 0x2ce2 +#define MN_vptestmq 0x2ce9 +#define MN_kandnq 0x2cf2 +#define MN_vpandnq 0x2cf9 +#define MN_valignq 0x2d01 +#define MN_vpcmpq 0x2d09 +#define MN_incsspq 0x2d10 +#define MN_rdsspq 0x2d18 +#define MN_vcvttpd2qq 0x2d1f +#define MN_vcvtpd2qq 0x2d2a +#define MN_vcvttph2qq 0x2d34 +#define MN_vcvtph2qq 0x2d3f +#define MN_vcvttps2qq 0x2d49 +#define MN_vcvtps2qq 0x2d54 +#define MN_vpcomeqq 0x2d5e +#define MN_vpcomneqq 0x2d67 +#define MN_vpcmpneqq 0x2d71 #define MN_pcmpeqq (MN_vpcmpeqq + 1) -#define MN_vpcmpeqq 0x2d70 -#define MN_vpgatherqq 0x2d79 -#define MN_vpscatterqq 0x2d84 -#define MN_vcvttpd2uqq 0x2d90 -#define MN_vcvtpd2uqq 0x2d9c -#define MN_vcvttph2uqq 0x2da7 -#define MN_vcvtph2uqq 0x2db3 -#define MN_vcvttps2uqq 0x2dbe -#define MN_vcvtps2uqq 0x2dca -#define MN_korq 0x2dd5 -#define MN_kxnorq 0x2dda -#define MN_vporq 0x2de1 -#define MN_vprorq 0x2de7 -#define MN_kxorq 0x2dee -#define MN_vpxorq 0x2df4 +#define MN_vpcmpeqq 0x2d7b +#define MN_vpgatherqq 0x2d84 +#define MN_vpscatterqq 0x2d8f +#define MN_vcvttpd2uqq 0x2d9b +#define MN_vcvtpd2uqq 0x2da7 +#define MN_vcvttph2uqq 0x2db2 +#define MN_vcvtph2uqq 0x2dbe +#define MN_vcvttps2uqq 0x2dc9 +#define MN_vcvtps2uqq 0x2dd5 +#define MN_korq 0x2de0 +#define MN_kxnorq 0x2de5 +#define MN_vporq 0x2dec +#define MN_vprorq 0x2df2 +#define MN_kxorq 0x2df9 +#define MN_vpxorq 0x2dff #define MN_pinsrq (MN_vpinsrq + 1) -#define MN_vpinsrq 0x2dfb -#define MN_kshiftrq 0x2e03 +#define MN_vpinsrq 0x2e06 +#define MN_kshiftrq 0x2e0e #define MN_extrq (MN_pextrq + 1) #define MN_pextrq (MN_vpextrq + 1) -#define MN_vpextrq 0x2e0c -#define MN_vpabsq 0x2e14 -#define MN_vpminsq 0x2e1b -#define MN_vpcompressq 0x2e23 -#define MN_wrssq 0x2e2f -#define MN_wrussq 0x2e35 -#define MN_vpmaxsq 0x2e3c -#define MN_vp2intersectq 0x2e44 -#define MN_vpconflictq 0x2e52 -#define MN_vpcomgtq 0x2e5e +#define MN_vpextrq 0x2e17 +#define MN_vpabsq 0x2e1f +#define MN_vpminsq 0x2e26 +#define MN_vpcompressq 0x2e2e +#define MN_wrssq 0x2e3a +#define MN_wrussq 0x2e40 +#define MN_vpmaxsq 0x2e47 +#define MN_vp2intersectq 0x2e4f +#define MN_vpconflictq 0x2e5d +#define MN_vpcomgtq 0x2e69 #define MN_pcmpgtq (MN_vpcmpgtq + 1) -#define MN_vpcmpgtq 0x2e67 -#define MN_cltq 0x2e70 -#define MN_vpcomltq 0x2e75 -#define MN_vpcmpnltq 0x2e7e -#define MN_vpcmpltq 0x2e88 -#define MN_vpopcntq 0x2e91 -#define MN_vplzcntq 0x2e9a -#define MN_movntq 0x2ea3 -#define MN_knotq 0x2eaa -#define MN_vprotq 0x2eb0 -#define MN_insertq 0x2eb7 -#define MN_vpbroadcastq 0x2ebf -#define MN_ktestq 0x2ecc -#define MN_kortestq 0x2ed3 -#define MN_vpcomgeuq 0x2edc -#define MN_vpcomleuq 0x2ee6 -#define MN_vpcmpnleuq 0x2ef0 -#define MN_vpcmpleuq 0x2efb -#define MN_vpcomfalseuq 0x2f05 -#define MN_vpcomtrueuq 0x2f12 -#define MN_vpmadd52huq 0x2f1e -#define MN_vpmadd52luq 0x2f2a -#define MN_vpcomuq 0x2f36 -#define MN_vpminuq 0x2f3e -#define MN_vpcmpuq 0x2f46 -#define MN_vpcomequq 0x2f4e -#define MN_vpcomnequq 0x2f58 -#define MN_vpcmpnequq 0x2f63 -#define MN_vpcmpequq 0x2f6e -#define MN_vpcomgtuq 0x2f78 -#define MN_vpcomltuq 0x2f82 -#define MN_vpcmpnltuq 0x2f8c -#define MN_vpcmpltuq 0x2f97 -#define MN_vpmaxuq 0x2fa1 -#define MN_vpsravq 0x2fa9 -#define MN_vpshldvq 0x2fb1 -#define MN_vpshrdvq 0x2fba -#define MN_vpsllvq 0x2fc3 -#define MN_vprolvq 0x2fcb -#define MN_vpsrlvq 0x2fd3 +#define MN_vpcmpgtq 0x2e72 +#define MN_cltq 0x2e7b +#define MN_vpcomltq 0x2e80 +#define MN_vpcmpnltq 0x2e89 +#define MN_vpcmpltq 0x2e93 +#define MN_vpopcntq 0x2e9c +#define MN_vplzcntq 0x2ea5 +#define MN_movntq 0x2eae +#define MN_knotq 0x2eb5 +#define MN_vprotq 0x2ebb +#define MN_insertq 0x2ec2 +#define MN_vpbroadcastq 0x2eca +#define MN_ktestq 0x2ed7 +#define MN_kortestq 0x2ede +#define MN_vpcomgeuq 0x2ee7 +#define MN_vpcomleuq 0x2ef1 +#define MN_vpcmpnleuq 0x2efb +#define MN_vpcmpleuq 0x2f06 +#define MN_vpcomfalseuq 0x2f10 +#define MN_vpcomtrueuq 0x2f1d +#define MN_vpmadd52huq 0x2f29 +#define MN_vpmadd52luq 0x2f35 +#define MN_vpcomuq 0x2f41 +#define MN_vpminuq 0x2f49 +#define MN_vpcmpuq 0x2f51 +#define MN_vpcomequq 0x2f59 +#define MN_vpcomnequq 0x2f63 +#define MN_vpcmpnequq 0x2f6e +#define MN_vpcmpequq 0x2f79 +#define MN_vpcomgtuq 0x2f83 +#define MN_vpcomltuq 0x2f8d +#define MN_vpcmpnltuq 0x2f97 +#define MN_vpcmpltuq 0x2fa2 +#define MN_vpmaxuq 0x2fac +#define MN_vpsravq 0x2fb4 +#define MN_vpshldvq 0x2fbc +#define MN_vpshrdvq 0x2fc5 +#define MN_vpsllvq 0x2fce +#define MN_vprolvq 0x2fd6 +#define MN_vpsrlvq 0x2fde #define MN_movq (MN_kmovq + 1) #define MN_kmovq (MN_maskmovq + 3) #define MN_maskmovq (MN_vpmaskmovq + 2) -#define MN_vpmaskmovq 0x2fdb -#define MN_vmovq 0x2fe6 -#define MN_vprorvq 0x2fec -#define MN_vphaddwq 0x2ff4 -#define MN_vphadduwq 0x2ffd +#define MN_vpmaskmovq 0x2fe6 +#define MN_vmovq 0x2ff1 +#define MN_vprorvq 0x2ff7 +#define MN_vphaddwq 0x2fff +#define MN_vphadduwq 0x3008 #define MN_pmovsxwq (MN_vpmovsxwq + 1) -#define MN_vpmovsxwq 0x3007 +#define MN_vpmovsxwq 0x3012 #define MN_pmovzxwq (MN_vpmovzxwq + 1) -#define MN_vpmovzxwq 0x3011 -#define MN_rex_r 0x301b -#define MN_vmclear 0x3021 -#define MN_lar 0x3029 -#define MN_sar 0x302d +#define MN_vpmovzxwq 0x301c +#define MN_rex_r 0x3026 +#define MN_vmclear 0x302c +#define MN_lar 0x3034 +#define MN_sar 0x3038 #define MN_fsubr (MN_pfsubr + 1) -#define MN_pfsubr 0x3031 -#define MN_fisubr 0x3038 -#define MN_rcr 0x303f -#define MN_vzeroupper 0x3043 +#define MN_pfsubr 0x303c +#define MN_fisubr 0x3043 +#define MN_rcr 0x304a +#define MN_vzeroupper 0x304e #define MN_enter (MN_sysenter + 3) -#define MN_sysenter 0x304e -#define MN_shr 0x3057 -#define MN_clr 0x305b +#define MN_sysenter 0x3059 +#define MN_shr 0x3062 +#define MN_clr 0x3066 #define MN_palignr (MN_vpalignr + 1) -#define MN_vpalignr 0x305f +#define MN_vpalignr 0x306a #define MN_or (MN_aor + 1) -#define MN_aor 0x3068 +#define MN_aor 0x3073 #define MN_por (MN_vpor + 1) -#define MN_vpor 0x306c -#define MN_ror 0x3071 +#define MN_vpor 0x3077 +#define MN_ror 0x307c #define MN_monitor (MN_umonitor + 1) -#define MN_umonitor 0x3075 -#define MN_frstor 0x307e +#define MN_umonitor 0x3080 +#define MN_frstor 0x3089 #define MN_xrstor (MN_fxrstor + 1) -#define MN_fxrstor 0x3085 +#define MN_fxrstor 0x3090 #define MN_xor (MN_axor + 1) -#define MN_axor 0x308d +#define MN_axor 0x3098 #define MN_pxor (MN_vpxor + 1) -#define MN_vpxor 0x3092 -#define MN_verr 0x3098 -#define MN_bsr 0x309d +#define MN_vpxor 0x309d +#define MN_verr 0x30a3 +#define MN_bsr 0x30a8 #define MN_ldmxcsr (MN_vldmxcsr + 1) -#define MN_vldmxcsr 0x30a1 +#define MN_vldmxcsr 0x30ac #define MN_stmxcsr (MN_vstmxcsr + 1) -#define MN_vstmxcsr 0x30aa -#define MN_blsr 0x30b3 +#define MN_vstmxcsr 0x30b5 +#define MN_blsr 0x30be #define MN_rdmsr (MN_urdmsr + 1) -#define MN_urdmsr 0x30b8 +#define MN_urdmsr 0x30c3 #define MN_wrmsr (MN_uwrmsr + 1) -#define MN_uwrmsr 0x30bf -#define MN_btr 0x30c6 -#define MN_xcrypt_ctr 0x30ca -#define MN_xcryptctr 0x30d5 -#define MN_ltr 0x30df -#define MN_str 0x30e3 -#define MN_bextr 0x30e7 -#define MN_fdivr 0x30ed -#define MN_fidivr 0x30f3 -#define MN_rex_wr 0x30fa -#define MN_aas 0x3101 -#define MN_scas 0x3105 -#define MN_das 0x310a -#define MN_fabs 0x310e -#define MN_movabs 0x3113 +#define MN_uwrmsr 0x30ca +#define MN_btr 0x30d1 +#define MN_xcrypt_ctr 0x30d5 +#define MN_xcryptctr 0x30e0 +#define MN_ltr 0x30ea +#define MN_str 0x30ee +#define MN_bextr 0x30f2 +#define MN_fdivr 0x30f8 +#define MN_fidivr 0x30fe +#define MN_rex_wr 0x3105 +#define MN_aas 0x310c +#define MN_scas 0x3110 +#define MN_das 0x3115 +#define MN_fabs 0x3119 +#define MN_movabs 0x311e #define MN_cs (MN_blcs + 2) -#define MN_blcs 0x311a +#define MN_blcs 0x3125 #define MN_ds (MN_lds + 1) -#define MN_lds 0x311f -#define MN_enqcmds 0x3123 -#define MN_lods 0x312b -#define MN_vpdpbssds 0x3130 -#define MN_vp4dpwssds 0x313a -#define MN_vpdpwssds 0x3145 -#define MN_vpdpbusds 0x314f -#define MN_vpdpwusds 0x3159 -#define MN_vpdpbsuds 0x3163 -#define MN_vpdpwsuds 0x316d -#define MN_vpdpbuuds 0x3177 -#define MN_vpdpwuuds 0x3181 +#define MN_lds 0x312a +#define MN_enqcmds 0x312e +#define MN_lods 0x3136 +#define MN_vpdpbssds 0x313b +#define MN_vp4dpwssds 0x3145 +#define MN_vpdpwssds 0x3150 +#define MN_vpdpbusds 0x315a +#define MN_vpdpwusds 0x3164 +#define MN_vpdpbsuds 0x316e +#define MN_vpdpwsuds 0x3178 +#define MN_vpdpbuuds 0x3182 +#define MN_vpdpwuuds 0x318c #define MN_es (MN_les + 1) -#define MN_les 0x318b -#define MN_xsaves 0x318f +#define MN_les 0x3196 +#define MN_xsaves 0x319a #define MN_fs (MN_lfs + 1) -#define MN_lfs 0x3196 +#define MN_lfs 0x31a1 #define MN_gs (MN_lkgs + 2) -#define MN_lkgs 0x319a -#define MN_lgs 0x319f -#define MN_swapgs 0x31a3 -#define MN_fchs 0x31aa -#define MN_js 0x31af -#define MN_encls 0x31b2 +#define MN_lkgs 0x31a5 +#define MN_lgs 0x31aa +#define MN_swapgs 0x31ae +#define MN_fchs 0x31b5 +#define MN_js 0x31ba +#define MN_encls 0x31bd #define MN_emms (MN_femms + 1) -#define MN_femms 0x31b8 +#define MN_femms 0x31c3 #define MN_ins (MN_lwpins + 3) -#define MN_lwpins 0x31be -#define MN_jns 0x31c5 -#define MN_wrmsrns 0x31c9 -#define MN_setns 0x31d1 -#define MN_cmovns 0x31d7 -#define MN_fcos 0x31de -#define MN_fsincos 0x31e3 -#define MN_stos 0x31eb -#define MN_vfmaddsub231ps 0x31f0 -#define MN_vfmsub231ps 0x31ff -#define MN_vfnmsub231ps 0x320b -#define MN_vfmsubadd231ps 0x3218 -#define MN_vfmadd231ps 0x3227 -#define MN_vfnmadd231ps 0x3233 -#define MN_vfmaddsub132ps 0x3240 -#define MN_vfmsub132ps 0x324f -#define MN_vfnmsub132ps 0x325b -#define MN_vfmsubadd132ps 0x3268 -#define MN_vfmadd132ps 0x3277 -#define MN_vfnmadd132ps 0x3283 -#define MN_vcvtneebf162ps 0x3290 -#define MN_vbcstnebf162ps 0x329f -#define MN_vcvtneobf162ps 0x32ae +#define MN_lwpins 0x31c9 +#define MN_jns 0x31d0 +#define MN_wrmsrns 0x31d4 +#define MN_setns 0x31dc +#define MN_cmovns 0x31e2 +#define MN_fcos 0x31e9 +#define MN_fsincos 0x31ee +#define MN_stos 0x31f6 +#define MN_vfmaddsub231ps 0x31fb +#define MN_vfmsub231ps 0x320a +#define MN_vfnmsub231ps 0x3216 +#define MN_vfmsubadd231ps 0x3223 +#define MN_vfmadd231ps 0x3232 +#define MN_vfnmadd231ps 0x323e +#define MN_vfmaddsub132ps 0x324b +#define MN_vfmsub132ps 0x325a +#define MN_vfnmsub132ps 0x3266 +#define MN_vfmsubadd132ps 0x3273 +#define MN_vfmadd132ps 0x3282 +#define MN_vfnmadd132ps 0x328e +#define MN_vcvtneebf162ps 0x329b +#define MN_vbcstnebf162ps 0x32aa +#define MN_vcvtneobf162ps 0x32b9 #define MN_cvtpd2ps (MN_vcvtpd2ps + 1) -#define MN_vcvtpd2ps 0x32bd -#define MN_vcvtneeph2ps 0x32c7 -#define MN_vcvtneoph2ps 0x32d4 -#define MN_vcvtph2ps 0x32e1 -#define MN_vbcstnesh2ps 0x32eb -#define MN_vpermi2ps 0x32f8 -#define MN_cvtpi2ps 0x3302 -#define MN_vpermil2ps 0x330b -#define MN_vexp2ps 0x3316 +#define MN_vcvtpd2ps 0x32c8 +#define MN_vcvtneeph2ps 0x32d2 +#define MN_vcvtneoph2ps 0x32df +#define MN_vcvtph2ps 0x32ec +#define MN_vbcstnesh2ps 0x32f6 +#define MN_vpermi2ps 0x3303 +#define MN_cvtpi2ps 0x330d +#define MN_vpermil2ps 0x3316 +#define MN_vexp2ps 0x3321 #define MN_cvtdq2ps (MN_vcvtdq2ps + 1) -#define MN_vcvtdq2ps 0x331e -#define MN_vcvtudq2ps 0x3328 -#define MN_vcvtqq2ps 0x3333 -#define MN_vcvtuqq2ps 0x333d -#define MN_vpermt2ps 0x3348 -#define MN_vfmaddsub213ps 0x3352 -#define MN_vfmsub213ps 0x3361 -#define MN_vfnmsub213ps 0x336d -#define MN_vfmsubadd213ps 0x337a -#define MN_vfmadd213ps 0x3389 -#define MN_vfnmadd213ps 0x3395 -#define MN_vrcp14ps 0x33a2 -#define MN_vrsqrt14ps 0x33ab -#define MN_tdpbf16ps 0x33b6 -#define MN_vdpbf16ps 0x33c0 -#define MN_tcmmrlfp16ps 0x33ca -#define MN_tcmmimfp16ps 0x33d7 -#define MN_tdpfp16ps 0x33e4 -#define MN_vrcp28ps 0x33ee -#define MN_vrsqrt28ps 0x33f7 +#define MN_vcvtdq2ps 0x3329 +#define MN_vcvtudq2ps 0x3333 +#define MN_vcvtqq2ps 0x333e +#define MN_vcvtuqq2ps 0x3348 +#define MN_vpermt2ps 0x3353 +#define MN_vfmaddsub213ps 0x335d +#define MN_vfmsub213ps 0x336c +#define MN_vfnmsub213ps 0x3378 +#define MN_vfmsubadd213ps 0x3385 +#define MN_vfmadd213ps 0x3394 +#define MN_vfnmadd213ps 0x33a0 +#define MN_vrcp14ps 0x33ad +#define MN_vrsqrt14ps 0x33b6 +#define MN_tdpbf16ps 0x33c1 +#define MN_vdpbf16ps 0x33cb +#define MN_tcmmrlfp16ps 0x33d5 +#define MN_tcmmimfp16ps 0x33e2 +#define MN_tdpfp16ps 0x33ef +#define MN_vrcp28ps 0x33f9 +#define MN_vrsqrt28ps 0x3402 #define MN_movaps (MN_vmovaps + 1) -#define MN_vmovaps 0x3402 +#define MN_vmovaps 0x340d #define MN_subps (MN_addsubps + 3) #define MN_addsubps (MN_vfmaddsubps + 3) -#define MN_vfmaddsubps 0x340a -#define MN_vaddsubps 0x3416 +#define MN_vfmaddsubps 0x3415 +#define MN_vaddsubps 0x3421 #define MN_hsubps (MN_vhsubps + 1) -#define MN_vhsubps 0x3420 -#define MN_vfmsubps 0x3428 -#define MN_vfnmsubps 0x3431 -#define MN_vsubps 0x343b -#define MN_vgatherpf0dps 0x3442 -#define MN_vscatterpf0dps 0x3450 -#define MN_vgatherpf1dps 0x345f -#define MN_vscatterpf1dps 0x346d +#define MN_vhsubps 0x342b +#define MN_vfmsubps 0x3433 +#define MN_vfnmsubps 0x343c +#define MN_vsubps 0x3446 +#define MN_vgatherpf0dps 0x344d +#define MN_vscatterpf0dps 0x345b +#define MN_vgatherpf1dps 0x346a +#define MN_vscatterpf1dps 0x3478 #define MN_addps (MN_vfmsubaddps + 6) -#define MN_vfmsubaddps 0x347c +#define MN_vfmsubaddps 0x3487 #define MN_haddps (MN_vhaddps + 1) -#define MN_vhaddps 0x3488 -#define MN_v4fmaddps 0x3490 -#define MN_vfmaddps 0x349a -#define MN_v4fnmaddps 0x34a3 -#define MN_vfnmaddps 0x34ae -#define MN_vaddps 0x34b8 +#define MN_vhaddps 0x3493 +#define MN_v4fmaddps 0x349b +#define MN_vfmaddps 0x34a5 +#define MN_v4fnmaddps 0x34ae +#define MN_vfnmaddps 0x34b9 +#define MN_vaddps 0x34c3 #define MN_andps (MN_vexpandps + 4) -#define MN_vexpandps 0x34bf -#define MN_vandps 0x34c9 +#define MN_vexpandps 0x34ca +#define MN_vandps 0x34d4 #define MN_blendps (MN_vblendps + 1) -#define MN_vblendps 0x34d0 +#define MN_vblendps 0x34db #define MN_roundps (MN_vroundps + 1) -#define MN_vroundps 0x34d9 -#define MN_vgatherdps 0x34e2 -#define MN_vscatterdps 0x34ed +#define MN_vroundps 0x34e4 +#define MN_vgatherdps 0x34ed +#define MN_vscatterdps 0x34f8 #define MN_cmpunordps (MN_vcmpunordps + 1) -#define MN_vcmpunordps 0x34f9 +#define MN_vcmpunordps 0x3504 #define MN_cmpordps (MN_vcmpordps + 1) -#define MN_vcmpordps 0x3505 -#define MN_vreduceps 0x350f -#define MN_vrangeps 0x3519 -#define MN_vcmpngeps 0x3522 -#define MN_vcmpgeps 0x352c -#define MN_vrndscaleps 0x3535 +#define MN_vcmpordps 0x3510 +#define MN_vreduceps 0x351a +#define MN_vrangeps 0x3524 +#define MN_vcmpngeps 0x352d +#define MN_vcmpgeps 0x3537 +#define MN_vrndscaleps 0x3540 #define MN_cmpnleps (MN_vcmpnleps + 1) -#define MN_vcmpnleps 0x3541 +#define MN_vcmpnleps 0x354c #define MN_cmpleps (MN_vcmpleps + 1) -#define MN_vcmpleps 0x354b -#define MN_vcmpfalseps 0x3554 -#define MN_vcmptrueps 0x3560 -#define MN_vscalefps 0x356b +#define MN_vcmpleps 0x3556 +#define MN_vcmpfalseps 0x355f +#define MN_vcmptrueps 0x356b +#define MN_vscalefps 0x3576 #define MN_shufps (MN_vshufps + 1) -#define MN_vshufps 0x3575 +#define MN_vshufps 0x3580 #define MN_unpckhps (MN_vunpckhps + 1) -#define MN_vunpckhps 0x357d +#define MN_vunpckhps 0x3588 #define MN_movlhps (MN_vmovlhps + 1) -#define MN_vmovlhps 0x3587 +#define MN_vmovlhps 0x3592 #define MN_movhps (MN_vmovhps + 1) -#define MN_vmovhps 0x3590 +#define MN_vmovhps 0x359b #define MN_movmskps (MN_vmovmskps + 1) -#define MN_vmovmskps 0x3598 +#define MN_vmovmskps 0x35a3 #define MN_movhlps (MN_vmovhlps + 1) -#define MN_vmovhlps 0x35a2 -#define MN_vpermilps 0x35ab +#define MN_vmovhlps 0x35ad +#define MN_vpermilps 0x35b6 #define MN_unpcklps (MN_vunpcklps + 1) -#define MN_vunpcklps 0x35b5 +#define MN_vunpcklps 0x35c0 #define MN_mulps (MN_vmulps + 1) -#define MN_vmulps 0x35bf +#define MN_vmulps 0x35ca #define MN_movlps (MN_vmovlps + 1) -#define MN_vmovlps 0x35c6 -#define MN_cmps 0x35ce -#define MN_vblendmps 0x35d3 -#define MN_vfixupimmps 0x35dd -#define MN_vpermps 0x35e9 +#define MN_vmovlps 0x35d1 +#define MN_cmps 0x35d9 +#define MN_vblendmps 0x35de +#define MN_vfixupimmps 0x35e8 +#define MN_vpermps 0x35f4 #define MN_andnps (MN_vandnps + 1) -#define MN_vandnps 0x35f1 +#define MN_vandnps 0x35fc #define MN_minps (MN_vminps + 1) -#define MN_vminps 0x35f9 -#define MN_seamops 0x3600 +#define MN_vminps 0x3604 +#define MN_seamops 0x360b #define MN_rcpps (MN_vrcpps + 1) -#define MN_vrcpps 0x3608 +#define MN_vrcpps 0x3613 #define MN_dpps (MN_vdpps + 1) -#define MN_vdpps 0x360f +#define MN_vdpps 0x361a #define MN_cmpps (MN_vcmpps + 1) -#define MN_vcmpps 0x3615 -#define MN_vgetexpps 0x361c -#define MN_vgatherpf0qps 0x3626 -#define MN_vscatterpf0qps 0x3634 -#define MN_vgatherpf1qps 0x3643 -#define MN_vscatterpf1qps 0x3651 -#define MN_vcmpunord_qps 0x3660 -#define MN_vcmpord_qps 0x366e +#define MN_vcmpps 0x3620 +#define MN_vgetexpps 0x3627 +#define MN_vgatherpf0qps 0x3631 +#define MN_vscatterpf0qps 0x363f +#define MN_vgatherpf1qps 0x364e +#define MN_vscatterpf1qps 0x365c +#define MN_vcmpunord_qps 0x366b +#define MN_vcmpord_qps 0x3679 #define MN_cmpneqps (MN_vcmpneqps + 1) -#define MN_vcmpneqps 0x367a +#define MN_vcmpneqps 0x3685 #define MN_cmpeqps (MN_vcmpeqps + 1) -#define MN_vcmpeqps 0x3684 -#define MN_vcmpge_oqps 0x368d -#define MN_vcmple_oqps 0x3699 -#define MN_vcmpfalse_oqps 0x36a5 -#define MN_vcmpneq_oqps 0x36b4 -#define MN_vcmpeq_oqps 0x36c1 -#define MN_vcmpgt_oqps 0x36cd -#define MN_vcmplt_oqps 0x36d9 -#define MN_vgatherqps 0x36e5 -#define MN_vscatterqps 0x36f0 -#define MN_vcmpnge_uqps 0x36fc -#define MN_vcmpnle_uqps 0x3709 -#define MN_vcmptrue_uqps 0x3716 -#define MN_vcmpneq_uqps 0x3724 -#define MN_vcmpeq_uqps 0x3731 -#define MN_vcmpngt_uqps 0x373d -#define MN_vcmpnlt_uqps 0x374a +#define MN_vcmpeqps 0x368f +#define MN_vcmpge_oqps 0x3698 +#define MN_vcmple_oqps 0x36a4 +#define MN_vcmpfalse_oqps 0x36b0 +#define MN_vcmpneq_oqps 0x36bf +#define MN_vcmpeq_oqps 0x36cc +#define MN_vcmpgt_oqps 0x36d8 +#define MN_vcmplt_oqps 0x36e4 +#define MN_vgatherqps 0x36f0 +#define MN_vscatterqps 0x36fb +#define MN_vcmpnge_uqps 0x3707 +#define MN_vcmpnle_uqps 0x3714 +#define MN_vcmptrue_uqps 0x3721 +#define MN_vcmpneq_uqps 0x372f +#define MN_vcmpeq_uqps 0x373c +#define MN_vcmpngt_uqps 0x3748 +#define MN_vcmpnlt_uqps 0x3755 #define MN_orps (MN_vorps + 1) -#define MN_vorps 0x3757 +#define MN_vorps 0x3762 #define MN_xorps (MN_vxorps + 1) -#define MN_vxorps 0x375d -#define MN_vcmpunord_sps 0x3764 -#define MN_vcmpord_sps 0x3772 -#define MN_vcmpge_osps 0x377e -#define MN_vcmple_osps 0x378a -#define MN_vcmpfalse_osps 0x3796 -#define MN_vcmpneq_osps 0x37a5 -#define MN_vcmpeq_osps 0x37b2 -#define MN_vcmpgt_osps 0x37be -#define MN_vcmplt_osps 0x37ca -#define MN_vfpclassps 0x37d6 -#define MN_vcompressps 0x37e1 -#define MN_vcmpnge_usps 0x37ed -#define MN_vcmpnle_usps 0x37fa -#define MN_vcmptrue_usps 0x3807 -#define MN_vcmpneq_usps 0x3815 -#define MN_vcmpeq_usps 0x3822 -#define MN_vcmpngt_usps 0x382e -#define MN_vcmpnlt_usps 0x383b +#define MN_vxorps 0x3768 +#define MN_vcmpunord_sps 0x376f +#define MN_vcmpord_sps 0x377d +#define MN_vcmpge_osps 0x3789 +#define MN_vcmple_osps 0x3795 +#define MN_vcmpfalse_osps 0x37a1 +#define MN_vcmpneq_osps 0x37b0 +#define MN_vcmpeq_osps 0x37bd +#define MN_vcmpgt_osps 0x37c9 +#define MN_vcmplt_osps 0x37d5 +#define MN_vfpclassps 0x37e1 +#define MN_vcompressps 0x37ec +#define MN_vcmpnge_usps 0x37f8 +#define MN_vcmpnle_usps 0x3805 +#define MN_vcmptrue_usps 0x3812 +#define MN_vcmpneq_usps 0x3820 +#define MN_vcmpeq_usps 0x382d +#define MN_vcmpngt_usps 0x3839 +#define MN_vcmpnlt_usps 0x3846 #define MN_extractps (MN_vextractps + 1) -#define MN_vextractps 0x3848 -#define MN_vcmpngtps 0x3853 -#define MN_vcmpgtps 0x385d +#define MN_vextractps 0x3853 +#define MN_vcmpngtps 0x385e +#define MN_vcmpgtps 0x3868 #define MN_cmpnltps (MN_vcmpnltps + 1) -#define MN_vcmpnltps 0x3866 +#define MN_vcmpnltps 0x3871 #define MN_cmpltps (MN_vcmpltps + 1) -#define MN_vcmpltps 0x3870 -#define MN_vgetmantps 0x3879 +#define MN_vcmpltps 0x387b +#define MN_vgetmantps 0x3884 #define MN_movntps (MN_vmovntps + 1) -#define MN_vmovntps 0x3884 +#define MN_vmovntps 0x388f #define MN_insertps (MN_vinsertps + 1) -#define MN_vinsertps 0x388d +#define MN_vinsertps 0x3898 #define MN_sqrtps (MN_rsqrtps + 1) #define MN_rsqrtps (MN_vrsqrtps + 1) -#define MN_vrsqrtps 0x3897 -#define MN_vsqrtps 0x38a0 -#define MN_vtestps 0x38a8 +#define MN_vrsqrtps 0x38a2 +#define MN_vsqrtps 0x38ab +#define MN_vtestps 0x38b3 #define MN_movups (MN_vmovups + 1) -#define MN_vmovups 0x38b0 +#define MN_vmovups 0x38bb #define MN_blendvps (MN_vblendvps + 1) -#define MN_vblendvps 0x38b8 +#define MN_vblendvps 0x38c3 #define MN_divps (MN_vdivps + 1) -#define MN_vdivps 0x38c2 -#define MN_vmaskmovps 0x38c9 +#define MN_vdivps 0x38cd +#define MN_vmaskmovps 0x38d4 #define MN_maxps (MN_vmaxps + 1) -#define MN_vmaxps 0x38d4 -#define MN_vfrczps 0x38db -#define MN_xrstors 0x38e3 +#define MN_vmaxps 0x38df +#define MN_vfrczps 0x38e6 +#define MN_xrstors 0x38ee #define MN_ss (MN_vfmsub231ss + 9) -#define MN_vfmsub231ss 0x38eb -#define MN_vfnmsub231ss 0x38f7 -#define MN_vfmadd231ss 0x3904 -#define MN_vfnmadd231ss 0x3910 -#define MN_vfmsub132ss 0x391d -#define MN_vfnmsub132ss 0x3929 -#define MN_vfmadd132ss 0x3936 -#define MN_vfnmadd132ss 0x3942 +#define MN_vfmsub231ss 0x38f6 +#define MN_vfnmsub231ss 0x3902 +#define MN_vfmadd231ss 0x390f +#define MN_vfnmadd231ss 0x391b +#define MN_vfmsub132ss 0x3928 +#define MN_vfnmsub132ss 0x3934 +#define MN_vfmadd132ss 0x3941 +#define MN_vfnmadd132ss 0x394d #define MN_cvtsd2ss (MN_vcvtsd2ss + 1) -#define MN_vcvtsd2ss 0x394f -#define MN_vcvtsh2ss 0x3959 +#define MN_vcvtsd2ss 0x395a +#define MN_vcvtsh2ss 0x3964 #define MN_cvtsi2ss (MN_vcvtsi2ss + 1) -#define MN_vcvtsi2ss 0x3963 -#define MN_vcvtusi2ss 0x396d -#define MN_vfmsub213ss 0x3978 -#define MN_vfnmsub213ss 0x3984 -#define MN_vfmadd213ss 0x3991 -#define MN_vfnmadd213ss 0x399d -#define MN_vrcp14ss 0x39aa -#define MN_vrsqrt14ss 0x39b3 -#define MN_vrcp28ss 0x39be -#define MN_vrsqrt28ss 0x39c7 +#define MN_vcvtsi2ss 0x396e +#define MN_vcvtusi2ss 0x3978 +#define MN_vfmsub213ss 0x3983 +#define MN_vfnmsub213ss 0x398f +#define MN_vfmadd213ss 0x399c +#define MN_vfnmadd213ss 0x39a8 +#define MN_vrcp14ss 0x39b5 +#define MN_vrsqrt14ss 0x39be +#define MN_vrcp28ss 0x39c9 +#define MN_vrsqrt28ss 0x39d2 #define MN_subss (MN_vfmsubss + 3) -#define MN_vfmsubss 0x39d2 -#define MN_vfnmsubss 0x39db -#define MN_vsubss 0x39e5 +#define MN_vfmsubss 0x39dd +#define MN_vfnmsubss 0x39e6 +#define MN_vsubss 0x39f0 #define MN_addss (MN_v4fmaddss + 4) -#define MN_v4fmaddss 0x39ec -#define MN_vfmaddss 0x39f6 -#define MN_v4fnmaddss 0x39ff -#define MN_vfnmaddss 0x3a0a -#define MN_vaddss 0x3a14 +#define MN_v4fmaddss 0x39f7 +#define MN_vfmaddss 0x3a01 +#define MN_v4fnmaddss 0x3a0a +#define MN_vfnmaddss 0x3a15 +#define MN_vaddss 0x3a1f #define MN_roundss (MN_vroundss + 1) -#define MN_vroundss 0x3a1b +#define MN_vroundss 0x3a26 #define MN_cmpunordss (MN_vcmpunordss + 1) -#define MN_vcmpunordss 0x3a24 +#define MN_vcmpunordss 0x3a2f #define MN_cmpordss (MN_vcmpordss + 1) -#define MN_vcmpordss 0x3a30 -#define MN_vreducess 0x3a3a -#define MN_vrangess 0x3a44 -#define MN_vcmpngess 0x3a4d -#define MN_vcmpgess 0x3a57 -#define MN_vrndscaless 0x3a60 +#define MN_vcmpordss 0x3a3b +#define MN_vreducess 0x3a45 +#define MN_vrangess 0x3a4f +#define MN_vcmpngess 0x3a58 +#define MN_vcmpgess 0x3a62 +#define MN_vrndscaless 0x3a6b #define MN_cmpnless (MN_vcmpnless + 1) -#define MN_vcmpnless 0x3a6c +#define MN_vcmpnless 0x3a77 #define MN_cmpless (MN_vcmpless + 1) -#define MN_vcmpless 0x3a76 -#define MN_vcmpfalsess 0x3a7f -#define MN_vcmptruess 0x3a8b -#define MN_vscalefss 0x3a96 +#define MN_vcmpless 0x3a81 +#define MN_vcmpfalsess 0x3a8a +#define MN_vcmptruess 0x3a96 +#define MN_vscalefss 0x3aa1 #define MN_comiss (MN_ucomiss + 1) #define MN_ucomiss (MN_vucomiss + 1) -#define MN_vucomiss 0x3aa0 -#define MN_vcomiss 0x3aa9 +#define MN_vucomiss 0x3aab +#define MN_vcomiss 0x3ab4 #define MN_lss (MN_mulss + 2) #define MN_mulss (MN_vmulss + 1) -#define MN_vmulss 0x3ab1 -#define MN_vfixupimmss 0x3ab8 +#define MN_vmulss 0x3abc +#define MN_vfixupimmss 0x3ac3 #define MN_minss (MN_vminss + 1) -#define MN_vminss 0x3ac4 +#define MN_vminss 0x3acf #define MN_rcpss (MN_vrcpss + 1) -#define MN_vrcpss 0x3acb +#define MN_vrcpss 0x3ad6 #define MN_cmpss (MN_vcmpss + 1) -#define MN_vcmpss 0x3ad2 -#define MN_vgetexpss 0x3ad9 -#define MN_vcmpunord_qss 0x3ae3 -#define MN_vcmpord_qss 0x3af1 +#define MN_vcmpss 0x3add +#define MN_vgetexpss 0x3ae4 +#define MN_vcmpunord_qss 0x3aee +#define MN_vcmpord_qss 0x3afc #define MN_cmpneqss (MN_vcmpneqss + 1) -#define MN_vcmpneqss 0x3afd +#define MN_vcmpneqss 0x3b08 #define MN_cmpeqss (MN_vcmpeqss + 1) -#define MN_vcmpeqss 0x3b07 -#define MN_vcmpge_oqss 0x3b10 -#define MN_vcmple_oqss 0x3b1c -#define MN_vcmpfalse_oqss 0x3b28 -#define MN_vcmpneq_oqss 0x3b37 -#define MN_vcmpeq_oqss 0x3b44 -#define MN_vcmpgt_oqss 0x3b50 -#define MN_vcmplt_oqss 0x3b5c -#define MN_vcmpnge_uqss 0x3b68 -#define MN_vcmpnle_uqss 0x3b75 -#define MN_vcmptrue_uqss 0x3b82 -#define MN_vcmpneq_uqss 0x3b90 -#define MN_vcmpeq_uqss 0x3b9d -#define MN_vcmpngt_uqss 0x3ba9 -#define MN_vcmpnlt_uqss 0x3bb6 -#define MN_vcmpunord_sss 0x3bc3 -#define MN_vcmpord_sss 0x3bd1 -#define MN_vcmpge_osss 0x3bdd -#define MN_vcmple_osss 0x3be9 -#define MN_vcmpfalse_osss 0x3bf5 -#define MN_vcmpneq_osss 0x3c04 -#define MN_vcmpeq_osss 0x3c11 -#define MN_vcmpgt_osss 0x3c1d -#define MN_vcmplt_osss 0x3c29 -#define MN_vfpclassss 0x3c35 -#define MN_vcmpnge_usss 0x3c40 -#define MN_vcmpnle_usss 0x3c4d -#define MN_vcmptrue_usss 0x3c5a -#define MN_vcmpneq_usss 0x3c68 -#define MN_vcmpeq_usss 0x3c75 -#define MN_vcmpngt_usss 0x3c81 -#define MN_vcmpnlt_usss 0x3c8e -#define MN_vcmpngtss 0x3c9b -#define MN_vcmpgtss 0x3ca5 +#define MN_vcmpeqss 0x3b12 +#define MN_vcmpge_oqss 0x3b1b +#define MN_vcmple_oqss 0x3b27 +#define MN_vcmpfalse_oqss 0x3b33 +#define MN_vcmpneq_oqss 0x3b42 +#define MN_vcmpeq_oqss 0x3b4f +#define MN_vcmpgt_oqss 0x3b5b +#define MN_vcmplt_oqss 0x3b67 +#define MN_vcmpnge_uqss 0x3b73 +#define MN_vcmpnle_uqss 0x3b80 +#define MN_vcmptrue_uqss 0x3b8d +#define MN_vcmpneq_uqss 0x3b9b +#define MN_vcmpeq_uqss 0x3ba8 +#define MN_vcmpngt_uqss 0x3bb4 +#define MN_vcmpnlt_uqss 0x3bc1 +#define MN_vcmpunord_sss 0x3bce +#define MN_vcmpord_sss 0x3bdc +#define MN_vcmpge_osss 0x3be8 +#define MN_vcmple_osss 0x3bf4 +#define MN_vcmpfalse_osss 0x3c00 +#define MN_vcmpneq_osss 0x3c0f +#define MN_vcmpeq_osss 0x3c1c +#define MN_vcmpgt_osss 0x3c28 +#define MN_vcmplt_osss 0x3c34 +#define MN_vfpclassss 0x3c40 +#define MN_vcmpnge_usss 0x3c4b +#define MN_vcmpnle_usss 0x3c58 +#define MN_vcmptrue_usss 0x3c65 +#define MN_vcmpneq_usss 0x3c73 +#define MN_vcmpeq_usss 0x3c80 +#define MN_vcmpngt_usss 0x3c8c +#define MN_vcmpnlt_usss 0x3c99 +#define MN_vcmpngtss 0x3ca6 +#define MN_vcmpgtss 0x3cb0 #define MN_cmpnltss (MN_vcmpnltss + 1) -#define MN_vcmpnltss 0x3cae +#define MN_vcmpnltss 0x3cb9 #define MN_cmpltss (MN_vcmpltss + 1) -#define MN_vcmpltss 0x3cb8 -#define MN_vgetmantss 0x3cc1 -#define MN_movntss 0x3ccc +#define MN_vcmpltss 0x3cc3 +#define MN_vgetmantss 0x3ccc +#define MN_movntss 0x3cd7 #define MN_sqrtss (MN_rsqrtss + 1) #define MN_rsqrtss (MN_vrsqrtss + 1) -#define MN_vrsqrtss 0x3cd4 -#define MN_vsqrtss 0x3cdd -#define MN_vbroadcastss 0x3ce5 +#define MN_vrsqrtss 0x3cdf +#define MN_vsqrtss 0x3ce8 +#define MN_vbroadcastss 0x3cf0 #define MN_divss (MN_vdivss + 1) -#define MN_vdivss 0x3cf2 +#define MN_vdivss 0x3cfd #define MN_movss (MN_vmovss + 1) -#define MN_vmovss 0x3cf9 +#define MN_vmovss 0x3d04 #define MN_maxss (MN_vmaxss + 1) -#define MN_vmaxss 0x3d00 -#define MN_vfrczss 0x3d07 -#define MN_bts 0x3d0f -#define MN_erets 0x3d13 -#define MN_sets 0x3d19 -#define MN_clts 0x3d1e -#define MN_outs 0x3d23 +#define MN_vmaxss 0x3d0b +#define MN_vfrczss 0x3d12 +#define MN_bts 0x3d1a +#define MN_erets 0x3d1e +#define MN_sets 0x3d24 +#define MN_clts 0x3d29 +#define MN_outs 0x3d2e #define MN_movs (MN_cmovs + 1) -#define MN_cmovs 0x3d28 -#define MN_fldl2t 0x3d2e -#define MN_xlat 0x3d35 -#define MN_bt 0x3d3a -#define MN_fxtract 0x3d3d -#define MN_lgdt 0x3d45 -#define MN_sgdt 0x3d4a -#define MN_lidt 0x3d4f -#define MN_sidt 0x3d54 -#define MN_fldt 0x3d59 -#define MN_lldt 0x3d5e -#define MN_sldt 0x3d63 +#define MN_cmovs 0x3d33 +#define MN_fldl2t 0x3d39 +#define MN_xlat 0x3d40 +#define MN_bt 0x3d45 +#define MN_fxtract 0x3d48 +#define MN_lgdt 0x3d50 +#define MN_sgdt 0x3d55 +#define MN_lidt 0x3d5a +#define MN_sidt 0x3d5f +#define MN_fldt 0x3d64 +#define MN_lldt 0x3d69 +#define MN_sldt 0x3d6e #define MN_ret (MN_iret + 1) #define MN_iret (MN_uiret + 1) -#define MN_uiret 0x3d68 -#define MN_lret 0x3d6e -#define MN_seamret 0x3d73 -#define MN_sysret 0x3d7b -#define MN_hreset 0x3d82 -#define MN_pfcmpgt 0x3d89 -#define MN_ht 0x3d91 +#define MN_uiret 0x3d73 +#define MN_lret 0x3d79 +#define MN_seamret 0x3d7e +#define MN_sysret 0x3d86 +#define MN_hreset 0x3d8d +#define MN_pfcmpgt 0x3d94 +#define MN_ht 0x3d9c #define MN_wait (MN_fwait + 1) -#define MN_fwait 0x3d94 +#define MN_fwait 0x3d9f #define MN_mwait (MN_umwait + 1) -#define MN_umwait 0x3d9a -#define MN_mcommit 0x3da1 -#define MN_finit 0x3da9 -#define MN_skinit 0x3daf -#define MN_fninit 0x3db6 -#define MN_vmgexit 0x3dbd -#define MN_sysexit 0x3dc5 -#define MN_hlt 0x3dcd -#define MN_popcnt 0x3dd1 -#define MN_lzcnt 0x3dd8 -#define MN_tzcnt 0x3dde -#define MN_hnt 0x3de4 +#define MN_umwait 0x3da5 +#define MN_mcommit 0x3dac +#define MN_finit 0x3db4 +#define MN_skinit 0x3dba +#define MN_fninit 0x3dc1 +#define MN_vmgexit 0x3dc8 +#define MN_sysexit 0x3dd0 +#define MN_hlt 0x3dd8 +#define MN_popcnt 0x3ddc +#define MN_lzcnt 0x3de3 +#define MN_tzcnt 0x3de9 +#define MN_hnt 0x3def #define MN_int (MN_frndint + 4) -#define MN_frndint 0x3de8 -#define MN_not 0x3df0 -#define MN_invept 0x3df4 -#define MN_xsaveopt 0x3dfb -#define MN_clflushopt 0x3e04 -#define MN_fstpt 0x3e0f -#define MN_xabort 0x3e15 -#define MN_fsqrt 0x3e1c -#define MN_pfrsqrt 0x3e22 +#define MN_frndint 0x3df3 +#define MN_not 0x3dfb +#define MN_invept 0x3dff +#define MN_xsaveopt 0x3e06 +#define MN_clflushopt 0x3e0f +#define MN_fstpt 0x3e1a +#define MN_xabort 0x3e20 +#define MN_fsqrt 0x3e27 +#define MN_pfrsqrt 0x3e2d #define MN_aesdeclast (MN_vaesdeclast + 1) -#define MN_vaesdeclast 0x3e2a +#define MN_vaesdeclast 0x3e35 #define MN_aesenclast (MN_vaesenclast + 1) -#define MN_vaesenclast 0x3e36 +#define MN_vaesenclast 0x3e41 #define MN_test (MN_ptest + 1) #define MN_ptest (MN_vptest + 1) -#define MN_vptest 0x3e42 -#define MN_xtest 0x3e49 -#define MN_fst 0x3e4f -#define MN_fist 0x3e53 -#define MN_rdmsrlist 0x3e58 -#define MN_wrmsrlist 0x3e62 +#define MN_vptest 0x3e4d +#define MN_xtest 0x3e54 +#define MN_fst 0x3e5a +#define MN_fist 0x3e5e +#define MN_rdmsrlist 0x3e63 +#define MN_wrmsrlist 0x3e6d #define MN_aeskeygenassist (MN_vaeskeygenassist + 1) -#define MN_vaeskeygenassist 0x3e6c -#define MN_vmptrst 0x3e7d -#define MN_ftst 0x3e85 -#define MN_rmpadjust 0x3e8a -#define MN_out 0x3e94 -#define MN_pext 0x3e98 -#define MN_bndcu 0x3e9d -#define MN_enclu 0x3ea3 -#define MN_fcmovnu 0x3ea9 +#define MN_vaeskeygenassist 0x3e77 +#define MN_vmptrst 0x3e88 +#define MN_ftst 0x3e90 +#define MN_rmpadjust 0x3e95 +#define MN_out 0x3e9f +#define MN_pext 0x3ea3 +#define MN_bndcu 0x3ea8 +#define MN_enclu 0x3eae +#define MN_fcmovnu 0x3eb4 #define MN_lddqu (MN_vlddqu + 1) -#define MN_vlddqu 0x3eb1 +#define MN_vlddqu 0x3ebc #define MN_movdqu (MN_maskmovdqu + 4) #define MN_maskmovdqu (MN_vmaskmovdqu + 1) -#define MN_vmaskmovdqu 0x3eb8 -#define MN_vmovdqu 0x3ec4 -#define MN_rdpkru 0x3ecc -#define MN_wrpkru 0x3ed3 -#define MN_rdpru 0x3eda -#define MN_eretu 0x3ee0 -#define MN_fcmovu 0x3ee6 -#define MN_xgetbv 0x3eed -#define MN_xsetbv 0x3ef4 +#define MN_vmaskmovdqu 0x3ec3 +#define MN_vmovdqu 0x3ecf +#define MN_rdpkru 0x3ed7 +#define MN_wrpkru 0x3ede +#define MN_rdpru 0x3ee5 +#define MN_eretu 0x3eeb +#define MN_fcmovu 0x3ef1 +#define MN_xgetbv 0x3ef8 +#define MN_xsetbv 0x3eff #define MN_div (MN_fdiv + 1) -#define MN_fdiv 0x3efb +#define MN_fdiv 0x3f06 #define MN_idiv (MN_fidiv + 1) -#define MN_fidiv 0x3f00 -#define MN_enclv 0x3f06 -#define MN_fldenv 0x3f0c -#define MN_fstenv 0x3f13 -#define MN_fnstenv 0x3f1a +#define MN_fidiv 0x3f0b +#define MN_enclv 0x3f11 +#define MN_fldenv 0x3f17 +#define MN_fstenv 0x3f1e +#define MN_fnstenv 0x3f25 #define MN_mov (MN_vpcmov + 3) -#define MN_vpcmov 0x3f22 -#define MN_bndmov 0x3f29 -#define MN_smov 0x3f30 -#define MN_rex_w 0x3f35 -#define MN_vcvttph2w 0x3f3b -#define MN_vcvtph2w 0x3f45 -#define MN_vpermi2w 0x3f4e -#define MN_vpmovm2w 0x3f57 -#define MN_vpermt2w 0x3f60 -#define MN_vpshaw 0x3f69 +#define MN_vpcmov 0x3f2d +#define MN_bndmov 0x3f34 +#define MN_smov 0x3f3b +#define MN_rex_w 0x3f40 +#define MN_vcvttph2w 0x3f46 +#define MN_vcvtph2w 0x3f50 +#define MN_vpermi2w 0x3f59 +#define MN_vpmovm2w 0x3f62 +#define MN_vpermt2w 0x3f6b +#define MN_vpshaw 0x3f74 #define MN_psraw (MN_vpsraw + 1) -#define MN_vpsraw 0x3f70 -#define MN_vphsubbw 0x3f77 -#define MN_cbw 0x3f80 +#define MN_vpsraw 0x3f7b +#define MN_vphsubbw 0x3f82 +#define MN_cbw 0x3f8b #define MN_psadbw (MN_vdbpsadbw + 3) -#define MN_vdbpsadbw 0x3f84 +#define MN_vdbpsadbw 0x3f8f #define MN_mpsadbw (MN_vmpsadbw + 1) -#define MN_vmpsadbw 0x3f8e -#define MN_vpsadbw 0x3f97 -#define MN_vphaddbw 0x3f9f +#define MN_vmpsadbw 0x3f99 +#define MN_vpsadbw 0x3fa2 +#define MN_vphaddbw 0x3faa #define MN_punpckhbw (MN_vpunpckhbw + 1) -#define MN_vpunpckhbw 0x3fa8 -#define MN_kunpckbw 0x3fb3 +#define MN_vpunpckhbw 0x3fb3 +#define MN_kunpckbw 0x3fbe #define MN_punpcklbw (MN_vpunpcklbw + 1) -#define MN_vpunpcklbw 0x3fbc -#define MN_vphaddubw 0x3fc7 +#define MN_vpunpcklbw 0x3fc7 +#define MN_vphaddubw 0x3fd2 #define MN_phsubw (MN_vphsubw + 1) -#define MN_vphsubw 0x3fd1 +#define MN_vphsubw 0x3fdc #define MN_psubw (MN_vpsubw + 1) -#define MN_vpsubw 0x3fd9 +#define MN_vpsubw 0x3fe4 #define MN_pmovsxbw (MN_vpmovsxbw + 1) -#define MN_vpmovsxbw 0x3fe0 +#define MN_vpmovsxbw 0x3feb #define MN_pmovzxbw (MN_vpmovzxbw + 1) -#define MN_vpmovzxbw 0x3fea -#define MN_fldcw 0x3ff4 -#define MN_fstcw 0x3ffa -#define MN_fnstcw 0x4000 +#define MN_vpmovzxbw 0x3ff5 +#define MN_fldcw 0x3fff +#define MN_fstcw 0x4005 +#define MN_fnstcw 0x400b #define MN_phaddw (MN_vphaddw + 1) -#define MN_vphaddw 0x4007 -#define MN_kaddw 0x400f +#define MN_vphaddw 0x4012 +#define MN_kaddw 0x401a #define MN_paddw (MN_vpaddw + 1) -#define MN_vpaddw 0x4015 -#define MN_vpshldw 0x401c -#define MN_kandw 0x4024 -#define MN_vpexpandw 0x402a +#define MN_vpaddw 0x4020 +#define MN_vpshldw 0x4027 +#define MN_kandw 0x402f +#define MN_vpexpandw 0x4035 #define MN_pblendw (MN_vpblendw + 1) -#define MN_vpblendw 0x4034 -#define MN_vpshrdw 0x403d +#define MN_vpblendw 0x403f +#define MN_vpshrdw 0x4048 #define MN_packssdw (MN_vpackssdw + 1) -#define MN_vpackssdw 0x4045 +#define MN_vpackssdw 0x4050 #define MN_packusdw (MN_vpackusdw + 1) -#define MN_vpackusdw 0x404f -#define MN_vpmovusdw 0x4059 -#define MN_vpmovsdw 0x4063 -#define MN_vpmovdw 0x406c -#define MN_vpcomgew 0x4074 -#define MN_vpcomlew 0x407d -#define MN_vpcmpnlew 0x4086 -#define MN_vpcmplew 0x4090 -#define MN_vpcomfalsew 0x4099 -#define MN_vpcomtruew 0x40a5 -#define MN_pi2fw 0x40b0 -#define MN_pshufw 0x40b6 +#define MN_vpackusdw 0x405a +#define MN_vpmovusdw 0x4064 +#define MN_vpmovsdw 0x406e +#define MN_vpmovdw 0x4077 +#define MN_vpcomgew 0x407f +#define MN_vpcomlew 0x4088 +#define MN_vpcmpnlew 0x4091 +#define MN_vpcmplew 0x409b +#define MN_vpcomfalsew 0x40a4 +#define MN_vpcomtruew 0x40b0 +#define MN_pi2fw 0x40bb +#define MN_pshufw 0x40c1 #define MN_pavgw (MN_vpavgw + 1) -#define MN_vpavgw 0x40bd -#define MN_prefetchw 0x40c4 +#define MN_vpavgw 0x40c8 +#define MN_prefetchw 0x40cf #define MN_pshufhw (MN_vpshufhw + 1) -#define MN_vpshufhw 0x40ce +#define MN_vpshufhw 0x40d9 #define MN_pmulhw (MN_vpmulhw + 1) -#define MN_vpmulhw 0x40d7 -#define MN_pf2iw 0x40df +#define MN_vpmulhw 0x40e2 +#define MN_pf2iw 0x40ea #define MN_pshuflw (MN_vpshuflw + 1) -#define MN_vpshuflw 0x40e5 -#define MN_vpshlw 0x40ee +#define MN_vpshuflw 0x40f0 +#define MN_vpshlw 0x40f9 #define MN_psllw (MN_vpsllw + 1) -#define MN_vpsllw 0x40f5 +#define MN_vpsllw 0x4100 #define MN_pmullw (MN_vpmullw + 1) -#define MN_vpmullw 0x40fc +#define MN_vpmullw 0x4107 #define MN_psrlw (MN_vpsrlw + 1) -#define MN_vpsrlw 0x4104 -#define MN_kshiftlw 0x410b -#define MN_vpblendmw 0x4114 -#define MN_vptestnmw 0x411e -#define MN_vpcomw 0x4128 -#define MN_vpermw 0x412f -#define MN_vptestmw 0x4136 -#define MN_kandnw 0x413f +#define MN_vpsrlw 0x410f +#define MN_kshiftlw 0x4116 +#define MN_vpblendmw 0x411f +#define MN_vptestnmw 0x4129 +#define MN_vpcomw 0x4133 +#define MN_vpermw 0x413a +#define MN_vptestmw 0x4141 +#define MN_kandnw 0x414a #define MN_psignw (MN_vpsignw + 1) -#define MN_vpsignw 0x4146 -#define MN_vpcmpw 0x414e -#define MN_vpcomeqw 0x4155 -#define MN_vpcomneqw 0x415e -#define MN_vpcmpneqw 0x4168 +#define MN_vpsignw 0x4151 +#define MN_vpcmpw 0x4159 +#define MN_vpcomeqw 0x4160 +#define MN_vpcomneqw 0x4169 +#define MN_vpcmpneqw 0x4173 #define MN_pcmpeqw (MN_vpcmpeqw + 1) -#define MN_vpcmpeqw 0x4172 -#define MN_vpmovusqw 0x417b -#define MN_vpmovsqw 0x4185 -#define MN_vpmovqw 0x418e -#define MN_verw 0x4196 -#define MN_pmulhrw 0x419b -#define MN_korw 0x41a3 -#define MN_kxnorw 0x41a8 -#define MN_kxorw 0x41af +#define MN_vpcmpeqw 0x417d +#define MN_vpmovusqw 0x4186 +#define MN_vpmovsqw 0x4190 +#define MN_vpmovqw 0x4199 +#define MN_verw 0x41a1 +#define MN_pmulhrw 0x41a6 +#define MN_korw 0x41ae +#define MN_kxnorw 0x41b3 +#define MN_kxorw 0x41ba #define MN_pinsrw (MN_vpinsrw + 1) -#define MN_vpinsrw 0x41b5 -#define MN_kshiftrw 0x41bd +#define MN_vpinsrw 0x41c0 +#define MN_kshiftrw 0x41c8 #define MN_pextrw (MN_vpextrw + 1) -#define MN_vpextrw 0x41c6 +#define MN_vpextrw 0x41d1 #define MN_pabsw (MN_vpabsw + 1) -#define MN_vpabsw 0x41ce +#define MN_vpabsw 0x41d9 #define MN_pmaddubsw (MN_vpmaddubsw + 1) -#define MN_vpmaddubsw 0x41d5 +#define MN_vpmaddubsw 0x41e0 #define MN_phsubsw (MN_vphsubsw + 1) -#define MN_vphsubsw 0x41e0 +#define MN_vphsubsw 0x41eb #define MN_psubsw (MN_vpsubsw + 1) -#define MN_vpsubsw 0x41e9 +#define MN_vpsubsw 0x41f4 #define MN_phaddsw (MN_vphaddsw + 1) -#define MN_vphaddsw 0x41f1 +#define MN_vphaddsw 0x41fc #define MN_paddsw (MN_vpaddsw + 1) -#define MN_vpaddsw 0x41fa -#define MN_lmsw 0x4202 -#define MN_smsw 0x4207 +#define MN_vpaddsw 0x4205 +#define MN_lmsw 0x420d +#define MN_smsw 0x4212 #define MN_pminsw (MN_vpminsw + 1) -#define MN_vpminsw 0x420c +#define MN_vpminsw 0x4217 #define MN_pmulhrsw (MN_vpmulhrsw + 1) -#define MN_vpmulhrsw 0x4214 -#define MN_vpcompressw 0x421e -#define MN_fstsw 0x422a -#define MN_fnstsw 0x4230 +#define MN_vpmulhrsw 0x421f +#define MN_vpcompressw 0x4229 +#define MN_fstsw 0x4235 +#define MN_fnstsw 0x423b #define MN_psubusw (MN_vpsubusw + 1) -#define MN_vpsubusw 0x4237 +#define MN_vpsubusw 0x4242 #define MN_paddusw (MN_vpaddusw + 1) -#define MN_vpaddusw 0x4240 -#define MN_movsw 0x4249 +#define MN_vpaddusw 0x424b +#define MN_movsw 0x4254 #define MN_pmaxsw (MN_vpmaxsw + 1) -#define MN_vpmaxsw 0x424f -#define MN_cbtw 0x4257 -#define MN_vpcomgtw 0x425c +#define MN_vpmaxsw 0x425a +#define MN_cbtw 0x4262 +#define MN_vpcomgtw 0x4267 #define MN_pcmpgtw (MN_vpcmpgtw + 1) -#define MN_vpcmpgtw 0x4265 -#define MN_vpcomltw 0x426e -#define MN_vpcmpnltw 0x4277 -#define MN_vpcmpltw 0x4281 -#define MN_vpopcntw 0x428a -#define MN_knotw 0x4293 -#define MN_vprotw 0x4299 -#define MN_vpbroadcastw 0x42a0 -#define MN_ktestw 0x42ad -#define MN_kortestw 0x42b4 -#define MN_vcvttph2uw 0x42bd -#define MN_vcvtph2uw 0x42c8 -#define MN_vpcomgeuw 0x42d2 -#define MN_vpcomleuw 0x42dc -#define MN_vpcmpnleuw 0x42e6 -#define MN_vpcmpleuw 0x42f1 -#define MN_vpcomfalseuw 0x42fb -#define MN_vpcomtrueuw 0x4308 +#define MN_vpcmpgtw 0x4270 +#define MN_vpcomltw 0x4279 +#define MN_vpcmpnltw 0x4282 +#define MN_vpcmpltw 0x428c +#define MN_vpopcntw 0x4295 +#define MN_knotw 0x429e +#define MN_vprotw 0x42a4 +#define MN_vpbroadcastw 0x42ab +#define MN_ktestw 0x42b8 +#define MN_kortestw 0x42bf +#define MN_vcvttph2uw 0x42c8 +#define MN_vcvtph2uw 0x42d3 +#define MN_vpcomgeuw 0x42dd +#define MN_vpcomleuw 0x42e7 +#define MN_vpcmpnleuw 0x42f1 +#define MN_vpcmpleuw 0x42fc +#define MN_vpcomfalseuw 0x4306 +#define MN_vpcomtrueuw 0x4313 #define MN_pmulhuw (MN_vpmulhuw + 1) -#define MN_vpmulhuw 0x4314 -#define MN_vpcomuw 0x431d +#define MN_vpmulhuw 0x431f +#define MN_vpcomuw 0x4328 #define MN_pminuw (MN_vpminuw + 1) -#define MN_vpminuw 0x4325 -#define MN_vpcmpuw 0x432d -#define MN_vpcomequw 0x4335 -#define MN_vpcomnequw 0x433f -#define MN_vpcmpnequw 0x434a -#define MN_vpcmpequw 0x4355 +#define MN_vpminuw 0x4330 +#define MN_vpcmpuw 0x4338 +#define MN_vpcomequw 0x4340 +#define MN_vpcomnequw 0x434a +#define MN_vpcmpnequw 0x4355 +#define MN_vpcmpequw 0x4360 #define MN_phminposuw (MN_vphminposuw + 1) -#define MN_vphminposuw 0x435f -#define MN_vpcomgtuw 0x436b -#define MN_vpcomltuw 0x4375 -#define MN_vpcmpnltuw 0x437f -#define MN_vpcmpltuw 0x438a +#define MN_vphminposuw 0x436a +#define MN_vpcomgtuw 0x4376 +#define MN_vpcomltuw 0x4380 +#define MN_vpcmpnltuw 0x438a +#define MN_vpcmpltuw 0x4395 #define MN_pmaxuw (MN_vpmaxuw + 1) -#define MN_vpmaxuw 0x4394 -#define MN_vpsravw 0x439c -#define MN_vpshldvw 0x43a4 -#define MN_vpshrdvw 0x43ad -#define MN_vpsllvw 0x43b6 -#define MN_vpsrlvw 0x43be -#define MN_kmovw 0x43c6 -#define MN_vmovw 0x43cc -#define MN_vpmacsww 0x43d2 -#define MN_vpmacssww 0x43db -#define MN_movzw 0x43e5 -#define MN_rex_x 0x43eb -#define MN_fyl2x 0x43f1 -#define MN_rex64x 0x43f7 -#define MN_vcvtneps2bf16x 0x43fe -#define MN_pfmax 0x440d -#define MN_adcx 0x4413 -#define MN_bndldx 0x4418 -#define MN_vfpclasspdx 0x441f -#define MN_fclex 0x442b -#define MN_fnclex 0x4431 -#define MN_rex 0x4438 -#define MN_vcvtpd2phx 0x443c -#define MN_vcvtdq2phx 0x4447 -#define MN_vcvtudq2phx 0x4452 -#define MN_vcvtqq2phx 0x445e -#define MN_vcvtuqq2phx 0x4469 -#define MN_vcvtps2phx 0x4475 -#define MN_vfpclassphx 0x4480 -#define MN_shlx 0x448c -#define MN_mulx 0x4491 -#define MN_adox 0x4496 -#define MN_vcvttpd2dqx 0x449b -#define MN_vcvtpd2dqx 0x44a7 -#define MN_vcvttpd2udqx 0x44b2 -#define MN_vcvtpd2udqx 0x44bf -#define MN_rex_rx 0x44cb -#define MN_sarx 0x44d2 -#define MN_shrx 0x44d7 -#define MN_rorx 0x44dc -#define MN_monitorx 0x44e1 -#define MN_rex_wrx 0x44ea -#define MN_vcvtpd2psx 0x44f2 -#define MN_vcvtph2psx 0x44fd -#define MN_vcvtqq2psx 0x4508 -#define MN_vcvtuqq2psx 0x4513 -#define MN_vfpclasspsx 0x451f -#define MN_movsx 0x452b -#define MN_mwaitx 0x4531 -#define MN_bndstx 0x4538 -#define MN_rex_wx 0x453f -#define MN_rexx 0x4546 -#define MN_vcvtps2phxx 0x454b -#define MN_movzx 0x4557 -#define MN_rex64y 0x455d -#define MN_vcvtneps2bf16y 0x4564 -#define MN_vfpclasspdy 0x4573 -#define MN_loadiwkey 0x457f -#define MN_vcvtpd2phy 0x4589 -#define MN_vcvtdq2phy 0x4594 -#define MN_vcvtudq2phy 0x459f -#define MN_vcvtqq2phy 0x45ab -#define MN_vcvtuqq2phy 0x45b6 -#define MN_vfpclassphy 0x45c2 -#define MN_vcvttpd2dqy 0x45ce -#define MN_vcvtpd2dqy 0x45da -#define MN_vcvttpd2udqy 0x45e5 -#define MN_vcvtpd2udqy 0x45f2 -#define MN_rmpquery 0x45fe -#define MN_clrssbsy 0x4607 -#define MN_setssbsy 0x4610 -#define MN_vcvtpd2psy 0x4619 -#define MN_vcvtqq2psy 0x4624 -#define MN_vcvtuqq2psy 0x462f -#define MN_vfpclasspsy 0x463b -#define MN_rex64xy 0x4647 -#define MN_rexy 0x464f -#define MN_vcvtps2phxy 0x4654 -#define MN_rexxy 0x4660 -#define MN_rex64z 0x4666 -#define MN_fldz 0x466d -#define MN_vfpclasspdz 0x4672 -#define MN_vcvtpd2phz 0x467e -#define MN_vcvtqq2phz 0x4689 -#define MN_vcvtuqq2phz 0x4694 -#define MN_vfpclassphz 0x46a0 -#define MN_jz 0x46ac -#define MN_jnz 0x46af -#define MN_repnz 0x46b3 -#define MN_loopnz 0x46b9 -#define MN_setnz 0x46c0 -#define MN_cmovnz 0x46c6 -#define MN_repz 0x46cd -#define MN_loopz 0x46d2 -#define MN_vfpclasspsz 0x46d8 -#define MN_setz 0x46e4 -#define MN_cmovz 0x46e9 -#define MN_rex64xz 0x46ef -#define MN_jecxz 0x46f7 -#define MN_jcxz 0x46fd -#define MN_jrcxz 0x4702 -#define MN_rexz 0x4708 -#define MN_rexxz 0x470d -#define MN_rex64yz 0x4713 -#define MN_rex64xyz 0x471b -#define MN_rexyz 0x4724 -#define MN_rexxyz 0x472a -#define MN__disp32_ 0x4731 -#define MN__rex2_ 0x473a -#define MN__vex2_ 0x4741 -#define MN__vex3_ 0x4748 -#define MN__disp16_ 0x474f -#define MN__disp8_ 0x4758 -#define MN__load_ 0x4760 -#define MN__store_ 0x4767 -#define MN__nooptimize_ 0x476f -#define MN__rex_ 0x477c -#define MN__evex_ 0x4782 -#define MN__vex_ 0x4789 -#define MN__insn 0x478f +#define MN_vpmaxuw 0x439f +#define MN_vpsravw 0x43a7 +#define MN_vpshldvw 0x43af +#define MN_vpshrdvw 0x43b8 +#define MN_vpsllvw 0x43c1 +#define MN_vpsrlvw 0x43c9 +#define MN_kmovw 0x43d1 +#define MN_vmovw 0x43d7 +#define MN_vpmacsww 0x43dd +#define MN_vpmacssww 0x43e6 +#define MN_movzw 0x43f0 +#define MN_rex_x 0x43f6 +#define MN_fyl2x 0x43fc +#define MN_rex64x 0x4402 +#define MN_vcvtneps2bf16x 0x4409 +#define MN_pfmax 0x4418 +#define MN_adcx 0x441e +#define MN_bndldx 0x4423 +#define MN_vfpclasspdx 0x442a +#define MN_fclex 0x4436 +#define MN_fnclex 0x443c +#define MN_rex 0x4443 +#define MN_vcvtpd2phx 0x4447 +#define MN_vcvtdq2phx 0x4452 +#define MN_vcvtudq2phx 0x445d +#define MN_vcvtqq2phx 0x4469 +#define MN_vcvtuqq2phx 0x4474 +#define MN_vcvtps2phx 0x4480 +#define MN_vfpclassphx 0x448b +#define MN_shlx 0x4497 +#define MN_mulx 0x449c +#define MN_adox 0x44a1 +#define MN_vcvttpd2dqx 0x44a6 +#define MN_vcvtpd2dqx 0x44b2 +#define MN_vcvttpd2udqx 0x44bd +#define MN_vcvtpd2udqx 0x44ca +#define MN_rex_rx 0x44d6 +#define MN_sarx 0x44dd +#define MN_shrx 0x44e2 +#define MN_rorx 0x44e7 +#define MN_monitorx 0x44ec +#define MN_rex_wrx 0x44f5 +#define MN_vcvtpd2psx 0x44fd +#define MN_vcvtph2psx 0x4508 +#define MN_vcvtqq2psx 0x4513 +#define MN_vcvtuqq2psx 0x451e +#define MN_vfpclasspsx 0x452a +#define MN_movsx 0x4536 +#define MN_mwaitx 0x453c +#define MN_bndstx 0x4543 +#define MN_rex_wx 0x454a +#define MN_rexx 0x4551 +#define MN_vcvtps2phxx 0x4556 +#define MN_movzx 0x4562 +#define MN_rex64y 0x4568 +#define MN_vcvtneps2bf16y 0x456f +#define MN_vfpclasspdy 0x457e +#define MN_loadiwkey 0x458a +#define MN_vcvtpd2phy 0x4594 +#define MN_vcvtdq2phy 0x459f +#define MN_vcvtudq2phy 0x45aa +#define MN_vcvtqq2phy 0x45b6 +#define MN_vcvtuqq2phy 0x45c1 +#define MN_vfpclassphy 0x45cd +#define MN_vcvttpd2dqy 0x45d9 +#define MN_vcvtpd2dqy 0x45e5 +#define MN_vcvttpd2udqy 0x45f0 +#define MN_vcvtpd2udqy 0x45fd +#define MN_rmpquery 0x4609 +#define MN_clrssbsy 0x4612 +#define MN_setssbsy 0x461b +#define MN_vcvtpd2psy 0x4624 +#define MN_vcvtqq2psy 0x462f +#define MN_vcvtuqq2psy 0x463a +#define MN_vfpclasspsy 0x4646 +#define MN_rex64xy 0x4652 +#define MN_rexy 0x465a +#define MN_vcvtps2phxy 0x465f +#define MN_rexxy 0x466b +#define MN_rex64z 0x4671 +#define MN_fldz 0x4678 +#define MN_vfpclasspdz 0x467d +#define MN_vcvtpd2phz 0x4689 +#define MN_vcvtqq2phz 0x4694 +#define MN_vcvtuqq2phz 0x469f +#define MN_vfpclassphz 0x46ab +#define MN_jz 0x46b7 +#define MN_jnz 0x46ba +#define MN_repnz 0x46be +#define MN_loopnz 0x46c4 +#define MN_setnz 0x46cb +#define MN_cmovnz 0x46d1 +#define MN_repz 0x46d8 +#define MN_loopz 0x46dd +#define MN_vfpclasspsz 0x46e3 +#define MN_setz 0x46ef +#define MN_cmovz 0x46f4 +#define MN_rex64xz 0x46fa +#define MN_jecxz 0x4702 +#define MN_jcxz 0x4708 +#define MN_jrcxz 0x470d +#define MN_rexz 0x4713 +#define MN_rexxz 0x4718 +#define MN_rex64yz 0x471e +#define MN_rex64xyz 0x4726 +#define MN_rexyz 0x472f +#define MN_rexxyz 0x4735 +#define MN__disp32_ 0x473c +#define MN__rex2_ 0x4745 +#define MN__vex2_ 0x474c +#define MN__vex3_ 0x4753 +#define MN__disp16_ 0x475a +#define MN__disp8_ 0x4763 +#define MN__load_ 0x476b +#define MN__store_ 0x4772 +#define MN__nooptimize_ 0x477a +#define MN__rex_ 0x4787 +#define MN__evex_ 0x478d +#define MN__vex_ 0x4794 +#define MN__insn 0x479a diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index 9e8c827..8db6c51 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -579,6 +579,8 @@ enum /* Instrucion requires that destination must be distinct from source registers. */ #define DISTINCT_DEST 9 + /* Instrucion requires REX2 prefix. */ +#define REX2_REQUIRED 10 OperandConstraint, /* instruction ignores operand size prefix and in Intel mode ignores mnemonic size suffix check. */ diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 900ca36..edd9f73 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -85,6 +85,7 @@ #define RegKludge OperandConstraint=REG_KLUDGE #define SwapSources OperandConstraint=SWAP_SOURCES #define Ugh OperandConstraint=UGH +#define Rex2 OperandConstraint=REX2_REQUIRED #define ATTSyntax Dialect=ATT_SYNTAX #define ATTMnemonic Dialect=ATT_MNEMONIC @@ -229,6 +230,7 @@ push, 0x68, i186&No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Imm16|Imm32 } push, 0x6, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { SReg } // In 64bit mode, the operand size is implicitly 64bit. push, 0x50, x64, No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64 } +pushp, 0x50, APX_F, No_bSuf|No_wSuf|No_lSuf|No_sSuf|Rex2, { Reg64 } push, 0xff/6, x64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64|Unspecified|BaseIndex } push, 0x6a, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm8S } push, 0x68, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Imm16|Imm32S } @@ -242,6 +244,7 @@ pop, 0x8f/0, No64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf, { Reg16|Reg32|Unsp pop, 0x7, No64, DefaultSize|No_bSuf|No_sSuf|No_qSuf, { SReg } // In 64bit mode, the operand size is implicitly 64bit. pop, 0x58, x64, No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64 } +popp, 0x58, APX_F, No_bSuf|No_wSuf|No_lSuf|No_sSuf|Rex2, { Reg64 } pop, 0x8f/0, x64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { Reg16|Reg64|Unspecified|BaseIndex } pop, 0xfa1, x64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|NoRex64, { SReg } diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index 303a0e7..1f06cb4 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -355,6 +355,13 @@ static const insn_template i386_optab[] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, + { MN_pushp, 0x50, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, { MN_pusha, 0x60, 0, SPACE_BASE, None, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, @@ -404,6 +411,13 @@ static const insn_template i386_optab[] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, + { MN_popp, 0x58, 1, SPACE_BASE, None, + { 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0 } } } }, { MN_popa, 0x61, 0, SPACE_BASE, None, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, @@ -37331,40 +37345,40 @@ typedef unsigned short i386_op_off_t; static const i386_op_off_t i386_op_sets[] = { 0, 14, 16, 18, 19, 20, 21, 23, - 26, 27, 28, 29, 39, 40, 46, 47, - 49, 53, 57, 58, 59, 60, 62, 64, - 66, 67, 68, 69, 70, 71, 73, 75, - 77, 79, 80, 81, 82, 89, 92, 99, - 102, 110, 114, 117, 124, 131, 138, 139, - 146, 148, 150, 151, 152, 153, 154, 156, - 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 178, 180, - 182, 189, 196, 207, 218, 225, 232, 239, - 246, 252, 258, 267, 270, 278, 281, 287, - 289, 291, 293, 295, 296, 297, 298, 299, + 26, 27, 28, 29, 39, 40, 41, 47, + 48, 49, 51, 55, 59, 60, 61, 62, + 64, 66, 68, 69, 70, 71, 72, 73, + 75, 77, 79, 81, 82, 83, 84, 91, + 94, 101, 104, 112, 116, 119, 126, 133, + 140, 141, 148, 150, 152, 153, 154, 155, + 156, 158, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, + 180, 182, 184, 191, 198, 209, 220, 227, + 234, 241, 248, 254, 260, 269, 272, 280, + 283, 289, 291, 293, 295, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 330, 332, 334, - 336, 338, 339, 340, 341, 342, 343, 344, + 324, 325, 326, 327, 328, 329, 330, 332, + 334, 336, 338, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 370, 372, 374, 376, 379, 382, 384, 386, - 389, 392, 395, 398, 400, 401, 402, 404, - 406, 408, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 420, 422, 424, 426, 428, - 430, 431, 433, 435, 437, 439, 441, 443, - 445, 447, 449, 453, 455, 456, 457, 458, - 461, 462, 466, 468, 469, 470, 471, 473, - 477, 478, 482, 483, 484, 486, 488, 489, + 369, 370, 372, 374, 376, 378, 381, 384, + 386, 388, 391, 394, 397, 400, 402, 403, + 404, 406, 408, 410, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 422, 424, 426, + 428, 430, 432, 433, 435, 437, 439, 441, + 443, 445, 447, 449, 451, 455, 457, 458, + 459, 460, 463, 464, 468, 470, 471, 472, + 473, 475, 479, 480, 484, 485, 486, 488, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 502, 503, 506, 510, 511, 517, 521, - 522, 528, 532, 533, 536, 540, 541, 547, - 551, 552, 558, 559, 560, 561, 562, 563, + 498, 499, 500, 504, 505, 508, 512, 513, + 519, 523, 524, 530, 534, 535, 538, 542, + 543, 549, 553, 554, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, - 580, 581, 584, 587, 588, 589, 590, 591, + 580, 581, 582, 583, 586, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, @@ -37376,118 +37390,118 @@ static const i386_op_off_t i386_op_sets[] = 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, - 680, 681, 682, 683, 685, 687, 688, 689, + 680, 681, 682, 683, 684, 685, 687, 689, 690, 691, 692, 693, 694, 695, 696, 697, - 699, 701, 703, 705, 707, 709, 711, 713, - 715, 717, 719, 721, 723, 725, 727, 729, - 731, 733, 735, 737, 739, 741, 743, 745, - 747, 749, 751, 753, 755, 757, 758, 759, + 698, 699, 701, 703, 705, 707, 709, 711, + 713, 715, 717, 719, 721, 723, 725, 727, + 729, 731, 733, 735, 737, 739, 741, 743, + 745, 747, 749, 751, 753, 755, 757, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 772, 775, 778, 781, 784, 787, - 788, 789, 790, 791, 792, 793, 799, 807, - 810, 813, 816, 819, 822, 825, 828, 831, - 834, 837, 840, 843, 846, 849, 852, 855, - 858, 861, 864, 867, 870, 873, 876, 882, - 888, 894, 900, 906, 912, 918, 924, 927, - 930, 933, 936, 939, 942, 945, 948, 951, - 954, 957, 960, 963, 966, 969, 971, 973, - 975, 977, 979, 981, 983, 985, 987, 989, - 991, 993, 995, 997, 999, 1001, 1003, 1005, - 1007, 1009, 1011, 1013, 1015, 1016, 1017, 1023, - 1025, 1026, 1028, 1030, 1032, 1034, 1035, 1037, - 1039, 1041, 1043, 1045, 1047, 1050, 1052, 1055, - 1057, 1059, 1060, 1062, 1065, 1067, 1069, 1071, - 1073, 1076, 1079, 1086, 1092, 1095, 1098, 1101, - 1104, 1107, 1110, 1111, 1112, 1113, 1114, 1117, - 1118, 1120, 1122, 1124, 1126, 1127, 1129, 1131, - 1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, - 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, - 1165, 1167, 1169, 1171, 1173, 1175, 1177, 1179, - 1181, 1183, 1185, 1187, 1189, 1191, 1193, 1196, - 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, - 1219, 1222, 1224, 1226, 1229, 1231, 1233, 1235, - 1237, 1239, 1241, 1243, 1245, 1247, 1249, 1251, - 1253, 1255, 1257, 1259, 1261, 1262, 1264, 1266, - 1268, 1270, 1272, 1274, 1275, 1277, 1279, 1281, - 1283, 1285, 1287, 1288, 1289, 1292, 1294, 1296, - 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, - 1314, 1316, 1318, 1320, 1322, 1324, 1326, 1328, - 1329, 1330, 1333, 1335, 1336, 1337, 1338, 1339, - 1340, 1341, 1343, 1345, 1346, 1347, 1348, 1349, - 1352, 1355, 1358, 1361, 1364, 1367, 1370, 1373, - 1376, 1379, 1382, 1385, 1388, 1391, 1394, 1397, - 1400, 1403, 1406, 1408, 1410, 1414, 1418, 1420, - 1422, 1426, 1428, 1430, 1432, 1434, 1438, 1440, - 1442, 1446, 1448, 1450, 1452, 1456, 1458, 1460, - 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476, - 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, - 1494, 1496, 1498, 1500, 1502, 1504, 1506, 1508, - 1510, 1512, 1514, 1516, 1520, 1524, 1526, 1528, - 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, - 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1554, - 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, - 1572, 1574, 1576, 1577, 1578, 1580, 1582, 1584, - 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1596, - 1598, 1600, 1602, 1604, 1606, 1608, 1610, 1612, - 1614, 1616, 1618, 1620, 1622, 1624, 1626, 1628, - 1630, 1632, 1634, 1636, 1638, 1640, 1642, 1644, - 1646, 1648, 1650, 1652, 1654, 1656, 1658, 1660, - 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, - 1678, 1680, 1682, 1684, 1686, 1688, 1690, 1692, - 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708, - 1710, 1712, 1714, 1716, 1718, 1720, 1722, 1724, - 1726, 1728, 1730, 1732, 1734, 1736, 1738, 1740, - 1742, 1744, 1746, 1748, 1750, 1752, 1754, 1756, - 1758, 1760, 1762, 1764, 1766, 1768, 1770, 1772, - 1774, 1776, 1778, 1780, 1782, 1784, 1786, 1788, - 1790, 1792, 1794, 1796, 1798, 1800, 1802, 1804, - 1806, 1808, 1810, 1812, 1814, 1816, 1818, 1820, - 1822, 1824, 1826, 1828, 1830, 1832, 1834, 1836, - 1838, 1840, 1842, 1844, 1846, 1848, 1850, 1852, - 1854, 1856, 1858, 1860, 1862, 1864, 1866, 1868, - 1870, 1872, 1874, 1876, 1878, 1880, 1882, 1884, - 1886, 1888, 1890, 1892, 1894, 1896, 1898, 1900, - 1902, 1904, 1906, 1908, 1910, 1912, 1914, 1916, - 1918, 1920, 1922, 1924, 1926, 1928, 1930, 1932, - 1934, 1936, 1938, 1940, 1942, 1944, 1946, 1948, - 1950, 1952, 1954, 1956, 1958, 1960, 1962, 1964, - 1966, 1968, 1970, 1972, 1974, 1976, 1981, 1983, - 1988, 1990, 1992, 1997, 1999, 2001, 2003, 2008, - 2010, 2012, 2014, 2018, 2024, 2026, 2031, 2033, - 2035, 2037, 2039, 2041, 2043, 2045, 2047, 2049, - 2050, 2051, 2052, 2054, 2055, 2056, 2057, 2058, - 2059, 2061, 2062, 2063, 2064, 2066, 2068, 2070, - 2072, 2074, 2076, 2078, 2080, 2082, 2084, 2086, - 2088, 2090, 2094, 2095, 2096, 2098, 2102, 2106, - 2108, 2112, 2116, 2117, 2118, 2120, 2122, 2124, - 2126, 2131, 2135, 2139, 2141, 2143, 2145, 2147, - 2148, 2150, 2152, 2154, 2156, 2158, 2160, 2162, - 2164, 2166, 2168, 2170, 2172, 2174, 2176, 2178, - 2180, 2182, 2184, 2186, 2188, 2190, 2192, 2193, - 2194, 2196, 2198, 2199, 2200, 2203, 2206, 2209, - 2212, 2214, 2216, 2218, 2220, 2222, 2224, 2225, - 2226, 2227, 2229, 2233, 2235, 2237, 2243, 2247, - 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2258, - 2260, 2262, 2266, 2268, 2270, 2272, 2274, 2276, - 2278, 2280, 2282, 2284, 2286, 2288, 2290, 2292, - 2294, 2295, 2298, 2301, 2306, 2311, 2314, 2317, - 2320, 2323, 2328, 2333, 2336, 2339, 2341, 2343, - 2345, 2347, 2349, 2351, 2353, 2354, 2356, 2358, - 2360, 2362, 2364, 2365, 2366, 2367, 2371, 2375, - 2377, 2381, 2385, 2389, 2393, 2397, 2399, 2403, - 2405, 2407, 2409, 2411, 2413, 2415, 2417, 2419, - 2420, 2422, 2424, 2426, 2428, 2430, 2432, 2434, - 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, - 2444, 2445, 2447, 2449, 2451, 2453, 2455, 2457, - 2458, 2460, 2462, 2464, 2466, 2467, 2468, 2470, - 2472, 2474, 2476, 2478, 2480, 2482, 2484, 2485, - 2486, 2487, 2488, 2491, 2494, 2496, 2499, 2500, - 2501, 2503, 2504, 2506, 2507, 2508, 2510, 2512, - 2513, 2514, 2515, 2516, 2517, 2520, 2525, 2530, - 2535, 2540, 2543, 2548, 2553, 2555, 2557, 2559, - 2561, 2562, 2563, 2565, 2567, 2569, 2571, 2573, - 2575, 2577, 2578, 2579, 2580, 2581, 2582, 2583, - 2588, 2593, 2594, 2595, 2596, 2597, 2598, 2599, + 768, 769, 770, 771, 774, 777, 780, 783, + 786, 789, 790, 791, 792, 793, 794, 795, + 801, 809, 812, 815, 818, 821, 824, 827, + 830, 833, 836, 839, 842, 845, 848, 851, + 854, 857, 860, 863, 866, 869, 872, 875, + 878, 884, 890, 896, 902, 908, 914, 920, + 926, 929, 932, 935, 938, 941, 944, 947, + 950, 953, 956, 959, 962, 965, 968, 971, + 973, 975, 977, 979, 981, 983, 985, 987, + 989, 991, 993, 995, 997, 999, 1001, 1003, + 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1018, + 1019, 1025, 1027, 1028, 1030, 1032, 1034, 1036, + 1037, 1039, 1041, 1043, 1045, 1047, 1049, 1052, + 1054, 1057, 1059, 1061, 1062, 1064, 1067, 1069, + 1071, 1073, 1075, 1078, 1081, 1088, 1094, 1097, + 1100, 1103, 1106, 1109, 1112, 1113, 1114, 1115, + 1116, 1119, 1120, 1122, 1124, 1126, 1128, 1129, + 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145, + 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, + 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177, + 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1193, + 1195, 1198, 1204, 1206, 1208, 1210, 1212, 1214, + 1216, 1218, 1221, 1224, 1226, 1228, 1231, 1233, + 1235, 1237, 1239, 1241, 1243, 1245, 1247, 1249, + 1251, 1253, 1255, 1257, 1259, 1261, 1263, 1264, + 1266, 1268, 1270, 1272, 1274, 1276, 1277, 1279, + 1281, 1283, 1285, 1287, 1289, 1290, 1291, 1294, + 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, + 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, + 1328, 1330, 1331, 1332, 1335, 1337, 1338, 1339, + 1340, 1341, 1342, 1343, 1345, 1347, 1348, 1349, + 1350, 1351, 1354, 1357, 1360, 1363, 1366, 1369, + 1372, 1375, 1378, 1381, 1384, 1387, 1390, 1393, + 1396, 1399, 1402, 1405, 1408, 1410, 1412, 1416, + 1420, 1422, 1424, 1428, 1430, 1432, 1434, 1436, + 1440, 1442, 1444, 1448, 1450, 1452, 1454, 1458, + 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, + 1476, 1478, 1480, 1482, 1484, 1486, 1488, 1490, + 1492, 1494, 1496, 1498, 1500, 1502, 1504, 1506, + 1508, 1510, 1512, 1514, 1516, 1518, 1522, 1526, + 1528, 1530, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1544, 1546, 1548, 1550, 1552, + 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, + 1570, 1572, 1574, 1576, 1578, 1579, 1580, 1582, + 1584, 1586, 1588, 1589, 1590, 1591, 1592, 1593, + 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610, + 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1626, + 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, + 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658, + 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, + 1676, 1678, 1680, 1682, 1684, 1686, 1688, 1690, + 1692, 1694, 1696, 1698, 1700, 1702, 1704, 1706, + 1708, 1710, 1712, 1714, 1716, 1718, 1720, 1722, + 1724, 1726, 1728, 1730, 1732, 1734, 1736, 1738, + 1740, 1742, 1744, 1746, 1748, 1750, 1752, 1754, + 1756, 1758, 1760, 1762, 1764, 1766, 1768, 1770, + 1772, 1774, 1776, 1778, 1780, 1782, 1784, 1786, + 1788, 1790, 1792, 1794, 1796, 1798, 1800, 1802, + 1804, 1806, 1808, 1810, 1812, 1814, 1816, 1818, + 1820, 1822, 1824, 1826, 1828, 1830, 1832, 1834, + 1836, 1838, 1840, 1842, 1844, 1846, 1848, 1850, + 1852, 1854, 1856, 1858, 1860, 1862, 1864, 1866, + 1868, 1870, 1872, 1874, 1876, 1878, 1880, 1882, + 1884, 1886, 1888, 1890, 1892, 1894, 1896, 1898, + 1900, 1902, 1904, 1906, 1908, 1910, 1912, 1914, + 1916, 1918, 1920, 1922, 1924, 1926, 1928, 1930, + 1932, 1934, 1936, 1938, 1940, 1942, 1944, 1946, + 1948, 1950, 1952, 1954, 1956, 1958, 1960, 1962, + 1964, 1966, 1968, 1970, 1972, 1974, 1976, 1978, + 1983, 1985, 1990, 1992, 1994, 1999, 2001, 2003, + 2005, 2010, 2012, 2014, 2016, 2020, 2026, 2028, + 2033, 2035, 2037, 2039, 2041, 2043, 2045, 2047, + 2049, 2051, 2052, 2053, 2054, 2056, 2057, 2058, + 2059, 2060, 2061, 2063, 2064, 2065, 2066, 2068, + 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084, + 2086, 2088, 2090, 2092, 2096, 2097, 2098, 2100, + 2104, 2108, 2110, 2114, 2118, 2119, 2120, 2122, + 2124, 2126, 2128, 2133, 2137, 2141, 2143, 2145, + 2147, 2149, 2150, 2152, 2154, 2156, 2158, 2160, + 2162, 2164, 2166, 2168, 2170, 2172, 2174, 2176, + 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192, + 2194, 2195, 2196, 2198, 2200, 2201, 2202, 2205, + 2208, 2211, 2214, 2216, 2218, 2220, 2222, 2224, + 2226, 2227, 2228, 2229, 2231, 2235, 2237, 2239, + 2245, 2249, 2250, 2251, 2252, 2253, 2254, 2255, + 2256, 2260, 2262, 2264, 2268, 2270, 2272, 2274, + 2276, 2278, 2280, 2282, 2284, 2286, 2288, 2290, + 2292, 2294, 2296, 2297, 2300, 2303, 2308, 2313, + 2316, 2319, 2322, 2325, 2330, 2335, 2338, 2341, + 2343, 2345, 2347, 2349, 2351, 2353, 2355, 2356, + 2358, 2360, 2362, 2364, 2366, 2367, 2368, 2369, + 2373, 2377, 2379, 2383, 2387, 2391, 2395, 2399, + 2401, 2405, 2407, 2409, 2411, 2413, 2415, 2417, + 2419, 2421, 2422, 2424, 2426, 2428, 2430, 2432, + 2434, 2436, 2438, 2439, 2440, 2441, 2442, 2443, + 2444, 2445, 2446, 2447, 2449, 2451, 2453, 2455, + 2457, 2459, 2460, 2462, 2464, 2466, 2468, 2469, + 2470, 2472, 2474, 2476, 2478, 2480, 2482, 2484, + 2486, 2487, 2488, 2489, 2490, 2493, 2496, 2498, + 2501, 2502, 2503, 2505, 2506, 2508, 2509, 2510, + 2512, 2514, 2515, 2516, 2517, 2518, 2519, 2522, + 2527, 2532, 2537, 2542, 2545, 2550, 2555, 2557, + 2559, 2561, 2563, 2564, 2565, 2567, 2569, 2571, + 2573, 2575, 2577, 2579, 2580, 2581, 2582, 2583, + 2584, 2585, 2590, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, @@ -37512,91 +37526,91 @@ static const i386_op_off_t i386_op_sets[] = 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, - 2792, 2793, 2794, 2796, 2798, 2799, 2800, 2801, + 2792, 2793, 2794, 2795, 2796, 2798, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, - 2826, 2828, 2830, 2832, 2834, 2835, 2836, 2837, + 2826, 2827, 2828, 2830, 2832, 2834, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, - 2846, 2847, 2849, 2850, 2851, 2852, 2853, 2854, + 2846, 2847, 2848, 2849, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, - 2896, 2898, 2899, 2900, 2902, 2903, 2905, 2907, - 2908, 2909, 2911, 2913, 2914, 2915, 2916, 2917, + 2895, 2896, 2898, 2900, 2901, 2902, 2904, 2905, + 2907, 2909, 2910, 2911, 2913, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, - 2926, 2927, 2928, 2929, 2930, 2931, 2934, 2937, - 2938, 2939, 2940, 2941, 2942, 2943, 2945, 2947, - 2949, 2950, 2951, 2953, 2955, 2957, 2959, 2963, - 2965, 2967, 2968, 2969, 2970, 2971, 2972, 2973, + 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, + 2936, 2939, 2940, 2941, 2942, 2943, 2944, 2945, + 2947, 2949, 2951, 2952, 2953, 2955, 2957, 2959, + 2961, 2965, 2967, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, - 2982, 2983, 2984, 2985, 2988, 2991, 2992, 2993, + 2982, 2983, 2984, 2985, 2986, 2987, 2990, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, - 3042, 3043, 3044, 3045, 3048, 3050, 3053, 3056, - 3058, 3061, 3064, 3067, 3070, 3071, 3074, 3075, - 3076, 3077, 3078, 3079, 3083, 3085, 3088, 3089, + 3042, 3043, 3044, 3045, 3046, 3047, 3050, 3052, + 3055, 3058, 3060, 3063, 3066, 3069, 3072, 3073, + 3076, 3077, 3078, 3079, 3080, 3081, 3085, 3087, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, - 3138, 3139, 3140, 3141, 3142, 3143, 3145, 3146, + 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, - 3179, 3180, 3181, 3182, 3183, 3184, 3187, 3190, - 3193, 3196, 3199, 3202, 3205, 3208, 3211, 3214, - 3217, 3220, 3223, 3226, 3229, 3230, 3231, 3232, - 3233, 3235, 3236, 3237, 3238, 3239, 3240, 3241, + 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, + 3189, 3192, 3195, 3198, 3201, 3204, 3207, 3210, + 3213, 3216, 3219, 3222, 3225, 3228, 3231, 3232, + 3233, 3234, 3235, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, - 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3299, - 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, + 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, + 3298, 3301, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, - 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3367, - 3370, 3373, 3374, 3375, 3376, 3377, 3378, 3379, + 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, + 3366, 3369, 3372, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, - 3388, 3389, 3392, 3395, 3396, 3397, 3400, 3401, - 3402, 3403, 3404, 3407, 3410, 3413, 3414, 3415, + 3388, 3389, 3390, 3391, 3394, 3397, 3398, 3399, + 3402, 3403, 3404, 3405, 3406, 3409, 3412, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, - 3425, 3427, 3428, 3429, 3430, 3431, 3432, 3433, + 3424, 3425, 3427, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, - 3450, 3451, 3452, 3454, 3456, 3457, 3458, 3459, + 3450, 3451, 3452, 3453, 3454, 3456, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, - 3476, 3477, 3478, 3479, 3480, 3481, 3483, 3485, - 3487, 3489, 3490, 3491, 3492, 3493, 3494, 3495, + 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, + 3485, 3487, 3489, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, - 3504, 3506, 3507, 3509, 3512, 3514, 3515, 3516, - 3518, 3520, 3521, 3522, 3523, 3524, 3525, 3526, - 3528, 3530, 3532, 3534, 3535, 3536, 3537, 3538, - 3539, 3540, 3541, 3542, 3543, 3545, 3547, 3548, - 3550, 3552, 3553, 3558, 3560, 3562, 3563, 3564, - 3565, 3566, 3567, 3568, 3569, 3571, 3573, 3574, - 3575, 3576, 3578, 3581, 3584, 3587, 3589, 3590, + 3504, 3505, 3506, 3508, 3509, 3511, 3514, 3516, + 3517, 3518, 3520, 3522, 3523, 3524, 3525, 3526, + 3527, 3528, 3530, 3532, 3534, 3536, 3537, 3538, + 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3547, + 3549, 3550, 3552, 3554, 3555, 3560, 3562, 3564, + 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3573, + 3575, 3576, 3577, 3578, 3580, 3583, 3586, 3589, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, - 3607, 3608, 3609, 3611, 3613, 3615, 3617, 3619, - 3621, 3623, 3625, 3627, 3629, 3630, 3631, 3632, + 3607, 3608, 3609, 3610, 3611, 3613, 3615, 3617, + 3619, 3621, 3623, 3625, 3627, 3629, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, @@ -37610,20 +37624,20 @@ static const i386_op_off_t i386_op_sets[] = 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, - 3737, 3738, 3739, 3740, 3741, 3744, 3745, 3746, - 3749, 3750, 3751, 3753, 3754, 3755, 3756, 3758, - 3759, 3760, 3761, 3763, 3764, 3765, 3766, 3769, - 3770, 3771, 3772, 3773, 3776, 3779, 3782, 3785, - 3788, 3789, 3790, 3791, 3792, 3794, 3796, 3797, - 3798, 3799, 3802, 3805, 3808, 3811, 3814, 3815, - 3816, 3817, 3819, 3820, 3821, 3822, 3824, 3825, + 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3746, + 3747, 3748, 3751, 3752, 3753, 3755, 3756, 3757, + 3758, 3760, 3761, 3762, 3763, 3765, 3766, 3767, + 3768, 3771, 3772, 3773, 3774, 3775, 3778, 3781, + 3784, 3787, 3790, 3791, 3792, 3793, 3794, 3796, + 3798, 3799, 3800, 3801, 3804, 3807, 3810, 3813, + 3816, 3817, 3818, 3819, 3821, 3822, 3823, 3824, 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, - 3858, 3859, 3860, 3861, 3862, 3863, 3865, 3867, - 3869, 3871, 3873, 3874, 3875, 3877, 3879, 3880, - 3881, 3882, 3883 + 3858, 3859, 3860, 3861, 3862, 3863, 3864, 3865, + 3867, 3869, 3871, 3873, 3875, 3876, 3877, 3879, + 3881, 3882, 3883, 3884, 3885 }; /* i386 mnemonics table. */ @@ -38763,6 +38777,7 @@ const char i386_mnemonics[] = "\0""pdep" "\0""ffreep" "\0""rep" + "\0""pushp" "\0""fcomip" "\0""fucomip" "\0""jp" @@ -38780,6 +38795,7 @@ const char i386_mnemonics[] = "\0""pop" "\0""fcompp" "\0""fucompp" + "\0""popp" "\0""fsubrp" "\0""fdivrp" "\0""rstorssp" -- 2.7.4