diff options
141 files changed, 1751 insertions, 4003 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index be3ee82..88288e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -65,6 +65,12 @@ repos: - id: isort types_or: [file] files: 'gdb/.*\.py(\.in)?$' + - repo: https://github.com/codespell-project/codespell + rev: v2.4.1 + hooks: + - id: codespell + files: '^(gdbsupport|gdbserver)/' + args: [--config, gdb/contrib/setup.cfg] - repo: local hooks: - id: check-include-guards diff --git a/bfd/version.h b/bfd/version.h index e866dbe..93e9bb5 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -16,7 +16,7 @@ In releases, the date is not included in either version strings or sonames. */ -#define BFD_VERSION_DATE 20250326 +#define BFD_VERSION_DATE 20250331 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 73848e3..5bf5d80 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -2701,6 +2701,23 @@ If you disassemble without giving a CPU selection, a default will be chosen from information gleaned by BFD from the object files headers, but the result again may not be as you expect. +For RISC-V, the following options are supported: + +@table @code +@item numeric +Print numeric register names, rather than ABI names (e.g., print @code{x2} +instead of @code{sp}). + +@item no-aliases +Disassemble only into canonical instructions. For example, compressed +instructions will be represented as such (@code{addi sp,sp,-128} will be +@code{c.addi16sp sp,-128}). + +@item priv-spec=@var{SPEC} +Print the CSR according to the chosen privilege spec version (e.g., +@code{1.10}, @code{1.11}, @code{1.12}). +@end table + For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple selections from the following may be specified as a comma separated diff --git a/binutils/testsuite/binutils-all/loongarch64/dis-options-multi.d b/binutils/testsuite/binutils-all/loongarch64/dis-options-multi.d new file mode 100644 index 0000000..2f34cb8 --- /dev/null +++ b/binutils/testsuite/binutils-all/loongarch64/dis-options-multi.d @@ -0,0 +1,10 @@ +#name: LoongArch disassembler options: multiple +#source: dis-options.s +#objdump: -d --no-show-raw-insn -M no-aliases,numeric + +#... +Disassembly of section \.text: + +[0-9a-f]+ <\.text>: + [0-9a-f]+:[ ]+or[ ]+\$r4, \$r21, \$r0 + [0-9a-f]+:[ ]+jirl[ ]+\$r0, \$r1, 0 diff --git a/binutils/testsuite/binutils-all/loongarch64/dis-options-no-alises.d b/binutils/testsuite/binutils-all/loongarch64/dis-options-no-alises.d new file mode 100644 index 0000000..eb4ea62 --- /dev/null +++ b/binutils/testsuite/binutils-all/loongarch64/dis-options-no-alises.d @@ -0,0 +1,10 @@ +#name: LoongArch disassembler options: no-aliases +#source: dis-options.s +#objdump: -d --no-show-raw-insn -M no-aliases + +#... +Disassembly of section \.text: + +[0-9a-f]+ <\.text>: + [0-9a-f]+:[ ]+or[ ]+\$a0, \$r21, \$zero + [0-9a-f]+:[ ]+jirl[ ]+\$zero, \$ra, 0 diff --git a/binutils/testsuite/binutils-all/loongarch64/dis-options-numeric.d b/binutils/testsuite/binutils-all/loongarch64/dis-options-numeric.d new file mode 100644 index 0000000..e669cef --- /dev/null +++ b/binutils/testsuite/binutils-all/loongarch64/dis-options-numeric.d @@ -0,0 +1,10 @@ +#name: LoongArch disassembler options: numeric +#source: dis-options.s +#objdump: -d --no-show-raw-insn -M numeric + +#... +Disassembly of section \.text: + +[0-9a-f]+ <\.text>: + [0-9a-f]+:[ ]+move[ ]+\$r4, \$r21 + [0-9a-f]+:[ ]+ret diff --git a/binutils/testsuite/binutils-all/loongarch64/dis-options.s b/binutils/testsuite/binutils-all/loongarch64/dis-options.s new file mode 100644 index 0000000..a3a4469 --- /dev/null +++ b/binutils/testsuite/binutils-all/loongarch64/dis-options.s @@ -0,0 +1,3 @@ +.text + move $a0, $r21 + ret @@ -1,5 +1,8 @@ -*- text -*- +* Support for x86 AVX10.2 256 bit rounding has been dropped, as all the + hardware would directly support 512 bit vecotr width. + * For RISC-V, stop generating mapping symbols $x and replace with $x<isa>. The $x was defined to have the same ISA as previous $x<isa>, but now is defined to have the same ISA as elf architecture attribute. Once used .option arch diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 3879001..2c61353 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -513,6 +513,9 @@ static struct pseudo_prefixes { disp_encoding_32bit } disp_encoding; + /* Exclude sign-extended 8bit immediate in encoding. */ + bool no_imm8s; + /* Prefer the REX byte in encoding. */ bool rex_encoding; @@ -2589,6 +2592,19 @@ operand_size_match (const insn_template *t) /* Check memory and accumulator operand size. */ for (j = 0; j < i.operands; j++) { + /* Instruction templates with only sign-extended 8-bit immediate + operand also have a second template with full-operand-size + immediate operand under a different opcode. Don't match the + first template if sign-extended 8-bit immediate operand should + be excluded. */ + if (pp.no_imm8s + && !t->operand_types[j].bitfield.imm8 + && t->operand_types[j].bitfield.imm8s) + { + match = 0; + break; + } + if (i.types[j].bitfield.class != Reg && i.types[j].bitfield.class != RegSIMD && t->opcode_modifier.operandconstraint == ANY_SIZE) @@ -4422,7 +4438,7 @@ static void build_evex_prefix (void) { unsigned int register_specifier; - bool w, u; + bool w; rex_byte vrex_used = 0; /* Check register specifier. */ @@ -4545,12 +4561,10 @@ build_evex_prefix (void) abort (); } - u = i.rounding.type == rc_none || i.tm.opcode_modifier.evex != EVEX256; - /* The third byte of the EVEX prefix. */ i.vex.bytes[2] = ((w << 7) | (register_specifier << 3) - | (u << 2) + | 4 /* Encode the U bit. */ | i.tm.opcode_modifier.opcodeprefix); /* The fourth byte of the EVEX prefix. */ @@ -7766,6 +7780,10 @@ parse_insn (const char *line, char *mnemonic, enum parse_mode mode) /* {nooptimize} */ pp.no_optimize = true; break; + case Prefix_NoImm8s: + /* {noimm8s} */ + pp.no_imm8s = true; + break; default: abort (); } @@ -8824,19 +8842,14 @@ check_VecOperands (const insn_template *t) return 1; } - /* Non-EVEX.{LIG,512,256} forms need to have a ZMM or YMM register as at - least one operand. For YMM register or EVEX256, we will need AVX10.2 - enabled. There's no need to check all operands, though: Either of the - last two operands will be of the right size in all relevant templates. */ + /* Non-EVEX.{LIG,512} forms need to have a ZMM or YMM register as at + least one operand. There's no need to check all operands, though: + Either of the last two operands will be of the right size in all + relevant templates. */ if (t->opcode_modifier.evex != EVEXLIG && t->opcode_modifier.evex != EVEX512 - && (t->opcode_modifier.evex != EVEX256 - || !cpu_arch_flags.bitfield.cpuavx10_2) && !i.types[t->operands - 1].bitfield.zmmword - && !i.types[t->operands - 2].bitfield.zmmword - && ((!i.types[t->operands - 1].bitfield.ymmword - && !i.types[t->operands - 2].bitfield.ymmword) - || !cpu_arch_flags.bitfield.cpuavx10_2)) + && !i.types[t->operands - 2].bitfield.zmmword) { i.error = operand_size_mismatch; return 1; @@ -14032,7 +14045,7 @@ s_insn (int dummy ATTRIBUTE_UNUSED) { if (!i.tm.opcode_modifier.evex) { - /* Do _not_ consider AVX512VL / AVX10.2 here. */ + /* Do _not_ consider AVX512VL here. */ if (combined.bitfield.zmmword) i.tm.opcode_modifier.evex = EVEX512; else if (combined.bitfield.ymmword) diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi index 4d59958..b1f3b04 100644 --- a/gas/doc/c-i386.texi +++ b/gas/doc/c-i386.texi @@ -1046,6 +1046,9 @@ prefix which generates REX prefix unconditionally. instructions (APX_F only). @item +@samp{@{noimm8s@}} -- exclude sign-extended 8-bit immediate. + +@item @samp{@{nooptimize@}} -- disable instruction size optimization. @end itemize diff --git a/gas/testsuite/gas/i386/avx10_2-256-cvt-intel.d b/gas/testsuite/gas/i386/avx10_2-256-cvt-intel.d index c349e48..1303642 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-cvt-intel.d +++ b/gas/testsuite/gas/i386/avx10_2-256-cvt-intel.d @@ -10,7 +10,6 @@ Disassembly of section \.text: [a-f0-9]+ <_intel>: \s*[a-f0-9]+:\s*62 f2 55 08 67 f4\s+vcvt2ps2phx xmm6,xmm5,xmm4 \s*[a-f0-9]+:\s*62 f2 55 28 67 f4\s+vcvt2ps2phx ymm6,ymm5,ymm4 -\s*[a-f0-9]+:\s*62 f2 51 18 67 f4\s+vcvt2ps2phx ymm6,ymm5,ymm4\{rn-sae\} \s*[a-f0-9]+:\s*62 f2 55 0f 67 b4 f4 00 00 00 10\s+vcvt2ps2phx xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f2 55 18 67 31\s+vcvt2ps2phx xmm6,xmm5,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f2 55 08 67 71 7f\s+vcvt2ps2phx xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] diff --git a/gas/testsuite/gas/i386/avx10_2-256-cvt.d b/gas/testsuite/gas/i386/avx10_2-256-cvt.d index e59e735..70f03a9 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-cvt.d +++ b/gas/testsuite/gas/i386/avx10_2-256-cvt.d @@ -8,7 +8,6 @@ Disassembly of section \.text: 0+ <_start>: \s*[a-f0-9]+:\s*62 f2 55 08 67 f4\s+vcvt2ps2phx\s+%xmm4,%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f2 55 28 67 f4\s+vcvt2ps2phx\s+%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 18 67 f4\s+vcvt2ps2phx\s+\{rn-sae\},%ymm4,%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f2 55 0f 67 b4 f4 00 00 00 10\s+vcvt2ps2phx\s+0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f2 55 18 67 31\s+vcvt2ps2phx\s+\(%ecx\)\{1to4\},%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f2 55 08 67 71 7f\s+vcvt2ps2phx\s+0x7f0\(%ecx\),%xmm5,%xmm6 diff --git a/gas/testsuite/gas/i386/avx10_2-256-cvt.s b/gas/testsuite/gas/i386/avx10_2-256-cvt.s index 33789cc0..f72ff21 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-cvt.s +++ b/gas/testsuite/gas/i386/avx10_2-256-cvt.s @@ -6,7 +6,6 @@ _start: vcvt2ps2phx %xmm4, %xmm5, %xmm6 vcvt2ps2phx %ymm4, %ymm5, %ymm6 - vcvt2ps2phx {rn-sae}, %ymm4, %ymm5, %ymm6 vcvt2ps2phx 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} vcvt2ps2phx (%ecx){1to4}, %xmm5, %xmm6 vcvt2ps2phx 2032(%ecx), %xmm5, %xmm6 @@ -63,7 +62,6 @@ _intel: .intel_syntax noprefix vcvt2ps2phx xmm6, xmm5, xmm4 vcvt2ps2phx ymm6, ymm5, ymm4 - vcvt2ps2phx ymm6, ymm5, ymm4, {rn-sae} vcvt2ps2phx xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] vcvt2ps2phx xmm6, xmm5, DWORD PTR [ecx]{1to4} vcvt2ps2phx xmm6, xmm5, XMMWORD PTR [ecx+2032] diff --git a/gas/testsuite/gas/i386/avx10_2-256-miscs-intel.d b/gas/testsuite/gas/i386/avx10_2-256-miscs-intel.d index 4abace4..0a77225 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-miscs-intel.d +++ b/gas/testsuite/gas/i386/avx10_2-256-miscs-intel.d @@ -36,17 +36,14 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f3 57 bf 52 72 80 7b\s+vminmaxbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\],0x7b \s*[a-f0-9]+:\s*62 f3 57 18 52 31 7b\s+vminmaxbf16 xmm6,xmm5,WORD BCST \[ecx\],0x7b \s*[a-f0-9]+:\s*62 f3 57 9f 52 72 80 7b\s+vminmaxbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\],0x7b -\s*[a-f0-9]+:\s*62 f3 d1 18 52 f4 7b\s+vminmaxpd ymm6,ymm5,ymm4\{sae\},0x7b \s*[a-f0-9]+:\s*62 f3 d5 38 52 31 7b\s+vminmaxpd ymm6,ymm5,QWORD BCST \[ecx\],0x7b \s*[a-f0-9]+:\s*62 f3 d5 bf 52 72 80 7b\s+vminmaxpd ymm6\{k7\}\{z\},ymm5,QWORD BCST \[edx-0x400\],0x7b \s*[a-f0-9]+:\s*62 f3 d5 18 52 31 7b\s+vminmaxpd xmm6,xmm5,QWORD BCST \[ecx\],0x7b \s*[a-f0-9]+:\s*62 f3 d5 9f 52 72 80 7b\s+vminmaxpd xmm6\{k7\}\{z\},xmm5,QWORD BCST \[edx-0x400\],0x7b -\s*[a-f0-9]+:\s*62 f3 50 18 52 f4 7b\s+vminmaxph ymm6,ymm5,ymm4\{sae\},0x7b \s*[a-f0-9]+:\s*62 f3 54 38 52 31 7b\s+vminmaxph ymm6,ymm5,WORD BCST \[ecx\],0x7b \s*[a-f0-9]+:\s*62 f3 54 bf 52 72 80 7b\s+vminmaxph ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\],0x7b \s*[a-f0-9]+:\s*62 f3 54 18 52 31 7b\s+vminmaxph xmm6,xmm5,WORD BCST \[ecx\],0x7b \s*[a-f0-9]+:\s*62 f3 54 9f 52 72 80 7b\s+vminmaxph xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\],0x7b -\s*[a-f0-9]+:\s*62 f3 51 18 52 f4 7b\s+vminmaxps ymm6,ymm5,ymm4\{sae\},0x7b \s*[a-f0-9]+:\s*62 f3 55 38 52 31 7b\s+vminmaxps ymm6,ymm5,DWORD BCST \[ecx\],0x7b \s*[a-f0-9]+:\s*62 f3 55 bf 52 72 80 7b\s+vminmaxps ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\],0x7b \s*[a-f0-9]+:\s*62 f3 55 18 52 31 7b\s+vminmaxps xmm6,xmm5,DWORD BCST \[ecx\],0x7b diff --git a/gas/testsuite/gas/i386/avx10_2-256-miscs.d b/gas/testsuite/gas/i386/avx10_2-256-miscs.d index 6682342..4f83b43 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-miscs.d +++ b/gas/testsuite/gas/i386/avx10_2-256-miscs.d @@ -34,17 +34,14 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f3 57 bf 52 72 80 7b\s+vminmaxbf16\s\$0x7b,-0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f3 57 18 52 31 7b\s+vminmaxbf16\s\$0x7b,\(%ecx\)\{1to8\},%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f3 57 9f 52 72 80 7b\s+vminmaxbf16\s\$0x7b,-0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 d1 18 52 f4 7b\s+vminmaxpd\s\$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f3 d5 38 52 31 7b\s+vminmaxpd\s\$0x7b,\(%ecx\)\{1to4\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f3 d5 bf 52 72 80 7b\s+vminmaxpd\s\$0x7b,-0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f3 d5 18 52 31 7b\s+vminmaxpd\s\$0x7b,\(%ecx\)\{1to2\},%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f3 d5 9f 52 72 80 7b\s+vminmaxpd\s\$0x7b,-0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 50 18 52 f4 7b\s+vminmaxph\s\$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f3 54 38 52 31 7b\s+vminmaxph\s\$0x7b,\(%ecx\)\{1to16\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f3 54 bf 52 72 80 7b\s+vminmaxph\s\$0x7b,-0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f3 54 18 52 31 7b\s+vminmaxph\s\$0x7b,\(%ecx\)\{1to8\},%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f3 54 9f 52 72 80 7b\s+vminmaxph\s\$0x7b,-0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 51 18 52 f4 7b\s+vminmaxps\s\$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f3 55 38 52 31 7b\s+vminmaxps\s\$0x7b,\(%ecx\)\{1to8\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f3 55 bf 52 72 80 7b\s+vminmaxps\s\$0x7b,-0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f3 55 18 52 31 7b\s+vminmaxps\s\$0x7b,\(%ecx\)\{1to4\},%xmm5,%xmm6 diff --git a/gas/testsuite/gas/i386/avx10_2-256-miscs.s b/gas/testsuite/gas/i386/avx10_2-256-miscs.s index a35d8bc..79e8177 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-miscs.s +++ b/gas/testsuite/gas/i386/avx10_2-256-miscs.s @@ -17,17 +17,14 @@ _start: vminmaxbf16 $123, -256(%edx){1to16}, %ymm5, %ymm6{%k7}{z} vminmaxbf16 $123, (%ecx){1to8}, %xmm5, %xmm6 vminmaxbf16 $123, -256(%edx){1to8}, %xmm5, %xmm6{%k7}{z} - vminmaxpd $123, {sae}, %ymm4, %ymm5, %ymm6 vminmaxpd $123, (%ecx){1to4}, %ymm5, %ymm6 vminmaxpd $123, -1024(%edx){1to4}, %ymm5, %ymm6{%k7}{z} vminmaxpd $123, (%ecx){1to2}, %xmm5, %xmm6 vminmaxpd $123, -1024(%edx){1to2}, %xmm5, %xmm6{%k7}{z} - vminmaxph $123, {sae}, %ymm4, %ymm5, %ymm6 vminmaxph $123, (%ecx){1to16}, %ymm5, %ymm6 vminmaxph $123, -256(%edx){1to16}, %ymm5, %ymm6{%k7}{z} vminmaxph $123, (%ecx){1to8}, %xmm5, %xmm6 vminmaxph $123, -256(%edx){1to8}, %xmm5, %xmm6{%k7}{z} - vminmaxps $123, {sae}, %ymm4, %ymm5, %ymm6 vminmaxps $123, (%ecx){1to8}, %ymm5, %ymm6 vminmaxps $123, -512(%edx){1to8}, %ymm5, %ymm6{%k7}{z} vminmaxps $123, (%ecx){1to4}, %xmm5, %xmm6 @@ -83,17 +80,14 @@ _intel: vminmaxbf16 ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16}, 123 vminmaxbf16 xmm6, xmm5, [ecx]{1to8}, 123 vminmaxbf16 xmm6{k7}{z}, xmm5, WORD PTR [edx-256]{1to8}, 123 - vminmaxpd ymm6, ymm5, ymm4, {sae}, 123 vminmaxpd ymm6, ymm5, QWORD PTR [ecx]{1to4}, 123 vminmaxpd ymm6{k7}{z}, ymm5, [edx-1024]{1to4}, 123 vminmaxpd xmm6, xmm5, QWORD PTR [ecx]{1to2}, 123 vminmaxpd xmm6{k7}{z}, xmm5, [edx-1024]{1to2}, 123 - vminmaxph ymm6, ymm5, ymm4, {sae}, 123 vminmaxph ymm6, ymm5, [ecx]{1to16}, 123 vminmaxph ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16}, 123 vminmaxph xmm6, xmm5, WORD PTR [ecx]{1to8}, 123 vminmaxph xmm6{k7}{z}, xmm5, [edx-256]{1to8}, 123 - vminmaxps ymm6, ymm5, ymm4, {sae}, 123 vminmaxps ymm6, ymm5, DWORD PTR [ecx]{1to8}, 123 vminmaxps ymm6{k7}{z}, ymm5, [edx-512]{1to8}, 123 vminmaxps xmm6, xmm5, [ecx]{1to4}, 123 diff --git a/gas/testsuite/gas/i386/avx10_2-256-satcvt-intel.d b/gas/testsuite/gas/i386/avx10_2-256-satcvt-intel.d index 38935d3..f2a7e73 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-satcvt-intel.d +++ b/gas/testsuite/gas/i386/avx10_2-256-satcvt-intel.d @@ -20,7 +20,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 69 72 80\s+vcvtbf162ibs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7c 08 69 f5\s+vcvtph2ibs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7c 28 69 f5\s+vcvtph2ibs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 78 18 69 f5\s+vcvtph2ibs ymm6,ymm5\{rn-sae\} \s*[a-f0-9]+:\s*62 f5 7c 0f 69 b4 f4 00 00 00 10\s+vcvtph2ibs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7c 18 69 31\s+vcvtph2ibs xmm6,WORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7c 08 69 71 7f\s+vcvtph2ibs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -31,7 +30,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 69 72 80\s+vcvtph2ibs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7d 08 69 f5\s+vcvtps2ibs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7d 28 69 f5\s+vcvtps2ibs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 79 18 69 f5\s+vcvtps2ibs ymm6,ymm5\{rn-sae\} \s*[a-f0-9]+:\s*62 f5 7d 0f 69 b4 f4 00 00 00 10\s+vcvtps2ibs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7d 18 69 31\s+vcvtps2ibs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7d 08 69 71 7f\s+vcvtps2ibs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -52,7 +50,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 68 72 80\s+vcvttbf162ibs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7c 08 68 f5\s+vcvttph2ibs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7c 28 68 f5\s+vcvttph2ibs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 78 18 68 f5\s+vcvttph2ibs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7c 0f 68 b4 f4 00 00 00 10\s+vcvttph2ibs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7c 18 68 31\s+vcvttph2ibs xmm6,WORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7c 08 68 71 7f\s+vcvttph2ibs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -63,7 +60,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 68 72 80\s+vcvttph2ibs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7d 08 68 f5\s+vcvttps2ibs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7d 28 68 f5\s+vcvttps2ibs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 79 18 68 f5\s+vcvttps2ibs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7d 0f 68 b4 f4 00 00 00 10\s+vcvttps2ibs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7d 18 68 31\s+vcvttps2ibs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7d 08 68 71 7f\s+vcvttps2ibs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -74,7 +70,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7d bf 68 72 80\s+vcvttps2ibs ymm6\{k7\}\{z\},DWORD BCST \[edx-0x200\] \s*[a-f0-9]+:\s*62 f5 fc 08 6d f5\s+vcvttpd2dqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 fc 28 6d f5\s+vcvttpd2dqs xmm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 f8 18 6d f5\s+vcvttpd2dqs xmm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 fc 0f 6d b4 f4 00 00 00 10\s+vcvttpd2dqs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 fc 18 6d 31\s+vcvttpd2dqs xmm6,QWORD BCST \[ecx\]\{1to2\} \s*[a-f0-9]+:\s*62 f5 fc 08 6d 71 7f\s+vcvttpd2dqs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -84,7 +79,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fc bf 6d 72 80\s+vcvttpd2dqs xmm6\{k7\}\{z\},QWORD BCST \[edx-0x400\]\{1to4\} \s*[a-f0-9]+:\s*62 f5 fd 08 6d f5\s+vcvttpd2qqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 fd 28 6d f5\s+vcvttpd2qqs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 f9 18 6d f5\s+vcvttpd2qqs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 fd 0f 6d b4 f4 00 00 00 10\s+vcvttpd2qqs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 fd 18 6d 31\s+vcvttpd2qqs xmm6,QWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 fd 08 6d 71 7f\s+vcvttpd2qqs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -95,7 +89,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fd bf 6d 72 80\s+vcvttpd2qqs ymm6\{k7\}\{z\},QWORD BCST \[edx-0x400\] \s*[a-f0-9]+:\s*62 f5 7c 08 6d f5\s+vcvttps2dqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7c 28 6d f5\s+vcvttps2dqs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 78 18 6d f5\s+vcvttps2dqs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7c 0f 6d b4 f4 00 00 00 10\s+vcvttps2dqs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7c 18 6d 31\s+vcvttps2dqs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7c 08 6d 71 7f\s+vcvttps2dqs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -106,7 +99,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6d 72 80\s+vcvttps2dqs ymm6\{k7\}\{z\},DWORD BCST \[edx-0x200\] \s*[a-f0-9]+:\s*62 f5 7d 08 6d f5\s+vcvttps2qqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7d 28 6d f5\s+vcvttps2qqs ymm6,xmm5 -\s*[a-f0-9]+:\s*62 f5 79 18 6d f5\s+vcvttps2qqs ymm6,xmm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7d 0f 6d b4 f4 00 00 00 10\s+vcvttps2qqs xmm6\{k7\},QWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7d 18 6d 31\s+vcvttps2qqs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7d 08 6d 71 7f\s+vcvttps2qqs xmm6,QWORD PTR \[ecx\+0x3f8\] @@ -139,7 +131,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 6b 72 80\s+vcvtbf162iubs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7c 08 6b f5\s+vcvtph2iubs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7c 28 6b f5\s+vcvtph2iubs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 78 18 6b f5\s+vcvtph2iubs ymm6,ymm5\{rn-sae\} \s*[a-f0-9]+:\s*62 f5 7c 0f 6b b4 f4 00 00 00 10\s+vcvtph2iubs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7c 18 6b 31\s+vcvtph2iubs xmm6,WORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7c 08 6b 71 7f\s+vcvtph2iubs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -150,7 +141,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6b 72 80\s+vcvtph2iubs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7d 08 6b f5\s+vcvtps2iubs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7d 28 6b f5\s+vcvtps2iubs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 79 18 6b f5\s+vcvtps2iubs ymm6,ymm5\{rn-sae\} \s*[a-f0-9]+:\s*62 f5 7d 0f 6b b4 f4 00 00 00 10\s+vcvtps2iubs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7d 18 6b 31\s+vcvtps2iubs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7d 08 6b 71 7f\s+vcvtps2iubs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -171,7 +161,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 6a 72 80\s+vcvttbf162iubs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7c 08 6a f5\s+vcvttph2iubs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7c 28 6a f5\s+vcvttph2iubs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 78 18 6a f5\s+vcvttph2iubs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7c 0f 6a b4 f4 00 00 00 10\s+vcvttph2iubs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7c 18 6a 31\s+vcvttph2iubs xmm6,WORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7c 08 6a 71 7f\s+vcvttph2iubs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -182,7 +171,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6a 72 80\s+vcvttph2iubs ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] \s*[a-f0-9]+:\s*62 f5 7d 08 6a f5\s+vcvttps2iubs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7d 28 6a f5\s+vcvttps2iubs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 79 18 6a f5\s+vcvttps2iubs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7d 0f 6a b4 f4 00 00 00 10\s+vcvttps2iubs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7d 18 6a 31\s+vcvttps2iubs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7d 08 6a 71 7f\s+vcvttps2iubs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -193,7 +181,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7d bf 6a 72 80\s+vcvttps2iubs ymm6\{k7\}\{z\},DWORD BCST \[edx-0x200\] \s*[a-f0-9]+:\s*62 f5 fc 08 6c f5\s+vcvttpd2udqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 fc 28 6c f5\s+vcvttpd2udqs xmm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 f8 18 6c f5\s+vcvttpd2udqs xmm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 fc 0f 6c b4 f4 00 00 00 10\s+vcvttpd2udqs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 fc 18 6c 31\s+vcvttpd2udqs xmm6,QWORD BCST \[ecx\]\{1to2\} \s*[a-f0-9]+:\s*62 f5 fc 08 6c 71 7f\s+vcvttpd2udqs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -203,7 +190,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fc bf 6c 72 80\s+vcvttpd2udqs xmm6\{k7\}\{z\},QWORD BCST \[edx-0x400\]\{1to4\} \s*[a-f0-9]+:\s*62 f5 fd 08 6c f5\s+vcvttpd2uqqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 fd 28 6c f5\s+vcvttpd2uqqs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 f9 18 6c f5\s+vcvttpd2uqqs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 fd 0f 6c b4 f4 00 00 00 10\s+vcvttpd2uqqs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 fd 18 6c 31\s+vcvttpd2uqqs xmm6,QWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 fd 08 6c 71 7f\s+vcvttpd2uqqs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -214,7 +200,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fd bf 6c 72 80\s+vcvttpd2uqqs ymm6\{k7\}\{z\},QWORD BCST \[edx-0x400\] \s*[a-f0-9]+:\s*62 f5 7c 08 6c f5\s+vcvttps2udqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7c 28 6c f5\s+vcvttps2udqs ymm6,ymm5 -\s*[a-f0-9]+:\s*62 f5 78 18 6c f5\s+vcvttps2udqs ymm6,ymm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7c 0f 6c b4 f4 00 00 00 10\s+vcvttps2udqs xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7c 18 6c 31\s+vcvttps2udqs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7c 08 6c 71 7f\s+vcvttps2udqs xmm6,XMMWORD PTR \[ecx\+0x7f0\] @@ -225,7 +210,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6c 72 80\s+vcvttps2udqs ymm6\{k7\}\{z\},DWORD BCST \[edx-0x200\] \s*[a-f0-9]+:\s*62 f5 7d 08 6c f5\s+vcvttps2uqqs xmm6,xmm5 \s*[a-f0-9]+:\s*62 f5 7d 28 6c f5\s+vcvttps2uqqs ymm6,xmm5 -\s*[a-f0-9]+:\s*62 f5 79 18 6c f5\s+vcvttps2uqqs ymm6,xmm5\{sae\} \s*[a-f0-9]+:\s*62 f5 7d 0f 6c b4 f4 00 00 00 10\s+vcvttps2uqqs xmm6\{k7\},QWORD PTR \[esp\+esi\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 f5 7d 18 6c 31\s+vcvttps2uqqs xmm6,DWORD BCST \[ecx\] \s*[a-f0-9]+:\s*62 f5 7d 08 6c 71 7f\s+vcvttps2uqqs xmm6,QWORD PTR \[ecx\+0x3f8\] diff --git a/gas/testsuite/gas/i386/avx10_2-256-satcvt.d b/gas/testsuite/gas/i386/avx10_2-256-satcvt.d index 1dd404d..4e6b881 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-satcvt.d +++ b/gas/testsuite/gas/i386/avx10_2-256-satcvt.d @@ -18,7 +18,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 69 72 80\s+vcvtbf162ibs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7c 08 69 f5\s+vcvtph2ibs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 28 69 f5\s+vcvtph2ibs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 18 69 f5\s+vcvtph2ibs\s+\{rn-sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7c 0f 69 b4 f4 00 00 00 10\s+vcvtph2ibs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7c 18 69 31\s+vcvtph2ibs\s+\(%ecx\)\{1to8\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 08 69 71 7f\s+vcvtph2ibs\s+0x7f0\(%ecx\),%xmm6 @@ -29,7 +28,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 69 72 80\s+vcvtph2ibs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7d 08 69 f5\s+vcvtps2ibs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 28 69 f5\s+vcvtps2ibs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 18 69 f5\s+vcvtps2ibs\s+\{rn-sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7d 0f 69 b4 f4 00 00 00 10\s+vcvtps2ibs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7d 18 69 31\s+vcvtps2ibs\s+\(%ecx\)\{1to4\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 08 69 71 7f\s+vcvtps2ibs\s+0x7f0\(%ecx\),%xmm6 @@ -50,7 +48,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 68 72 80\s+vcvttbf162ibs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7c 08 68 f5\s+vcvttph2ibs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 28 68 f5\s+vcvttph2ibs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 18 68 f5\s+vcvttph2ibs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7c 0f 68 b4 f4 00 00 00 10\s+vcvttph2ibs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7c 18 68 31\s+vcvttph2ibs\s+\(%ecx\)\{1to8\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 08 68 71 7f\s+vcvttph2ibs\s+0x7f0\(%ecx\),%xmm6 @@ -61,7 +58,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 68 72 80\s+vcvttph2ibs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7d 08 68 f5\s+vcvttps2ibs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 28 68 f5\s+vcvttps2ibs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 18 68 f5\s+vcvttps2ibs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7d 0f 68 b4 f4 00 00 00 10\s+vcvttps2ibs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7d 18 68 31\s+vcvttps2ibs\s+\(%ecx\)\{1to4\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 08 68 71 7f\s+vcvttps2ibs\s+0x7f0\(%ecx\),%xmm6 @@ -72,7 +68,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7d bf 68 72 80\s+vcvttps2ibs\s+-0x200\(%edx\)\{1to8\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 fc 08 6d f5\s+vcvttpd2dqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 fc 28 6d f5\s+vcvttpd2dqs\s+%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 f8 18 6d f5\s+vcvttpd2dqs\s+\{sae\},%ymm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 fc 0f 6d b4 f4 00 00 00 10\s+vcvttpd2dqsx\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 fc 18 6d 31\s+vcvttpd2dqs\s+\(%ecx\)\{1to2\},%xmm6 \s*[a-f0-9]+:\s*62 f5 fc 08 6d 71 7f\s+vcvttpd2dqsx\s+0x7f0\(%ecx\),%xmm6 @@ -82,7 +77,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fc bf 6d 72 80\s+vcvttpd2dqs\s+-0x400\(%edx\)\{1to4\},%xmm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 fd 08 6d f5\s+vcvttpd2qqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 fd 28 6d f5\s+vcvttpd2qqs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 f9 18 6d f5\s+vcvttpd2qqs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 fd 0f 6d b4 f4 00 00 00 10\s+vcvttpd2qqs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 fd 18 6d 31\s+vcvttpd2qqs\s+\(%ecx\)\{1to2\},%xmm6 \s*[a-f0-9]+:\s*62 f5 fd 08 6d 71 7f\s+vcvttpd2qqs\s+0x7f0\(%ecx\),%xmm6 @@ -93,7 +87,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fd bf 6d 72 80\s+vcvttpd2qqs\s+-0x400\(%edx\)\{1to4\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7c 08 6d f5\s+vcvttps2dqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 28 6d f5\s+vcvttps2dqs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 18 6d f5\s+vcvttps2dqs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7c 0f 6d b4 f4 00 00 00 10\s+vcvttps2dqs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7c 18 6d 31\s+vcvttps2dqs\s+\(%ecx\)\{1to4\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 08 6d 71 7f\s+vcvttps2dqs\s+0x7f0\(%ecx\),%xmm6 @@ -104,7 +97,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6d 72 80\s+vcvttps2dqs\s+-0x200\(%edx\)\{1to8\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7d 08 6d f5\s+vcvttps2qqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 28 6d f5\s+vcvttps2qqs\s+%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 18 6d f5\s+vcvttps2qqs\s+\{sae\},%xmm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7d 0f 6d b4 f4 00 00 00 10\s+vcvttps2qqs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7d 18 6d 31\s+vcvttps2qqs\s+\(%ecx\)\{1to2\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 08 6d 71 7f\s+vcvttps2qqs\s+0x3f8\(%ecx\),%xmm6 @@ -137,7 +129,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 6b 72 80\s+vcvtbf162iubs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7c 08 6b f5\s+vcvtph2iubs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 28 6b f5\s+vcvtph2iubs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 18 6b f5\s+vcvtph2iubs\s+\{rn-sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7c 0f 6b b4 f4 00 00 00 10\s+vcvtph2iubs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7c 18 6b 31\s+vcvtph2iubs\s+\(%ecx\)\{1to8\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 08 6b 71 7f\s+vcvtph2iubs\s+0x7f0\(%ecx\),%xmm6 @@ -148,7 +139,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6b 72 80\s+vcvtph2iubs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7d 08 6b f5\s+vcvtps2iubs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 28 6b f5\s+vcvtps2iubs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 18 6b f5\s+vcvtps2iubs\s+\{rn-sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7d 0f 6b b4 f4 00 00 00 10\s+vcvtps2iubs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7d 18 6b 31\s+vcvtps2iubs\s+\(%ecx\)\{1to4\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 08 6b 71 7f\s+vcvtps2iubs\s+0x7f0\(%ecx\),%xmm6 @@ -169,7 +159,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7f bf 6a 72 80\s+vcvttbf162iubs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7c 08 6a f5\s+vcvttph2iubs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 28 6a f5\s+vcvttph2iubs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 18 6a f5\s+vcvttph2iubs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7c 0f 6a b4 f4 00 00 00 10\s+vcvttph2iubs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7c 18 6a 31\s+vcvttph2iubs\s+\(%ecx\)\{1to8\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 08 6a 71 7f\s+vcvttph2iubs\s+0x7f0\(%ecx\),%xmm6 @@ -180,7 +169,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6a 72 80\s+vcvttph2iubs\s+-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7d 08 6a f5\s+vcvttps2iubs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 28 6a f5\s+vcvttps2iubs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 18 6a f5\s+vcvttps2iubs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7d 0f 6a b4 f4 00 00 00 10\s+vcvttps2iubs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7d 18 6a 31\s+vcvttps2iubs\s+\(%ecx\)\{1to4\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 08 6a 71 7f\s+vcvttps2iubs\s+0x7f0\(%ecx\),%xmm6 @@ -191,7 +179,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7d bf 6a 72 80\s+vcvttps2iubs\s+-0x200\(%edx\)\{1to8\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 fc 08 6c f5\s+vcvttpd2udqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 fc 28 6c f5\s+vcvttpd2udqs\s+%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 f8 18 6c f5\s+vcvttpd2udqs\s+\{sae\},%ymm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 fc 0f 6c b4 f4 00 00 00 10\s+vcvttpd2udqsx\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 fc 18 6c 31\s+vcvttpd2udqs\s+\(%ecx\)\{1to2\},%xmm6 \s*[a-f0-9]+:\s*62 f5 fc 08 6c 71 7f\s+vcvttpd2udqsx\s+0x7f0\(%ecx\),%xmm6 @@ -201,7 +188,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fc bf 6c 72 80\s+vcvttpd2udqs\s+-0x400\(%edx\)\{1to4\},%xmm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 fd 08 6c f5\s+vcvttpd2uqqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 fd 28 6c f5\s+vcvttpd2uqqs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 f9 18 6c f5\s+vcvttpd2uqqs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 fd 0f 6c b4 f4 00 00 00 10\s+vcvttpd2uqqs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 fd 18 6c 31\s+vcvttpd2uqqs\s+\(%ecx\)\{1to2\},%xmm6 \s*[a-f0-9]+:\s*62 f5 fd 08 6c 71 7f\s+vcvttpd2uqqs\s+0x7f0\(%ecx\),%xmm6 @@ -212,7 +198,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 fd bf 6c 72 80\s+vcvttpd2uqqs\s+-0x400\(%edx\)\{1to4\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7c 08 6c f5\s+vcvttps2udqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 28 6c f5\s+vcvttps2udqs\s+%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 18 6c f5\s+vcvttps2udqs\s+\{sae\},%ymm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7c 0f 6c b4 f4 00 00 00 10\s+vcvttps2udqs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7c 18 6c 31\s+vcvttps2udqs\s+\(%ecx\)\{1to4\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7c 08 6c 71 7f\s+vcvttps2udqs\s+0x7f0\(%ecx\),%xmm6 @@ -223,7 +208,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 f5 7c bf 6c 72 80\s+vcvttps2udqs\s+-0x200\(%edx\)\{1to8\},%ymm6\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 f5 7d 08 6c f5\s+vcvttps2uqqs\s+%xmm5,%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 28 6c f5\s+vcvttps2uqqs\s+%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 18 6c f5\s+vcvttps2uqqs\s+\{sae\},%xmm5,%ymm6 \s*[a-f0-9]+:\s*62 f5 7d 0f 6c b4 f4 00 00 00 10\s+vcvttps2uqqs\s+0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} \s*[a-f0-9]+:\s*62 f5 7d 18 6c 31\s+vcvttps2uqqs\s+\(%ecx\)\{1to2\},%xmm6 \s*[a-f0-9]+:\s*62 f5 7d 08 6c 71 7f\s+vcvttps2uqqs\s+0x3f8\(%ecx\),%xmm6 diff --git a/gas/testsuite/gas/i386/avx10_2-256-satcvt.s b/gas/testsuite/gas/i386/avx10_2-256-satcvt.s index 25d493f..86f000c 100644 --- a/gas/testsuite/gas/i386/avx10_2-256-satcvt.s +++ b/gas/testsuite/gas/i386/avx10_2-256-satcvt.s @@ -18,7 +18,6 @@ _start: vcvtph2i\u\()bs %xmm5, %xmm6 vcvtph2i\u\()bs %ymm5, %ymm6 - vcvtph2i\u\()bs {rn-sae}, %ymm5, %ymm6 vcvtph2i\u\()bs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvtph2i\u\()bs (%ecx){1to8}, %xmm6 vcvtph2i\u\()bs 2032(%ecx), %xmm6 @@ -30,7 +29,6 @@ _start: vcvtps2i\u\()bs %xmm5, %xmm6 vcvtps2i\u\()bs %ymm5, %ymm6 - vcvtps2i\u\()bs {rn-sae}, %ymm5, %ymm6 vcvtps2i\u\()bs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvtps2i\u\()bs (%ecx){1to4}, %xmm6 vcvtps2i\u\()bs 2032(%ecx), %xmm6 @@ -53,7 +51,6 @@ _start: vcvttph2i\u\()bs %xmm5, %xmm6 vcvttph2i\u\()bs %ymm5, %ymm6 - vcvttph2i\u\()bs {sae}, %ymm5, %ymm6 vcvttph2i\u\()bs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvttph2i\u\()bs (%ecx){1to8}, %xmm6 vcvttph2i\u\()bs 2032(%ecx), %xmm6 @@ -65,7 +62,6 @@ _start: vcvttps2i\u\()bs %xmm5, %xmm6 vcvttps2i\u\()bs %ymm5, %ymm6 - vcvttps2i\u\()bs {sae}, %ymm5, %ymm6 vcvttps2i\u\()bs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvttps2i\u\()bs (%ecx){1to4}, %xmm6 vcvttps2i\u\()bs 2032(%ecx), %xmm6 @@ -77,7 +73,6 @@ _start: vcvttpd2\u\()dqs %xmm5, %xmm6 vcvttpd2\u\()dqs %ymm5, %xmm6 - vcvttpd2\u\()dqs {sae}, %ymm5, %xmm6 vcvttpd2\u\()dqsx 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvttpd2\u\()dqs (%ecx){1to2}, %xmm6 vcvttpd2\u\()dqsx 2032(%ecx), %xmm6 @@ -88,7 +83,6 @@ _start: vcvttpd2\u\()qqs %xmm5, %xmm6 vcvttpd2\u\()qqs %ymm5, %ymm6 - vcvttpd2\u\()qqs {sae}, %ymm5, %ymm6 vcvttpd2\u\()qqs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvttpd2\u\()qqs (%ecx){1to2}, %xmm6 vcvttpd2\u\()qqs 2032(%ecx), %xmm6 @@ -100,7 +94,6 @@ _start: vcvttps2\u\()dqs %xmm5, %xmm6 vcvttps2\u\()dqs %ymm5, %ymm6 - vcvttps2\u\()dqs {sae}, %ymm5, %ymm6 vcvttps2\u\()dqs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvttps2\u\()dqs (%ecx){1to4}, %xmm6 vcvttps2\u\()dqs 2032(%ecx), %xmm6 @@ -112,7 +105,6 @@ _start: vcvttps2\u\()qqs %xmm5, %xmm6 vcvttps2\u\()qqs %xmm5, %ymm6 - vcvttps2\u\()qqs {sae}, %xmm5, %ymm6 vcvttps2\u\()qqs 0x10000000(%esp, %esi, 8), %xmm6{%k7} vcvttps2\u\()qqs (%ecx){1to2}, %xmm6 vcvttps2\u\()qqs 1016(%ecx), %xmm6 @@ -153,7 +145,6 @@ _intel: vcvtph2i\u\()bs xmm6, xmm5 vcvtph2i\u\()bs ymm6, ymm5 - vcvtph2i\u\()bs ymm6, ymm5, {rn-sae} vcvtph2i\u\()bs xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000] vcvtph2i\u\()bs xmm6, WORD PTR [ecx]{1to8} vcvtph2i\u\()bs xmm6, [ecx+2032] @@ -165,7 +156,6 @@ _intel: vcvtps2i\u\()bs xmm6, xmm5 vcvtps2i\u\()bs ymm6, ymm5 - vcvtps2i\u\()bs ymm6, ymm5, {rn-sae} vcvtps2i\u\()bs xmm6{k7}, [esp+esi*8+0x10000000] vcvtps2i\u\()bs xmm6, [ecx]{1to4} vcvtps2i\u\()bs xmm6, XMMWORD PTR [ecx+2032] @@ -188,7 +178,6 @@ _intel: vcvttph2i\u\()bs xmm6, xmm5 vcvttph2i\u\()bs ymm6, ymm5 - vcvttph2i\u\()bs ymm6, ymm5, {sae} vcvttph2i\u\()bs xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000] vcvttph2i\u\()bs xmm6, WORD PTR [ecx]{1to8} vcvttph2i\u\()bs xmm6, [ecx+2032] @@ -200,7 +189,6 @@ _intel: vcvttps2i\u\()bs xmm6, xmm5 vcvttps2i\u\()bs ymm6, ymm5 - vcvttps2i\u\()bs ymm6, ymm5, {sae} vcvttps2i\u\()bs xmm6{k7}, [esp+esi*8+0x10000000] vcvttps2i\u\()bs xmm6, [ecx]{1to4} vcvttps2i\u\()bs xmm6, XMMWORD PTR [ecx+2032] @@ -212,7 +200,6 @@ _intel: vcvttpd2\u\()dqs xmm6, xmm5 vcvttpd2\u\()dqs xmm6, ymm5 - vcvttpd2\u\()dqs xmm6, ymm5, {sae} vcvttpd2\u\()dqs xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000] vcvttpd2\u\()dqs xmm6, QWORD PTR [ecx]{1to2} vcvttpd2\u\()dqs xmm6, XMMWORD PTR [ecx+2032] @@ -223,7 +210,6 @@ _intel: vcvttpd2\u\()qqs xmm6, xmm5 vcvttpd2\u\()qqs ymm6, ymm5 - vcvttpd2\u\()qqs ymm6, ymm5, {sae} vcvttpd2\u\()qqs xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000] vcvttpd2\u\()qqs xmm6, [ecx]{1to2} vcvttpd2\u\()qqs xmm6, [ecx+2032] @@ -235,7 +221,6 @@ _intel: vcvttps2\u\()dqs xmm6, xmm5 vcvttps2\u\()dqs ymm6, ymm5 - vcvttps2\u\()dqs ymm6, ymm5, {sae} vcvttps2\u\()dqs xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000] vcvttps2\u\()dqs xmm6, DWORD PTR [ecx]{1to4} vcvttps2\u\()dqs xmm6, [ecx+2032] @@ -247,7 +232,6 @@ _intel: vcvttps2\u\()qqs xmm6, xmm5 vcvttps2\u\()qqs ymm6, xmm5 - vcvttps2\u\()qqs ymm6, xmm5, {sae} vcvttps2\u\()qqs xmm6{k7}, [esp+esi*8+0x10000000] vcvttps2\u\()qqs xmm6, [ecx]{1to2} vcvttps2\u\()qqs xmm6, QWORD PTR [ecx+1016] diff --git a/gas/testsuite/gas/i386/avx10_2-rounding-intel.d b/gas/testsuite/gas/i386/avx10_2-rounding-intel.d deleted file mode 100644 index f40c296..0000000 --- a/gas/testsuite/gas/i386/avx10_2-rounding-intel.d +++ /dev/null @@ -1,452 +0,0 @@ -#objdump: -dw -Mintel -#name: i386 AVX10.2 insns rounding (Intel disassembly) -#source: avx10_2-rounding.s - -.*: +file format .* - -Disassembly of section \.text: - -#... -[a-f0-9]+ <_intel>: -\s*[a-f0-9]+:\s*62 f1 d1 18 c2 ec 7b\s+vcmppd k5,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f1 d1 1f c2 ec 7b\s+vcmppd k5\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f2 f9 18 42 f5\s+vgetexppd ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 f9 1f 42 f5\s+vgetexppd ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 f9 9f 42 f5\s+vgetexppd ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 51 f5\s+vsqrtpd ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 3f 51 f5\s+vsqrtpd ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 51 f5\s+vsqrtpd ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f3 50 18 c2 ec 7b\s+vcmpph k5,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 50 1f c2 ec 7b\s+vcmpph k5\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f6 79 18 42 f5\s+vgetexpph ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f6 79 1f 42 f5\s+vgetexpph ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f6 79 9f 42 f5\s+vgetexpph ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 51 f5\s+vsqrtph ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 78 3f 51 f5\s+vsqrtph ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 78 ff 51 f5\s+vsqrtph ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 c2 ec 7b\s+vcmpps k5,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f1 50 1f c2 ec 7b\s+vcmpps k5\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f2 79 18 42 f5\s+vgetexpps ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 79 1f 42 f5\s+vgetexpps ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 79 9f 42 f5\s+vgetexpps ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 78 18 51 f5\s+vsqrtps ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 78 3f 51 f5\s+vsqrtps ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 78 ff 51 f5\s+vsqrtps ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 18 58 f4\s+vaddpd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 3f 58 f4\s+vaddpd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 58 f4\s+vaddpd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 50 18 58 f4\s+vaddph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 50 3f 58 f4\s+vaddph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 50 ff 58 f4\s+vaddph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 58 f4\s+vaddps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 50 3f 58 f4\s+vaddps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 50 ff 58 f4\s+vaddps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5e f4\s+vdivpd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 3f 5e f4\s+vdivpd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 5e f4\s+vdivpd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 50 18 5e f4\s+vdivph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 50 3f 5e f4\s+vdivph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 50 ff 5e f4\s+vdivph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 5e f4\s+vdivps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 50 3f 5e f4\s+vdivps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 50 ff 5e f4\s+vdivps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 18 59 f4\s+vmulpd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 3f 59 f4\s+vmulpd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 59 f4\s+vmulpd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 50 18 59 f4\s+vmulph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 50 3f 59 f4\s+vmulph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 50 ff 59 f4\s+vmulph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 59 f4\s+vmulps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 50 3f 59 f4\s+vmulps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 50 ff 59 f4\s+vmulps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 2c f4\s+vscalefpd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 2c f4\s+vscalefpd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 2c f4\s+vscalefpd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 2c f4\s+vscalefph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 2c f4\s+vscalefph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 2c f4\s+vscalefph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 2c f4\s+vscalefps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 2c f4\s+vscalefps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 2c f4\s+vscalefps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5c f4\s+vsubpd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 3f 5c f4\s+vsubpd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 5c f4\s+vsubpd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 50 18 5c f4\s+vsubph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 50 3f 5c f4\s+vsubph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 50 ff 5c f4\s+vsubph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 5c f4\s+vsubps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 50 3f 5c f4\s+vsubps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 50 ff 5c f4\s+vsubps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5f f4\s+vmaxpd ymm6,ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 d1 1f 5f f4\s+vmaxpd ymm6\{k7\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 d1 9f 5f f4\s+vmaxpd ymm6\{k7\}\{z\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f5 50 18 5f f4\s+vmaxph ymm6,ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f5 50 1f 5f f4\s+vmaxph ymm6\{k7\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f5 50 9f 5f f4\s+vmaxph ymm6\{k7\}\{z\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 5f f4\s+vmaxps ymm6,ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 50 1f 5f f4\s+vmaxps ymm6\{k7\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 50 9f 5f f4\s+vmaxps ymm6\{k7\}\{z\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5d f4\s+vminpd ymm6,ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 d1 1f 5d f4\s+vminpd ymm6\{k7\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 d1 9f 5d f4\s+vminpd ymm6\{k7\}\{z\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f5 50 18 5d f4\s+vminph ymm6,ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f5 50 1f 5d f4\s+vminph ymm6\{k7\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f5 50 9f 5d f4\s+vminph ymm6\{k7\}\{z\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 50 18 5d f4\s+vminps ymm6,ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 50 1f 5d f4\s+vminps ymm6\{k7\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f1 50 9f 5d f4\s+vminps ymm6\{k7\}\{z\},ymm5,ymm4\{sae\} -\s*[a-f0-9]+:\s*62 f3 f9 18 26 f5 7b\s+vgetmantpd ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 1f 26 f5 7b\s+vgetmantpd ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 9f 26 f5 7b\s+vgetmantpd ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 18 26 f5 7b\s+vgetmantph ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 1f 26 f5 7b\s+vgetmantph ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 9f 26 f5 7b\s+vgetmantph ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 18 26 f5 7b\s+vgetmantps ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 1f 26 f5 7b\s+vgetmantps ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 9f 26 f5 7b\s+vgetmantps ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 18 56 f5 7b\s+vreducepd ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 1f 56 f5 7b\s+vreducepd ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 9f 56 f5 7b\s+vreducepd ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 18 56 f5 7b\s+vreduceph ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 1f 56 f5 7b\s+vreduceph ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 9f 56 f5 7b\s+vreduceph ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 18 56 f5 7b\s+vreduceps ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 1f 56 f5 7b\s+vreduceps ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 9f 56 f5 7b\s+vreduceps ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 18 09 f5 7b\s+vrndscalepd ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 1f 09 f5 7b\s+vrndscalepd ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 f9 9f 09 f5 7b\s+vrndscalepd ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 18 08 f5 7b\s+vrndscaleph ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 1f 08 f5 7b\s+vrndscaleph ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 78 9f 08 f5 7b\s+vrndscaleph ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 18 08 f5 7b\s+vrndscaleps ymm6,ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 1f 08 f5 7b\s+vrndscaleps ymm6\{k7\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 79 9f 08 f5 7b\s+vrndscaleps ymm6\{k7\}\{z\},ymm5\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f2 d1 18 98 f4\s+vfmadd132pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 98 f4\s+vfmadd132pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 98 f4\s+vfmadd132pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 98 f4\s+vfmadd132ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 98 f4\s+vfmadd132ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 98 f4\s+vfmadd132ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 98 f4\s+vfmadd132ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 98 f4\s+vfmadd132ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 98 f4\s+vfmadd132ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 a8 f4\s+vfmadd213pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f a8 f4\s+vfmadd213pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff a8 f4\s+vfmadd213pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 a8 f4\s+vfmadd213ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f a8 f4\s+vfmadd213ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff a8 f4\s+vfmadd213ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 a8 f4\s+vfmadd213ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f a8 f4\s+vfmadd213ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff a8 f4\s+vfmadd213ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 b8 f4\s+vfmadd231pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f b8 f4\s+vfmadd231pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff b8 f4\s+vfmadd231pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 b8 f4\s+vfmadd231ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f b8 f4\s+vfmadd231ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff b8 f4\s+vfmadd231ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 b8 f4\s+vfmadd231ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f b8 f4\s+vfmadd231ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff b8 f4\s+vfmadd231ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 96 f4\s+vfmaddsub132pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 96 f4\s+vfmaddsub132pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 96 f4\s+vfmaddsub132pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 96 f4\s+vfmaddsub132ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 96 f4\s+vfmaddsub132ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 96 f4\s+vfmaddsub132ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 96 f4\s+vfmaddsub132ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 96 f4\s+vfmaddsub132ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 96 f4\s+vfmaddsub132ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 a6 f4\s+vfmaddsub213pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f a6 f4\s+vfmaddsub213pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff a6 f4\s+vfmaddsub213pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 a6 f4\s+vfmaddsub213ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f a6 f4\s+vfmaddsub213ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff a6 f4\s+vfmaddsub213ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 a6 f4\s+vfmaddsub213ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f a6 f4\s+vfmaddsub213ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff a6 f4\s+vfmaddsub213ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 b6 f4\s+vfmaddsub231pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f b6 f4\s+vfmaddsub231pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff b6 f4\s+vfmaddsub231pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 b6 f4\s+vfmaddsub231ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f b6 f4\s+vfmaddsub231ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff b6 f4\s+vfmaddsub231ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 b6 f4\s+vfmaddsub231ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f b6 f4\s+vfmaddsub231ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff b6 f4\s+vfmaddsub231ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 9a f4\s+vfmsub132pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 9a f4\s+vfmsub132pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 9a f4\s+vfmsub132pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 9a f4\s+vfmsub132ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 9a f4\s+vfmsub132ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 9a f4\s+vfmsub132ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 9a f4\s+vfmsub132ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 9a f4\s+vfmsub132ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 9a f4\s+vfmsub132ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 aa f4\s+vfmsub213pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f aa f4\s+vfmsub213pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff aa f4\s+vfmsub213pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 aa f4\s+vfmsub213ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f aa f4\s+vfmsub213ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff aa f4\s+vfmsub213ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 aa f4\s+vfmsub213ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f aa f4\s+vfmsub213ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff aa f4\s+vfmsub213ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 ba f4\s+vfmsub231pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f ba f4\s+vfmsub231pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff ba f4\s+vfmsub231pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 ba f4\s+vfmsub231ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f ba f4\s+vfmsub231ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff ba f4\s+vfmsub231ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 ba f4\s+vfmsub231ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f ba f4\s+vfmsub231ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff ba f4\s+vfmsub231ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 97 f4\s+vfmsubadd132pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 97 f4\s+vfmsubadd132pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 97 f4\s+vfmsubadd132pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 97 f4\s+vfmsubadd132ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 97 f4\s+vfmsubadd132ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 97 f4\s+vfmsubadd132ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 97 f4\s+vfmsubadd132ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 97 f4\s+vfmsubadd132ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 97 f4\s+vfmsubadd132ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 a7 f4\s+vfmsubadd213pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f a7 f4\s+vfmsubadd213pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff a7 f4\s+vfmsubadd213pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 a7 f4\s+vfmsubadd213ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f a7 f4\s+vfmsubadd213ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff a7 f4\s+vfmsubadd213ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 a7 f4\s+vfmsubadd213ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f a7 f4\s+vfmsubadd213ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff a7 f4\s+vfmsubadd213ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 b7 f4\s+vfmsubadd231pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f b7 f4\s+vfmsubadd231pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff b7 f4\s+vfmsubadd231pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 b7 f4\s+vfmsubadd231ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f b7 f4\s+vfmsubadd231ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff b7 f4\s+vfmsubadd231ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 b7 f4\s+vfmsubadd231ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f b7 f4\s+vfmsubadd231ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff b7 f4\s+vfmsubadd231ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 9c f4\s+vfnmadd132pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 9c f4\s+vfnmadd132pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 9c f4\s+vfnmadd132pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 9c f4\s+vfnmadd132ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 9c f4\s+vfnmadd132ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 9c f4\s+vfnmadd132ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 9c f4\s+vfnmadd132ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 9c f4\s+vfnmadd132ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 9c f4\s+vfnmadd132ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 ac f4\s+vfnmadd213pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f ac f4\s+vfnmadd213pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff ac f4\s+vfnmadd213pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 ac f4\s+vfnmadd213ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f ac f4\s+vfnmadd213ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff ac f4\s+vfnmadd213ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 ac f4\s+vfnmadd213ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f ac f4\s+vfnmadd213ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff ac f4\s+vfnmadd213ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 bc f4\s+vfnmadd231pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f bc f4\s+vfnmadd231pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff bc f4\s+vfnmadd231pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 bc f4\s+vfnmadd231ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f bc f4\s+vfnmadd231ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff bc f4\s+vfnmadd231ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 bc f4\s+vfnmadd231ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f bc f4\s+vfnmadd231ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff bc f4\s+vfnmadd231ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 9e f4\s+vfnmsub132pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f 9e f4\s+vfnmsub132pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 9e f4\s+vfnmsub132pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 9e f4\s+vfnmsub132ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f 9e f4\s+vfnmsub132ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff 9e f4\s+vfnmsub132ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 9e f4\s+vfnmsub132ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f 9e f4\s+vfnmsub132ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff 9e f4\s+vfnmsub132ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 ae f4\s+vfnmsub213pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f ae f4\s+vfnmsub213pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff ae f4\s+vfnmsub213pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 ae f4\s+vfnmsub213ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f ae f4\s+vfnmsub213ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff ae f4\s+vfnmsub213ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 ae f4\s+vfnmsub213ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f ae f4\s+vfnmsub213ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff ae f4\s+vfnmsub213ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 18 be f4\s+vfnmsub231pd ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 3f be f4\s+vfnmsub231pd ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 d1 ff be f4\s+vfnmsub231pd ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 51 18 be f4\s+vfnmsub231ph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 51 3f be f4\s+vfnmsub231ph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 51 ff be f4\s+vfnmsub231ph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f2 51 18 be f4\s+vfnmsub231ps ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f2 51 3f be f4\s+vfnmsub231ps ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f2 51 ff be f4\s+vfnmsub231ps ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f3 d1 18 54 f4 7b\s+vfixupimmpd ymm6,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 d1 1f 54 f4 7b\s+vfixupimmpd ymm6\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 d1 9f 54 f4 7b\s+vfixupimmpd ymm6\{k7\}\{z\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 51 18 54 f4 7b\s+vfixupimmps ymm6,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 51 1f 54 f4 7b\s+vfixupimmps ymm6\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 51 9f 54 f4 7b\s+vfixupimmps ymm6\{k7\}\{z\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 d1 18 50 f4 7b\s+vrangepd ymm6,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 d1 1f 50 f4 7b\s+vrangepd ymm6\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 d1 9f 50 f4 7b\s+vrangepd ymm6\{k7\}\{z\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 51 18 50 f4 7b\s+vrangeps ymm6,ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 51 1f 50 f4 7b\s+vrangeps ymm6\{k7\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f3 51 9f 50 f4 7b\s+vrangeps ymm6\{k7\}\{z\},ymm5,ymm4\{sae\},0x7b -\s*[a-f0-9]+:\s*62 f6 53 18 56 f4\s+vfcmaddcph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 53 3f 56 f4\s+vfcmaddcph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 53 ff 56 f4\s+vfcmaddcph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 53 18 d6 f4\s+vfcmulcph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 53 3f d6 f4\s+vfcmulcph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 53 ff d6 f4\s+vfcmulcph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 52 18 56 f4\s+vfmaddcph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 52 3f 56 f4\s+vfmaddcph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 52 ff 56 f4\s+vfmaddcph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f6 52 18 d6 f4\s+vfmulcph ymm6,ymm5,ymm4\{rn-sae\} -\s*[a-f0-9]+:\s*62 f6 52 3f d6 f4\s+vfmulcph ymm6\{k7\},ymm5,ymm4\{rd-sae\} -\s*[a-f0-9]+:\s*62 f6 52 ff d6 f4\s+vfmulcph ymm6\{k7\}\{z\},ymm5,ymm4\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 5b f5\s+vcvtdq2ph xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 78 3f 5b f5\s+vcvtdq2ph xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 78 ff 5b f5\s+vcvtdq2ph xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 78 18 5b f5\s+vcvtdq2ps ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 78 3f 5b f5\s+vcvtdq2ps ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 78 ff 5b f5\s+vcvtdq2ps ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 7b 18 7a f5\s+vcvtudq2ph xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 7b 3f 7a f5\s+vcvtudq2ph xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 7b ff 7a f5\s+vcvtudq2ph xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 7b 18 7a f5\s+vcvtudq2ps ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 7b 3f 7a f5\s+vcvtudq2ps ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 7b ff 7a f5\s+vcvtudq2ps ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 fb 18 e6 f5\s+vcvtpd2dq xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 fb 3f e6 f5\s+vcvtpd2dq xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 fb ff e6 f5\s+vcvtpd2dq xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 f9 18 5a f5\s+vcvtpd2ph xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 f9 3f 5a f5\s+vcvtpd2ph xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 f9 ff 5a f5\s+vcvtpd2ph xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 5a f5\s+vcvtpd2ps xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 3f 5a f5\s+vcvtpd2ps xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 5a f5\s+vcvtpd2ps xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 f8 18 79 f5\s+vcvtpd2udq xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 f8 3f 79 f5\s+vcvtpd2udq xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 f8 ff 79 f5\s+vcvtpd2udq xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 7b f5\s+vcvtpd2qq ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 3f 7b f5\s+vcvtpd2qq ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 7b f5\s+vcvtpd2qq ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 79 f5\s+vcvtpd2uqq ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 3f 79 f5\s+vcvtpd2uqq ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 79 f5\s+vcvtpd2uqq ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 5b f5\s+vcvtph2dq ymm6,xmm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 79 3f 5b f5\s+vcvtph2dq ymm6\{k7\},xmm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 79 ff 5b f5\s+vcvtph2dq ymm6\{k7\}\{z\},xmm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 7b f5\s+vcvtph2qq ymm6,xmm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 79 3f 7b f5\s+vcvtph2qq ymm6\{k7\},xmm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 79 ff 7b f5\s+vcvtph2qq ymm6\{k7\}\{z\},xmm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 79 f5\s+vcvtph2udq ymm6,xmm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 78 3f 79 f5\s+vcvtph2udq ymm6\{k7\},xmm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 78 ff 79 f5\s+vcvtph2udq ymm6\{k7\}\{z\},xmm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 79 f5\s+vcvtph2uqq ymm6,xmm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 79 3f 79 f5\s+vcvtph2uqq ymm6\{k7\},xmm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 79 ff 79 f5\s+vcvtph2uqq ymm6\{k7\}\{z\},xmm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 5a f5\s+vcvtph2pd ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 1f 5a f5\s+vcvtph2pd ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 9f 5a f5\s+vcvtph2pd ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 79 18 13 f5\s+vcvtph2ps ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 79 1f 13 f5\s+vcvtph2ps ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f2 79 9f 13 f5\s+vcvtph2ps ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f6 79 18 13 f5\s+vcvtph2psx ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f6 79 1f 13 f5\s+vcvtph2psx ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f6 79 9f 13 f5\s+vcvtph2psx ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 7d f5\s+vcvtph2uw ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 78 3f 7d f5\s+vcvtph2uw ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 78 ff 7d f5\s+vcvtph2uw ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 7d f5\s+vcvtph2w ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 79 3f 7d f5\s+vcvtph2w ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 79 ff 7d f5\s+vcvtph2w ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 79 18 5b f5\s+vcvtps2dq ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 79 3f 5b f5\s+vcvtps2dq ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 79 ff 5b f5\s+vcvtps2dq ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 78 18 79 f5\s+vcvtps2udq ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 78 3f 79 f5\s+vcvtps2udq ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 78 ff 79 f5\s+vcvtps2udq ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 78 18 5a f5\s+vcvtps2pd ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 78 1f 5a f5\s+vcvtps2pd ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 78 9f 5a f5\s+vcvtps2pd ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 1d f5\s+vcvtps2phx xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 79 3f 1d f5\s+vcvtps2phx xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 79 ff 1d f5\s+vcvtps2phx xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 79 18 7b f5\s+vcvtps2qq ymm6,xmm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 79 3f 7b f5\s+vcvtps2qq ymm6\{k7\},xmm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 79 ff 7b f5\s+vcvtps2qq ymm6\{k7\}\{z\},xmm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 79 18 79 f5\s+vcvtps2uqq ymm6,xmm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 79 3f 79 f5\s+vcvtps2uqq ymm6\{k7\},xmm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 79 ff 79 f5\s+vcvtps2uqq ymm6\{k7\}\{z\},xmm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 fa 18 e6 f5\s+vcvtqq2pd ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 fa 3f e6 f5\s+vcvtqq2pd ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 fa ff e6 f5\s+vcvtqq2pd ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 f8 18 5b f5\s+vcvtqq2ph xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 f8 3f 5b f5\s+vcvtqq2ph xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 f8 ff 5b f5\s+vcvtqq2ph xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 f8 18 5b f5\s+vcvtqq2ps xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 f8 3f 5b f5\s+vcvtqq2ps xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 f8 ff 5b f5\s+vcvtqq2ps xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 fa 18 7a f5\s+vcvtuqq2pd ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 fa 3f 7a f5\s+vcvtuqq2pd ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 fa ff 7a f5\s+vcvtuqq2pd ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 fb 18 7a f5\s+vcvtuqq2ph xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 fb 3f 7a f5\s+vcvtuqq2ph xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 fb ff 7a f5\s+vcvtuqq2ph xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 fb 18 7a f5\s+vcvtuqq2ps xmm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f1 fb 3f 7a f5\s+vcvtuqq2ps xmm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f1 fb ff 7a f5\s+vcvtuqq2ps xmm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 e6 f5\s+vcvttpd2dq xmm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 1f e6 f5\s+vcvttpd2dq xmm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 9f e6 f5\s+vcvttpd2dq xmm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f8 18 78 f5\s+vcvttpd2udq xmm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f8 1f 78 f5\s+vcvttpd2udq xmm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f8 9f 78 f5\s+vcvttpd2udq xmm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 7a f5\s+vcvttpd2qq ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 1f 7a f5\s+vcvttpd2qq ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 9f 7a f5\s+vcvttpd2qq ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 18 78 f5\s+vcvttpd2uqq ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 1f 78 f5\s+vcvttpd2uqq ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 f9 9f 78 f5\s+vcvttpd2uqq ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 7a 18 5b f5\s+vcvttph2dq ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 7a 1f 5b f5\s+vcvttph2dq ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 7a 9f 5b f5\s+vcvttph2dq ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 7a f5\s+vcvttph2qq ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 1f 7a f5\s+vcvttph2qq ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 9f 7a f5\s+vcvttph2qq ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 78 f5\s+vcvttph2udq ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 1f 78 f5\s+vcvttph2udq ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 9f 78 f5\s+vcvttph2udq ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 78 f5\s+vcvttph2uqq ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 1f 78 f5\s+vcvttph2uqq ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 9f 78 f5\s+vcvttph2uqq ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 18 7c f5\s+vcvttph2uw ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 1f 7c f5\s+vcvttph2uw ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 78 9f 7c f5\s+vcvttph2uw ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 18 7c f5\s+vcvttph2w ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 1f 7c f5\s+vcvttph2w ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 79 9f 7c f5\s+vcvttph2w ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 7a 18 5b f5\s+vcvttps2dq ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 7a 1f 5b f5\s+vcvttps2dq ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 7a 9f 5b f5\s+vcvttps2dq ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 78 18 78 f5\s+vcvttps2udq ymm6,ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 78 1f 78 f5\s+vcvttps2udq ymm6\{k7\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 78 9f 78 f5\s+vcvttps2udq ymm6\{k7\}\{z\},ymm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 79 18 7a f5\s+vcvttps2qq ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 79 1f 7a f5\s+vcvttps2qq ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 79 9f 7a f5\s+vcvttps2qq ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 79 18 78 f5\s+vcvttps2uqq ymm6,xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 79 1f 78 f5\s+vcvttps2uqq ymm6\{k7\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f1 79 9f 78 f5\s+vcvttps2uqq ymm6\{k7\}\{z\},xmm5\{sae\} -\s*[a-f0-9]+:\s*62 f5 7b 18 7d f5\s+vcvtuw2ph ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 7b 3f 7d f5\s+vcvtuw2ph ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 7b ff 7d f5\s+vcvtuw2ph ymm6\{k7\}\{z\},ymm5\{rz-sae\} -\s*[a-f0-9]+:\s*62 f5 7a 18 7d f5\s+vcvtw2ph ymm6,ymm5\{rn-sae\} -\s*[a-f0-9]+:\s*62 f5 7a 3f 7d f5\s+vcvtw2ph ymm6\{k7\},ymm5\{rd-sae\} -\s*[a-f0-9]+:\s*62 f5 7a ff 7d f5\s+vcvtw2ph ymm6\{k7\}\{z\},ymm5\{rz-sae\} -#pass diff --git a/gas/testsuite/gas/i386/avx10_2-rounding-inval.l b/gas/testsuite/gas/i386/avx10_2-rounding-inval.l deleted file mode 100644 index 924353b..0000000 --- a/gas/testsuite/gas/i386/avx10_2-rounding-inval.l +++ /dev/null @@ -1,35 +0,0 @@ -.* Assembler messages: -.*:6: Error: operand size mismatch for `vcmppd' -.*:7: Error: operand size mismatch for `vgetexppd' -.*:8: Error: operand size mismatch for `vsqrtpd' -.*:9: Error: operand size mismatch for `vaddpd' -.*:10: Error: operand size mismatch for `vmaxpd' -.*:11: Error: operand size mismatch for `vreducepd' -.*:12: Error: operand size mismatch for `vfmadd132pd' -.*:13: Error: operand size mismatch for `vrangepd' -.*:14: Error: operand size mismatch for `vfcmaddcph' -.*:15: Error: operand size mismatch for `vcvtdq2ph' -.*:16: Error: operand size mismatch for `vcvtdq2ps' -.*:17: Error: operand size mismatch for `vcvtpd2dq' -.*:18: Error: operand size mismatch for `vcvtpd2ph' -.*:19: Error: operand size mismatch for `vcvtpd2qq' -.*:20: Error: operand size mismatch for `vcvtph2dq' -.*:21: Error: operand size mismatch for `vcvtph2qq' -.*:22: Error: operand size mismatch for `vcvtph2pd' -.*:23: Error: operand size mismatch for `vcvtph2ps' -.*:24: Error: operand size mismatch for `vcvtph2uw' -.*:25: Error: operand size mismatch for `vcvtps2dq' -.*:26: Error: operand size mismatch for `vcvtps2pd' -.*:27: Error: operand size mismatch for `vcvtps2phx' -.*:28: Error: operand size mismatch for `vcvtps2qq' -.*:29: Error: operand size mismatch for `vcvtqq2pd' -.*:30: Error: operand size mismatch for `vcvtqq2ph' -.*:31: Error: operand size mismatch for `vcvtqq2ps' -.*:32: Error: operand size mismatch for `vcvttpd2dq' -.*:33: Error: operand size mismatch for `vcvttpd2qq' -.*:34: Error: operand size mismatch for `vcvttph2dq' -.*:35: Error: operand size mismatch for `vcvttph2qq' -.*:36: Error: operand size mismatch for `vcvttph2uw' -.*:37: Error: operand size mismatch for `vcvttps2dq' -.*:38: Error: operand size mismatch for `vcvttps2qq' -.*:39: Error: operand size mismatch for `vcvtuw2ph' diff --git a/gas/testsuite/gas/i386/avx10_2-rounding-inval.s b/gas/testsuite/gas/i386/avx10_2-rounding-inval.s deleted file mode 100644 index fbde553..0000000 --- a/gas/testsuite/gas/i386/avx10_2-rounding-inval.s +++ /dev/null @@ -1,39 +0,0 @@ -# Check invalid AVX10.2 instructions - - .text - .arch .noavx10.2 -_start: - vcmppd $123, {sae}, %ymm4, %ymm5, %k5 - vgetexppd {sae}, %ymm5, %ymm6 - vsqrtpd {rn-sae}, %ymm5, %ymm6 - vaddpd {rn-sae}, %ymm4, %ymm5, %ymm6 - vmaxpd {sae}, %ymm4, %ymm5, %ymm6 - vreducepd $123, {sae}, %ymm5, %ymm6 - vfmadd132pd {rn-sae}, %ymm4, %ymm5, %ymm6 - vrangepd $123, {sae}, %ymm4, %ymm5, %ymm6 - vfcmaddcph {rn-sae}, %ymm4, %ymm5, %ymm6 - vcvtdq2ph {rn-sae}, %ymm5, %xmm6 - vcvtdq2ps {rn-sae}, %ymm5, %ymm6 - vcvtpd2dq {rn-sae}, %ymm5, %xmm6 - vcvtpd2ph {rn-sae}, %ymm5, %xmm6 - vcvtpd2qq {rn-sae}, %ymm5, %ymm6 - vcvtph2dq {rn-sae}, %xmm5, %ymm6 - vcvtph2qq {rn-sae}, %xmm5, %ymm6 - vcvtph2pd {sae}, %xmm5, %ymm6 - vcvtph2ps {sae}, %xmm5, %ymm6 - vcvtph2uw {rn-sae}, %ymm5, %ymm6 - vcvtps2dq {rn-sae}, %ymm5, %ymm6 - vcvtps2pd {sae}, %xmm5, %ymm6 - vcvtps2phx {rn-sae}, %ymm5, %xmm6 - vcvtps2qq {rn-sae}, %xmm5, %ymm6 - vcvtqq2pd {rn-sae}, %ymm5, %ymm6 - vcvtqq2ph {rn-sae}, %ymm5, %xmm6 - vcvtqq2ps {rn-sae}, %ymm5, %xmm6 - vcvttpd2dq {sae}, %ymm5, %xmm6 - vcvttpd2qq {sae}, %ymm5, %ymm6 - vcvttph2dq {sae}, %xmm5, %ymm6 - vcvttph2qq {sae}, %xmm5, %ymm6 - vcvttph2uw {sae}, %ymm5, %ymm6 - vcvttps2dq {sae}, %ymm5, %ymm6 - vcvttps2qq {sae}, %xmm5, %ymm6 - vcvtuw2ph {rn-sae}, %ymm5, %ymm6 diff --git a/gas/testsuite/gas/i386/avx10_2-rounding.d b/gas/testsuite/gas/i386/avx10_2-rounding.d deleted file mode 100644 index 30d4624..0000000 --- a/gas/testsuite/gas/i386/avx10_2-rounding.d +++ /dev/null @@ -1,450 +0,0 @@ -#objdump: -dw -#name: i386 AVX10.2 rounding insns - -.*: +file format .* - -Disassembly of section \.text: - -0+ <_start>: -\s*[a-f0-9]+:\s*62 f1 d1 18 c2 ec 7b\s+vcmppd \$0x7b,\{sae\},%ymm4,%ymm5,%k5 -\s*[a-f0-9]+:\s*62 f1 d1 1f c2 ec 7b\s+vcmppd \$0x7b,\{sae\},%ymm4,%ymm5,%k5\{%k7\} -\s*[a-f0-9]+:\s*62 f2 f9 18 42 f5\s+vgetexppd \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 f9 1f 42 f5\s+vgetexppd \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 f9 9f 42 f5\s+vgetexppd \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 51 f5\s+vsqrtpd \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 f9 3f 51 f5\s+vsqrtpd \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 51 f5\s+vsqrtpd \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 50 18 c2 ec 7b\s+vcmpph \$0x7b,\{sae\},%ymm4,%ymm5,%k5 -\s*[a-f0-9]+:\s*62 f3 50 1f c2 ec 7b\s+vcmpph \$0x7b,\{sae\},%ymm4,%ymm5,%k5\{%k7\} -\s*[a-f0-9]+:\s*62 f6 79 18 42 f5\s+vgetexpph \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 79 1f 42 f5\s+vgetexpph \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 79 9f 42 f5\s+vgetexpph \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 51 f5\s+vsqrtph \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 3f 51 f5\s+vsqrtph \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 ff 51 f5\s+vsqrtph \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 c2 ec 7b\s+vcmpps \$0x7b,\{sae\},%ymm4,%ymm5,%k5 -\s*[a-f0-9]+:\s*62 f1 50 1f c2 ec 7b\s+vcmpps \$0x7b,\{sae\},%ymm4,%ymm5,%k5\{%k7\} -\s*[a-f0-9]+:\s*62 f2 79 18 42 f5\s+vgetexpps \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 79 1f 42 f5\s+vgetexpps \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 79 9f 42 f5\s+vgetexpps \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 78 18 51 f5\s+vsqrtps \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 78 3f 51 f5\s+vsqrtps \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 78 ff 51 f5\s+vsqrtps \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 d1 18 58 f4\s+vaddpd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 d1 3f 58 f4\s+vaddpd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 58 f4\s+vaddpd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 50 18 58 f4\s+vaddph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 50 3f 58 f4\s+vaddph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 50 ff 58 f4\s+vaddph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 58 f4\s+vaddps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 50 3f 58 f4\s+vaddps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 50 ff 58 f4\s+vaddps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5e f4\s+vdivpd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 d1 3f 5e f4\s+vdivpd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 5e f4\s+vdivpd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 50 18 5e f4\s+vdivph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 50 3f 5e f4\s+vdivph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 50 ff 5e f4\s+vdivph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 5e f4\s+vdivps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 50 3f 5e f4\s+vdivps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 50 ff 5e f4\s+vdivps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 d1 18 59 f4\s+vmulpd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 d1 3f 59 f4\s+vmulpd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 59 f4\s+vmulpd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 50 18 59 f4\s+vmulph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 50 3f 59 f4\s+vmulph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 50 ff 59 f4\s+vmulph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 59 f4\s+vmulps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 50 3f 59 f4\s+vmulps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 50 ff 59 f4\s+vmulps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 2c f4\s+vscalefpd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 2c f4\s+vscalefpd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 2c f4\s+vscalefpd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 2c f4\s+vscalefph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 2c f4\s+vscalefph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 2c f4\s+vscalefph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 2c f4\s+vscalefps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 2c f4\s+vscalefps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 2c f4\s+vscalefps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5c f4\s+vsubpd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 d1 3f 5c f4\s+vsubpd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 d1 ff 5c f4\s+vsubpd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 50 18 5c f4\s+vsubph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 50 3f 5c f4\s+vsubph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 50 ff 5c f4\s+vsubph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 5c f4\s+vsubps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 50 3f 5c f4\s+vsubps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 50 ff 5c f4\s+vsubps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5f f4\s+vmaxpd \{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 d1 1f 5f f4\s+vmaxpd \{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 d1 9f 5f f4\s+vmaxpd \{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 50 18 5f f4\s+vmaxph \{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 50 1f 5f f4\s+vmaxph \{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 50 9f 5f f4\s+vmaxph \{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 5f f4\s+vmaxps \{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 50 1f 5f f4\s+vmaxps \{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 50 9f 5f f4\s+vmaxps \{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 d1 18 5d f4\s+vminpd \{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 d1 1f 5d f4\s+vminpd \{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 d1 9f 5d f4\s+vminpd \{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 50 18 5d f4\s+vminph \{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 50 1f 5d f4\s+vminph \{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 50 9f 5d f4\s+vminph \{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 50 18 5d f4\s+vminps \{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 50 1f 5d f4\s+vminps \{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 50 9f 5d f4\s+vminps \{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 f9 18 26 f5 7b\s+vgetmantpd \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 f9 1f 26 f5 7b\s+vgetmantpd \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 f9 9f 26 f5 7b\s+vgetmantpd \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 78 18 26 f5 7b\s+vgetmantph \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 78 1f 26 f5 7b\s+vgetmantph \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 78 9f 26 f5 7b\s+vgetmantph \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 79 18 26 f5 7b\s+vgetmantps \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 79 1f 26 f5 7b\s+vgetmantps \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 79 9f 26 f5 7b\s+vgetmantps \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 f9 18 56 f5 7b\s+vreducepd \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 f9 1f 56 f5 7b\s+vreducepd \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 f9 9f 56 f5 7b\s+vreducepd \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 78 18 56 f5 7b\s+vreduceph \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 78 1f 56 f5 7b\s+vreduceph \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 78 9f 56 f5 7b\s+vreduceph \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 79 18 56 f5 7b\s+vreduceps \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 79 1f 56 f5 7b\s+vreduceps \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 79 9f 56 f5 7b\s+vreduceps \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 f9 18 09 f5 7b\s+vrndscalepd \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 f9 1f 09 f5 7b\s+vrndscalepd \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 f9 9f 09 f5 7b\s+vrndscalepd \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 78 18 08 f5 7b\s+vrndscaleph \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 78 1f 08 f5 7b\s+vrndscaleph \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 78 9f 08 f5 7b\s+vrndscaleph \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 79 18 08 f5 7b\s+vrndscaleps \$0x7b,\{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 79 1f 08 f5 7b\s+vrndscaleps \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 79 9f 08 f5 7b\s+vrndscaleps \$0x7b,\{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 98 f4\s+vfmadd132pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 98 f4\s+vfmadd132pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 98 f4\s+vfmadd132pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 98 f4\s+vfmadd132ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 98 f4\s+vfmadd132ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 98 f4\s+vfmadd132ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 98 f4\s+vfmadd132ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 98 f4\s+vfmadd132ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 98 f4\s+vfmadd132ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 a8 f4\s+vfmadd213pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f a8 f4\s+vfmadd213pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff a8 f4\s+vfmadd213pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 a8 f4\s+vfmadd213ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f a8 f4\s+vfmadd213ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff a8 f4\s+vfmadd213ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 a8 f4\s+vfmadd213ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f a8 f4\s+vfmadd213ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff a8 f4\s+vfmadd213ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 b8 f4\s+vfmadd231pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f b8 f4\s+vfmadd231pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff b8 f4\s+vfmadd231pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 b8 f4\s+vfmadd231ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f b8 f4\s+vfmadd231ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff b8 f4\s+vfmadd231ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 b8 f4\s+vfmadd231ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f b8 f4\s+vfmadd231ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff b8 f4\s+vfmadd231ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 96 f4\s+vfmaddsub132pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 96 f4\s+vfmaddsub132pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 96 f4\s+vfmaddsub132pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 96 f4\s+vfmaddsub132ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 96 f4\s+vfmaddsub132ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 96 f4\s+vfmaddsub132ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 96 f4\s+vfmaddsub132ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 96 f4\s+vfmaddsub132ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 96 f4\s+vfmaddsub132ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 a6 f4\s+vfmaddsub213pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f a6 f4\s+vfmaddsub213pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff a6 f4\s+vfmaddsub213pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 a6 f4\s+vfmaddsub213ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f a6 f4\s+vfmaddsub213ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff a6 f4\s+vfmaddsub213ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 a6 f4\s+vfmaddsub213ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f a6 f4\s+vfmaddsub213ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff a6 f4\s+vfmaddsub213ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 b6 f4\s+vfmaddsub231pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f b6 f4\s+vfmaddsub231pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff b6 f4\s+vfmaddsub231pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 b6 f4\s+vfmaddsub231ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f b6 f4\s+vfmaddsub231ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff b6 f4\s+vfmaddsub231ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 b6 f4\s+vfmaddsub231ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f b6 f4\s+vfmaddsub231ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff b6 f4\s+vfmaddsub231ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 9a f4\s+vfmsub132pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 9a f4\s+vfmsub132pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 9a f4\s+vfmsub132pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 9a f4\s+vfmsub132ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 9a f4\s+vfmsub132ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 9a f4\s+vfmsub132ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 9a f4\s+vfmsub132ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 9a f4\s+vfmsub132ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 9a f4\s+vfmsub132ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 aa f4\s+vfmsub213pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f aa f4\s+vfmsub213pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff aa f4\s+vfmsub213pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 aa f4\s+vfmsub213ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f aa f4\s+vfmsub213ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff aa f4\s+vfmsub213ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 aa f4\s+vfmsub213ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f aa f4\s+vfmsub213ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff aa f4\s+vfmsub213ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 ba f4\s+vfmsub231pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f ba f4\s+vfmsub231pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff ba f4\s+vfmsub231pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 ba f4\s+vfmsub231ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f ba f4\s+vfmsub231ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff ba f4\s+vfmsub231ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 ba f4\s+vfmsub231ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f ba f4\s+vfmsub231ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff ba f4\s+vfmsub231ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 97 f4\s+vfmsubadd132pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 97 f4\s+vfmsubadd132pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 97 f4\s+vfmsubadd132pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 97 f4\s+vfmsubadd132ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 97 f4\s+vfmsubadd132ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 97 f4\s+vfmsubadd132ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 97 f4\s+vfmsubadd132ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 97 f4\s+vfmsubadd132ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 97 f4\s+vfmsubadd132ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 a7 f4\s+vfmsubadd213pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f a7 f4\s+vfmsubadd213pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff a7 f4\s+vfmsubadd213pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 a7 f4\s+vfmsubadd213ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f a7 f4\s+vfmsubadd213ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff a7 f4\s+vfmsubadd213ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 a7 f4\s+vfmsubadd213ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f a7 f4\s+vfmsubadd213ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff a7 f4\s+vfmsubadd213ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 b7 f4\s+vfmsubadd231pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f b7 f4\s+vfmsubadd231pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff b7 f4\s+vfmsubadd231pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 b7 f4\s+vfmsubadd231ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f b7 f4\s+vfmsubadd231ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff b7 f4\s+vfmsubadd231ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 b7 f4\s+vfmsubadd231ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f b7 f4\s+vfmsubadd231ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff b7 f4\s+vfmsubadd231ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 9c f4\s+vfnmadd132pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 9c f4\s+vfnmadd132pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 9c f4\s+vfnmadd132pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 9c f4\s+vfnmadd132ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 9c f4\s+vfnmadd132ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 9c f4\s+vfnmadd132ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 9c f4\s+vfnmadd132ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 9c f4\s+vfnmadd132ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 9c f4\s+vfnmadd132ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 ac f4\s+vfnmadd213pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f ac f4\s+vfnmadd213pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff ac f4\s+vfnmadd213pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 ac f4\s+vfnmadd213ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f ac f4\s+vfnmadd213ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff ac f4\s+vfnmadd213ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 ac f4\s+vfnmadd213ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f ac f4\s+vfnmadd213ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff ac f4\s+vfnmadd213ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 bc f4\s+vfnmadd231pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f bc f4\s+vfnmadd231pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff bc f4\s+vfnmadd231pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 bc f4\s+vfnmadd231ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f bc f4\s+vfnmadd231ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff bc f4\s+vfnmadd231ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 bc f4\s+vfnmadd231ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f bc f4\s+vfnmadd231ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff bc f4\s+vfnmadd231ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 9e f4\s+vfnmsub132pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f 9e f4\s+vfnmsub132pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff 9e f4\s+vfnmsub132pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 9e f4\s+vfnmsub132ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f 9e f4\s+vfnmsub132ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff 9e f4\s+vfnmsub132ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 9e f4\s+vfnmsub132ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f 9e f4\s+vfnmsub132ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff 9e f4\s+vfnmsub132ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 ae f4\s+vfnmsub213pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f ae f4\s+vfnmsub213pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff ae f4\s+vfnmsub213pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 ae f4\s+vfnmsub213ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f ae f4\s+vfnmsub213ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff ae f4\s+vfnmsub213ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 ae f4\s+vfnmsub213ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f ae f4\s+vfnmsub213ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff ae f4\s+vfnmsub213ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 d1 18 be f4\s+vfnmsub231pd \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 d1 3f be f4\s+vfnmsub231pd \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 d1 ff be f4\s+vfnmsub231pd \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 51 18 be f4\s+vfnmsub231ph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 51 3f be f4\s+vfnmsub231ph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 51 ff be f4\s+vfnmsub231ph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 51 18 be f4\s+vfnmsub231ps \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 51 3f be f4\s+vfnmsub231ps \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 51 ff be f4\s+vfnmsub231ps \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 d1 18 54 f4 7b\s+vfixupimmpd \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 d1 1f 54 f4 7b\s+vfixupimmpd \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 d1 9f 54 f4 7b\s+vfixupimmpd \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 51 18 54 f4 7b\s+vfixupimmps \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 51 1f 54 f4 7b\s+vfixupimmps \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 51 9f 54 f4 7b\s+vfixupimmps \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 d1 18 50 f4 7b\s+vrangepd \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 d1 1f 50 f4 7b\s+vrangepd \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 d1 9f 50 f4 7b\s+vrangepd \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f3 51 18 50 f4 7b\s+vrangeps \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f3 51 1f 50 f4 7b\s+vrangeps \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f3 51 9f 50 f4 7b\s+vrangeps \$0x7b,\{sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 53 18 56 f4\s+vfcmaddcph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 53 3f 56 f4\s+vfcmaddcph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 53 ff 56 f4\s+vfcmaddcph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 53 18 d6 f4\s+vfcmulcph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 53 3f d6 f4\s+vfcmulcph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 53 ff d6 f4\s+vfcmulcph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 52 18 56 f4\s+vfmaddcph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 52 3f 56 f4\s+vfmaddcph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 52 ff 56 f4\s+vfmaddcph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 52 18 d6 f4\s+vfmulcph \{rn-sae\},%ymm4,%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 52 3f d6 f4\s+vfmulcph \{rd-sae\},%ymm4,%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 52 ff d6 f4\s+vfmulcph \{rz-sae\},%ymm4,%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 5b f5\s+vcvtdq2ph \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 78 3f 5b f5\s+vcvtdq2ph \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 ff 5b f5\s+vcvtdq2ph \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 78 18 5b f5\s+vcvtdq2ps \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 78 3f 5b f5\s+vcvtdq2ps \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 78 ff 5b f5\s+vcvtdq2ps \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 7b 18 7a f5\s+vcvtudq2ph \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 7b 3f 7a f5\s+vcvtudq2ph \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 7b ff 7a f5\s+vcvtudq2ph \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 7b 18 7a f5\s+vcvtudq2ps \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 7b 3f 7a f5\s+vcvtudq2ps \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 7b ff 7a f5\s+vcvtudq2ps \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 fb 18 e6 f5\s+vcvtpd2dq \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 fb 3f e6 f5\s+vcvtpd2dq \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 fb ff e6 f5\s+vcvtpd2dq \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 f9 18 5a f5\s+vcvtpd2ph \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 f9 3f 5a f5\s+vcvtpd2ph \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 f9 ff 5a f5\s+vcvtpd2ph \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 5a f5\s+vcvtpd2ps \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 f9 3f 5a f5\s+vcvtpd2ps \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 5a f5\s+vcvtpd2ps \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f8 18 79 f5\s+vcvtpd2udq \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 f8 3f 79 f5\s+vcvtpd2udq \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f8 ff 79 f5\s+vcvtpd2udq \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 7b f5\s+vcvtpd2qq \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 f9 3f 7b f5\s+vcvtpd2qq \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 7b f5\s+vcvtpd2qq \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 79 f5\s+vcvtpd2uqq \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 f9 3f 79 f5\s+vcvtpd2uqq \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 ff 79 f5\s+vcvtpd2uqq \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 5b f5\s+vcvtph2dq \{rn-sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 3f 5b f5\s+vcvtph2dq \{rd-sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 ff 5b f5\s+vcvtph2dq \{rz-sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 7b f5\s+vcvtph2qq \{rn-sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 3f 7b f5\s+vcvtph2qq \{rd-sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 ff 7b f5\s+vcvtph2qq \{rz-sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 79 f5\s+vcvtph2udq \{rn-sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 3f 79 f5\s+vcvtph2udq \{rd-sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 ff 79 f5\s+vcvtph2udq \{rz-sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 79 f5\s+vcvtph2uqq \{rn-sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 3f 79 f5\s+vcvtph2uqq \{rd-sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 ff 79 f5\s+vcvtph2uqq \{rz-sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 5a f5\s+vcvtph2pd \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 1f 5a f5\s+vcvtph2pd \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 9f 5a f5\s+vcvtph2pd \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f2 79 18 13 f5\s+vcvtph2ps \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f2 79 1f 13 f5\s+vcvtph2ps \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f2 79 9f 13 f5\s+vcvtph2ps \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f6 79 18 13 f5\s+vcvtph2psx \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f6 79 1f 13 f5\s+vcvtph2psx \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f6 79 9f 13 f5\s+vcvtph2psx \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 7d f5\s+vcvtph2uw \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 3f 7d f5\s+vcvtph2uw \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 ff 7d f5\s+vcvtph2uw \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 7d f5\s+vcvtph2w \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 3f 7d f5\s+vcvtph2w \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 ff 7d f5\s+vcvtph2w \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 79 18 5b f5\s+vcvtps2dq \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 79 3f 5b f5\s+vcvtps2dq \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 79 ff 5b f5\s+vcvtps2dq \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 78 18 79 f5\s+vcvtps2udq \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 78 3f 79 f5\s+vcvtps2udq \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 78 ff 79 f5\s+vcvtps2udq \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 78 18 5a f5\s+vcvtps2pd \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 78 1f 5a f5\s+vcvtps2pd \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 78 9f 5a f5\s+vcvtps2pd \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 1d f5\s+vcvtps2phx \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 79 3f 1d f5\s+vcvtps2phx \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 ff 1d f5\s+vcvtps2phx \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 79 18 7b f5\s+vcvtps2qq \{rn-sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 79 3f 7b f5\s+vcvtps2qq \{rd-sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 79 ff 7b f5\s+vcvtps2qq \{rz-sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 79 18 79 f5\s+vcvtps2uqq \{rn-sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 79 3f 79 f5\s+vcvtps2uqq \{rd-sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 79 ff 79 f5\s+vcvtps2uqq \{rz-sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 fa 18 e6 f5\s+vcvtqq2pd \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 fa 3f e6 f5\s+vcvtqq2pd \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 fa ff e6 f5\s+vcvtqq2pd \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 f8 18 5b f5\s+vcvtqq2ph \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 f8 3f 5b f5\s+vcvtqq2ph \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 f8 ff 5b f5\s+vcvtqq2ph \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f8 18 5b f5\s+vcvtqq2ps \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 f8 3f 5b f5\s+vcvtqq2ps \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f8 ff 5b f5\s+vcvtqq2ps \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 fa 18 7a f5\s+vcvtuqq2pd \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 fa 3f 7a f5\s+vcvtuqq2pd \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 fa ff 7a f5\s+vcvtuqq2pd \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 fb 18 7a f5\s+vcvtuqq2ph \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f5 fb 3f 7a f5\s+vcvtuqq2ph \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 fb ff 7a f5\s+vcvtuqq2ph \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 fb 18 7a f5\s+vcvtuqq2ps \{rn-sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 fb 3f 7a f5\s+vcvtuqq2ps \{rd-sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 fb ff 7a f5\s+vcvtuqq2ps \{rz-sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 e6 f5\s+vcvttpd2dq \{sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 f9 1f e6 f5\s+vcvttpd2dq \{sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 9f e6 f5\s+vcvttpd2dq \{sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f8 18 78 f5\s+vcvttpd2udq \{sae\},%ymm5,%xmm6 -\s*[a-f0-9]+:\s*62 f1 f8 1f 78 f5\s+vcvttpd2udq \{sae\},%ymm5,%xmm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f8 9f 78 f5\s+vcvttpd2udq \{sae\},%ymm5,%xmm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 7a f5\s+vcvttpd2qq \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 f9 1f 7a f5\s+vcvttpd2qq \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 9f 7a f5\s+vcvttpd2qq \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 f9 18 78 f5\s+vcvttpd2uqq \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 f9 1f 78 f5\s+vcvttpd2uqq \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 f9 9f 78 f5\s+vcvttpd2uqq \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 7a 18 5b f5\s+vcvttph2dq \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 7a 1f 5b f5\s+vcvttph2dq \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 7a 9f 5b f5\s+vcvttph2dq \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 7a f5\s+vcvttph2qq \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 1f 7a f5\s+vcvttph2qq \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 9f 7a f5\s+vcvttph2qq \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 78 f5\s+vcvttph2udq \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 1f 78 f5\s+vcvttph2udq \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 9f 78 f5\s+vcvttph2udq \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 78 f5\s+vcvttph2uqq \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 1f 78 f5\s+vcvttph2uqq \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 9f 78 f5\s+vcvttph2uqq \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 78 18 7c f5\s+vcvttph2uw \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 78 1f 7c f5\s+vcvttph2uw \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 78 9f 7c f5\s+vcvttph2uw \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 79 18 7c f5\s+vcvttph2w \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 79 1f 7c f5\s+vcvttph2w \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 79 9f 7c f5\s+vcvttph2w \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 7a 18 5b f5\s+vcvttps2dq \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 7a 1f 5b f5\s+vcvttps2dq \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 7a 9f 5b f5\s+vcvttps2dq \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 78 18 78 f5\s+vcvttps2udq \{sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 78 1f 78 f5\s+vcvttps2udq \{sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 78 9f 78 f5\s+vcvttps2udq \{sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 79 18 7a f5\s+vcvttps2qq \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 79 1f 7a f5\s+vcvttps2qq \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 79 9f 7a f5\s+vcvttps2qq \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f1 79 18 78 f5\s+vcvttps2uqq \{sae\},%xmm5,%ymm6 -\s*[a-f0-9]+:\s*62 f1 79 1f 78 f5\s+vcvttps2uqq \{sae\},%xmm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f1 79 9f 78 f5\s+vcvttps2uqq \{sae\},%xmm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 7b 18 7d f5\s+vcvtuw2ph \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 7b 3f 7d f5\s+vcvtuw2ph \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 7b ff 7d f5\s+vcvtuw2ph \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 f5 7a 18 7d f5\s+vcvtw2ph \{rn-sae\},%ymm5,%ymm6 -\s*[a-f0-9]+:\s*62 f5 7a 3f 7d f5\s+vcvtw2ph \{rd-sae\},%ymm5,%ymm6\{%k7\} -\s*[a-f0-9]+:\s*62 f5 7a ff 7d f5\s+vcvtw2ph \{rz-sae\},%ymm5,%ymm6\{%k7\}\{z\} -#pass diff --git a/gas/testsuite/gas/i386/avx10_2-rounding.s b/gas/testsuite/gas/i386/avx10_2-rounding.s deleted file mode 100644 index 048e715..0000000 --- a/gas/testsuite/gas/i386/avx10_2-rounding.s +++ /dev/null @@ -1,351 +0,0 @@ -# Check 32bit AVX10.2 instructions - - .text -_start: - .irp m, pd, ph, ps - vcmp\m $123, {sae}, %ymm4, %ymm5, %k5 - vcmp\m $123, {sae}, %ymm4, %ymm5, %k5{%k7} - vgetexp\m {sae}, %ymm5, %ymm6 - vgetexp\m {sae}, %ymm5, %ymm6{%k7} - vgetexp\m {sae}, %ymm5, %ymm6{%k7}{z} - vsqrt\m {rn-sae}, %ymm5, %ymm6 - vsqrt\m {rd-sae}, %ymm5, %ymm6{%k7} - vsqrt\m {rz-sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp a, add, div, mul, scalef, sub - .irp m, pd, ph, ps - v\a\m {rn-sae}, %ymm4, %ymm5, %ymm6 - v\a\m {rd-sae}, %ymm4, %ymm5, %ymm6{%k7} - v\a\m {rz-sae}, %ymm4, %ymm5, %ymm6{%k7}{z} - .endr - .endr - - .irp a, max, min - .irp m, pd, ph, ps - v\a\m {sae}, %ymm4, %ymm5, %ymm6 - v\a\m {sae}, %ymm4, %ymm5, %ymm6{%k7} - v\a\m {sae}, %ymm4, %ymm5, %ymm6{%k7}{z} - .endr - .endr - - .irp a, getmant, reduce, rndscale - .irp m, pd, ph, ps - v\a\m $123, {sae}, %ymm5, %ymm6 - v\a\m $123, {sae}, %ymm5, %ymm6{%k7} - v\a\m $123, {sae}, %ymm5, %ymm6{%k7}{z} - .endr - .endr - - .irp a, madd, maddsub, msub, msubadd, nmadd, nmsub - .irp n, 132, 213, 231 - .irp m, pd, ph, ps - vf\a\n\m {rn-sae}, %ymm4, %ymm5, %ymm6 - vf\a\n\m {rd-sae}, %ymm4, %ymm5, %ymm6{%k7} - vf\a\n\m {rz-sae}, %ymm4, %ymm5, %ymm6{%k7}{z} - .endr - .endr - .endr - - .irp a, fixupimm, range - .irp m, pd, ps - v\a\m $123, {sae}, %ymm4, %ymm5, %ymm6 - v\a\m $123, {sae}, %ymm4, %ymm5, %ymm6{%k7} - v\a\m $123, {sae}, %ymm4, %ymm5, %ymm6{%k7}{z} - .endr - .endr - - .irp a, cmadd, cmul, madd, mul - vf\a\()cph {rn-sae}, %ymm4, %ymm5, %ymm6 - vf\a\()cph {rd-sae}, %ymm4, %ymm5, %ymm6{%k7} - vf\a\()cph {rz-sae}, %ymm4, %ymm5, %ymm6{%k7}{z} - .endr - - .irp n, dq, udq - vcvt\n\()2ph {rn-sae}, %ymm5, %xmm6 - vcvt\n\()2ph {rd-sae}, %ymm5, %xmm6{%k7} - vcvt\n\()2ph {rz-sae}, %ymm5, %xmm6{%k7}{z} - - vcvt\n\()2ps {rn-sae}, %ymm5, %ymm6 - vcvt\n\()2ps {rd-sae}, %ymm5, %ymm6{%k7} - vcvt\n\()2ps {rz-sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp m, dq, ph, ps, udq - vcvtpd2\m {rn-sae}, %ymm5, %xmm6 - vcvtpd2\m {rd-sae}, %ymm5, %xmm6{%k7} - vcvtpd2\m {rz-sae}, %ymm5, %xmm6{%k7}{z} - .endr - - .irp m, qq, uqq - vcvtpd2\m {rn-sae}, %ymm5, %ymm6 - vcvtpd2\m {rd-sae}, %ymm5, %ymm6{%k7} - vcvtpd2\m {rz-sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp m, dq, qq, udq, uqq - vcvtph2\m {rn-sae}, %xmm5, %ymm6 - vcvtph2\m {rd-sae}, %xmm5, %ymm6{%k7} - vcvtph2\m {rz-sae}, %xmm5, %ymm6{%k7}{z} - .endr - - .irp m, pd, ps, psx - vcvtph2\m {sae}, %xmm5, %ymm6 - vcvtph2\m {sae}, %xmm5, %ymm6{%k7} - vcvtph2\m {sae}, %xmm5, %ymm6{%k7}{z} - .endr - - .irp m, uw, w - vcvtph2\m {rn-sae}, %ymm5, %ymm6 - vcvtph2\m {rd-sae}, %ymm5, %ymm6{%k7} - vcvtph2\m {rz-sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp m, dq, udq - vcvtps2\m {rn-sae}, %ymm5, %ymm6 - vcvtps2\m {rd-sae}, %ymm5, %ymm6{%k7} - vcvtps2\m {rz-sae}, %ymm5, %ymm6{%k7}{z} - .endr - - vcvtps2pd {sae}, %xmm5, %ymm6 - vcvtps2pd {sae}, %xmm5, %ymm6{%k7} - vcvtps2pd {sae}, %xmm5, %ymm6{%k7}{z} - - vcvtps2phx {rn-sae}, %ymm5, %xmm6 - vcvtps2phx {rd-sae}, %ymm5, %xmm6{%k7} - vcvtps2phx {rz-sae}, %ymm5, %xmm6{%k7}{z} - - .irp m, qq, uqq - vcvtps2\m {rn-sae}, %xmm5, %ymm6 - vcvtps2\m {rd-sae}, %xmm5, %ymm6{%k7} - vcvtps2\m {rz-sae}, %xmm5, %ymm6{%k7}{z} - .endr - - .irp n, qq, uqq - vcvt\n\()2pd {rn-sae}, %ymm5, %ymm6 - vcvt\n\()2pd {rd-sae}, %ymm5, %ymm6{%k7} - vcvt\n\()2pd {rz-sae}, %ymm5, %ymm6{%k7}{z} - - .irp m, ph, ps - vcvt\n\()2\m {rn-sae}, %ymm5, %xmm6 - vcvt\n\()2\m {rd-sae}, %ymm5, %xmm6{%k7} - vcvt\n\()2\m {rz-sae}, %ymm5, %xmm6{%k7}{z} - .endr - .endr - - .irp m, dq, udq - vcvttpd2\m {sae}, %ymm5, %xmm6 - vcvttpd2\m {sae}, %ymm5, %xmm6{%k7} - vcvttpd2\m {sae}, %ymm5, %xmm6{%k7}{z} - .endr - - .irp m, qq, uqq - vcvttpd2\m {sae}, %ymm5, %ymm6 - vcvttpd2\m {sae}, %ymm5, %ymm6{%k7} - vcvttpd2\m {sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp m, dq, qq, udq, uqq - vcvttph2\m {sae}, %xmm5, %ymm6 - vcvttph2\m {sae}, %xmm5, %ymm6{%k7} - vcvttph2\m {sae}, %xmm5, %ymm6{%k7}{z} - .endr - - .irp m, uw, w - vcvttph2\m {sae}, %ymm5, %ymm6 - vcvttph2\m {sae}, %ymm5, %ymm6{%k7} - vcvttph2\m {sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp m, dq, udq - vcvttps2\m {sae}, %ymm5, %ymm6 - vcvttps2\m {sae}, %ymm5, %ymm6{%k7} - vcvttps2\m {sae}, %ymm5, %ymm6{%k7}{z} - .endr - - .irp m, qq, uqq - vcvttps2\m {sae}, %xmm5, %ymm6 - vcvttps2\m {sae}, %xmm5, %ymm6{%k7} - vcvttps2\m {sae}, %xmm5, %ymm6{%k7}{z} - .endr - - .irp n, uw, w - vcvt\n\()2ph {rn-sae}, %ymm5, %ymm6 - vcvt\n\()2ph {rd-sae}, %ymm5, %ymm6{%k7} - vcvt\n\()2ph {rz-sae}, %ymm5, %ymm6{%k7}{z} - .endr - -_intel: - .intel_syntax noprefix - .irp m, pd, ph, ps - vcmp\m k5, ymm5, ymm4{sae}, 123 - vcmp\m k5{k7}, ymm5, ymm4{sae}, 123 - vgetexp\m ymm6, ymm5{sae} - vgetexp\m ymm6{k7}, ymm5{sae} - vgetexp\m ymm6{k7}{z}, ymm5{sae} - vsqrt\m ymm6, ymm5{rn-sae} - vsqrt\m ymm6{k7}, ymm5{rd-sae} - vsqrt\m ymm6{k7}{z}, ymm5{rz-sae} - .endr - - .irp a, add, div, mul, scalef, sub - .irp m, pd, ph, ps - v\a\m ymm6, ymm5, ymm4{rn-sae} - v\a\m ymm6{k7}, ymm5, ymm4{rd-sae} - v\a\m ymm6{k7}{z}, ymm5, ymm4{rz-sae} - .endr - .endr - - .irp a, max, min - .irp m, pd, ph, ps - v\a\m ymm6, ymm5, ymm4{sae} - v\a\m ymm6{k7}, ymm5, ymm4{sae} - v\a\m ymm6{k7}{z}, ymm5, ymm4{sae} - .endr - .endr - - .irp a, getmant, reduce, rndscale - .irp m, pd, ph, ps - v\a\m ymm6, ymm5{sae}, 123 - v\a\m ymm6{k7}, ymm5{sae}, 123 - v\a\m ymm6{k7}{z}, ymm5{sae}, 123 - .endr - .endr - - .irp a, madd, maddsub, msub, msubadd, nmadd, nmsub - .irp n, 132, 213, 231 - .irp m, pd, ph, ps - vf\a\n\m ymm6, ymm5, ymm4{rn-sae} - vf\a\n\m ymm6{k7}, ymm5, ymm4{rd-sae} - vf\a\n\m ymm6{k7}{z}, ymm5, ymm4{rz-sae} - .endr - .endr - .endr - - .irp a, fixupimm, range - .irp m, pd, ps - v\a\m ymm6, ymm5, ymm4{sae}, 123 - v\a\m ymm6{k7}, ymm5, ymm4{sae}, 123 - v\a\m ymm6{k7}{z}, ymm5, ymm4{sae}, 123 - .endr - .endr - - .irp a, cmadd, cmul, madd, mul - vf\a\()cph ymm6, ymm5, ymm4{rn-sae} - vf\a\()cph ymm6{k7}, ymm5, ymm4{rd-sae} - vf\a\()cph ymm6{k7}{z}, ymm5, ymm4{rz-sae} - .endr - - .irp n, dq, udq - vcvt\n\()2ph xmm6, ymm5{rn-sae} - vcvt\n\()2ph xmm6{k7}, ymm5{rd-sae} - vcvt\n\()2ph xmm6{k7}{z}, ymm5{rz-sae} - - vcvt\n\()2ps ymm6, ymm5{rn-sae} - vcvt\n\()2ps ymm6{k7}, ymm5{rd-sae} - vcvt\n\()2ps ymm6{k7}{z}, ymm5{rz-sae} - .endr - - .irp m, dq, ph, ps, udq - vcvtpd2\m xmm6, ymm5{rn-sae} - vcvtpd2\m xmm6{k7}, ymm5{rd-sae} - vcvtpd2\m xmm6{k7}{z}, ymm5{rz-sae} - .endr - - .irp m, qq, uqq - vcvtpd2\m ymm6, ymm5{rn-sae} - vcvtpd2\m ymm6{k7}, ymm5{rd-sae} - vcvtpd2\m ymm6{k7}{z}, ymm5{rz-sae} - .endr - - .irp m, dq, qq, udq, uqq - vcvtph2\m ymm6, xmm5{rn-sae} - vcvtph2\m ymm6{k7}, xmm5{rd-sae} - vcvtph2\m ymm6{k7}{z}, xmm5{rz-sae} - .endr - - .irp m, pd, ps, psx - vcvtph2\m ymm6, xmm5{sae} - vcvtph2\m ymm6{k7}, xmm5{sae} - vcvtph2\m ymm6{k7}{z}, xmm5{sae} - .endr - - .irp m, uw, w - vcvtph2\m ymm6, ymm5{rn-sae} - vcvtph2\m ymm6{k7}, ymm5{rd-sae} - vcvtph2\m ymm6{k7}{z}, ymm5{rz-sae} - .endr - - .irp m, dq, udq - vcvtps2\m ymm6, ymm5{rn-sae} - vcvtps2\m ymm6{k7}, ymm5{rd-sae} - vcvtps2\m ymm6{k7}{z}, ymm5{rz-sae} - .endr - - vcvtps2pd ymm6, xmm5{sae} - vcvtps2pd ymm6{k7}, xmm5{sae} - vcvtps2pd ymm6{k7}{z}, xmm5{sae} - - vcvtps2phx xmm6, ymm5{rn-sae} - vcvtps2phx xmm6{k7}, ymm5{rd-sae} - vcvtps2phx xmm6{k7}{z}, ymm5{rz-sae} - - .irp m, qq, uqq - vcvtps2\m ymm6, xmm5{rn-sae} - vcvtps2\m ymm6{k7}, xmm5{rd-sae} - vcvtps2\m ymm6{k7}{z}, xmm5{rz-sae} - .endr - - .irp n, qq, uqq - vcvt\n\()2pd ymm6, ymm5{rn-sae} - vcvt\n\()2pd ymm6{k7}, ymm5{rd-sae} - vcvt\n\()2pd ymm6{k7}{z}, ymm5{rz-sae} - - .irp m, ph, ps - vcvt\n\()2\m xmm6, ymm5{rn-sae} - vcvt\n\()2\m xmm6{k7}, ymm5{rd-sae} - vcvt\n\()2\m xmm6{k7}{z}, ymm5{rz-sae} - .endr - .endr - - .irp m, dq, udq - vcvttpd2\m xmm6, ymm5{sae} - vcvttpd2\m xmm6{k7}, ymm5{sae} - vcvttpd2\m xmm6{k7}{z}, ymm5{sae} - .endr - - .irp m, qq, uqq - vcvttpd2\m ymm6, ymm5{sae} - vcvttpd2\m ymm6{k7}, ymm5{sae} - vcvttpd2\m ymm6{k7}{z}, ymm5{sae} - .endr - - .irp m, dq, qq, udq, uqq - vcvttph2\m ymm6, xmm5{sae} - vcvttph2\m ymm6{k7}, xmm5{sae} - vcvttph2\m ymm6{k7}{z}, xmm5{sae} - .endr - - .irp m, uw, w - vcvttph2\m ymm6, ymm5{sae} - vcvttph2\m ymm6{k7}, ymm5{sae} - vcvttph2\m ymm6{k7}{z}, ymm5{sae} - .endr - - .irp m, dq, udq - vcvttps2\m ymm6, ymm5{sae} - vcvttps2\m ymm6{k7}, ymm5{sae} - vcvttps2\m ymm6{k7}{z}, ymm5{sae} - .endr - - .irp m, qq, uqq - vcvttps2\m ymm6, xmm5{sae} - vcvttps2\m ymm6{k7}, xmm5{sae} - vcvttps2\m ymm6{k7}{z}, xmm5{sae} - .endr - - .irp n, uw, w - vcvt\n\()2ph ymm6, ymm5{rn-sae} - vcvt\n\()2ph ymm6{k7}, ymm5{rd-sae} - vcvt\n\()2ph ymm6{k7}{z}, ymm5{rz-sae} - .endr diff --git a/gas/testsuite/gas/i386/evex.d b/gas/testsuite/gas/i386/evex.d index a352340..3d20f20 100644 --- a/gas/testsuite/gas/i386/evex.d +++ b/gas/testsuite/gas/i386/evex.d @@ -19,7 +19,5 @@ Disassembly of section .text: +[a-f0-9]+: 62 e1 7e 08 2d c0 \{evex\} vcvtss2si %xmm0,%eax +[a-f0-9]+: 62 e1 7c 08 c2 c0 00 vcmpeqps %xmm0,%xmm0,%k0 +[a-f0-9]+: 62 f1 7e 38 e6 f5 vcvtdq2pd %ymm5,%zmm6 - +[a-f0-9]+: 62 f1 7a 38 e6 f5 vcvtdq2pd %xmm5,%ymm6 +[a-f0-9]+: 62 f1 7e 38 7a f5 vcvtudq2pd %ymm5,%zmm6 - +[a-f0-9]+: 62 f1 7a 38 7a f5 vcvtudq2pd %xmm5,%ymm6 #pass diff --git a/gas/testsuite/gas/i386/evex.s b/gas/testsuite/gas/i386/evex.s index 890eed9..b2388b7 100644 --- a/gas/testsuite/gas/i386/evex.s +++ b/gas/testsuite/gas/i386/evex.s @@ -14,6 +14,4 @@ _start: .byte 0x62, 0xe1, 0x7e, 0x08, 0x2d, 0xc0 .byte 0x62, 0xe1, 0x7c, 0x08, 0xc2, 0xc0, 0x00 .insn EVEX.F3.0F.W0 0xe6, {rd-sae},%zmm5,%ymm6 - .insn EVEX.F3.0F.W0 0xe6, {rd-sae},%ymm5,%xmm6 .insn EVEX.F3.0F.W0 0x7a, {rd-sae},%zmm5,%ymm6 - .insn EVEX.F3.0F.W0 0x7a, {rd-sae},%ymm5,%xmm6 diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 9b51d49..d48dd89 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -515,9 +515,6 @@ if [gas_32_check] then { run_list_test "user_msr-inval" run_list_test "msr_imm-inval" run_list_test "apx-push2pop2-inval" - run_dump_test "avx10_2-rounding" - run_dump_test "avx10_2-rounding-intel" - run_list_test "avx10_2-rounding-inval" run_dump_test "avx10_2-evex-promote" run_dump_test "avx10_2-512-media" run_dump_test "avx10_2-512-media-intel" diff --git a/gas/testsuite/gas/i386/pseudos.d b/gas/testsuite/gas/i386/pseudos.d index 47dca19..5c0bc3b 100644 --- a/gas/testsuite/gas/i386/pseudos.d +++ b/gas/testsuite/gas/i386/pseudos.d @@ -443,4 +443,29 @@ Disassembly of section .text: +[a-f0-9]+: 67 8a 86 00 00 mov 0x0\(%bp\),%al +[a-f0-9]+: e9 fb ff ff ff jmp [0-9a-f]* <.*> +[a-f0-9]+: e9 fd ff ff ff jmp [0-9a-f]* <.*> + +[a-f0-9]+: 81 03 00 00 00 00 addl \$0x0,\(%ebx\) + +[a-f0-9]+: 81 03 ff 00 00 00 addl \$0xff,\(%ebx\) + +[a-f0-9]+: 66 81 03 00 00 addw \$0x0,\(%ebx\) + +[a-f0-9]+: 66 81 03 ff 00 addw \$0xff,\(%ebx\) + +[a-f0-9]+: 80 03 00 addb \$0x0,\(%ebx\) + +[a-f0-9]+: 80 03 ff addb \$0xff,\(%ebx\) + +[a-f0-9]+: 81 c3 00 00 00 00 add \$0x0,%ebx + +[a-f0-9]+: 81 c3 ff 00 00 00 add \$0xff,%ebx + +[a-f0-9]+: 66 81 c3 00 00 add \$0x0,%bx + +[a-f0-9]+: 66 81 c3 ff 00 add \$0xff,%bx + +[a-f0-9]+: 80 c3 00 add \$0x0,%bl + +[a-f0-9]+: 80 c3 ff add \$0xff,%bl + +[a-f0-9]+: c7 03 00 00 00 00 movl \$0x0,\(%ebx\) + +[a-f0-9]+: c7 03 ff 00 00 00 movl \$0xff,\(%ebx\) + +[a-f0-9]+: 66 c7 03 00 00 movw \$0x0,\(%ebx\) + +[a-f0-9]+: 66 c7 03 ff 00 movw \$0xff,\(%ebx\) + +[a-f0-9]+: c6 03 00 movb \$0x0,\(%ebx\) + +[a-f0-9]+: c6 03 ff movb \$0xff,\(%ebx\) + +[a-f0-9]+: bb 00 00 00 00 mov \$0x0,%ebx + +[a-f0-9]+: bb ff 00 00 00 mov \$0xff,%ebx + +[a-f0-9]+: 66 bb 00 00 mov \$0x0,%bx + +[a-f0-9]+: 66 bb ff 00 mov \$0xff,%bx + +[a-f0-9]+: b3 00 mov \$0x0,%bl + +[a-f0-9]+: b3 ff mov \$0xff,%bl + +[a-f0-9]+: c1 c3 ff rol \$0xff,%ebx #pass diff --git a/gas/testsuite/gas/i386/pseudos.s b/gas/testsuite/gas/i386/pseudos.s index 7e3600e..3806b23 100644 --- a/gas/testsuite/gas/i386/pseudos.s +++ b/gas/testsuite/gas/i386/pseudos.s @@ -408,3 +408,31 @@ _start: .code16 {disp16} jmp . .byte -1, -1 + + .att_syntax prefix + .code32 +{noimm8s} addl $0,(%ebx) +{noimm8s} addl $255,(%ebx) +{noimm8s} addw $0,(%ebx) +{noimm8s} addw $255,(%ebx) +{noimm8s} addb $0,(%ebx) +{noimm8s} addb $255,(%ebx) +{noimm8s} add $0,%ebx +{noimm8s} add $255,%ebx +{noimm8s} add $0,%bx +{noimm8s} add $255,%bx +{noimm8s} add $0,%bl +{noimm8s} add $255,%bl +{noimm8s} movl $0,(%ebx) +{noimm8s} movl $255,(%ebx) +{noimm8s} movw $0,(%ebx) +{noimm8s} movw $255,(%ebx) +{noimm8s} movb $0,(%ebx) +{noimm8s} movb $255,(%ebx) +{noimm8s} mov $0,%ebx +{noimm8s} mov $255,%ebx +{noimm8s} mov $0,%bx +{noimm8s} mov $255,%bx +{noimm8s} mov $0,%bl +{noimm8s} mov $255,%bl +{noimm8s} rol $255,%ebx diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt-intel.d index bf902a5..3c2659b 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt-intel.d +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt-intel.d @@ -10,7 +10,6 @@ Disassembly of section \.text: [a-f0-9]+ <_intel>: \s*[a-f0-9]+:\s*62 02 15 00 67 f4\s+vcvt2ps2phx xmm30,xmm29,xmm28 \s*[a-f0-9]+:\s*62 02 15 20 67 f4\s+vcvt2ps2phx ymm30,ymm29,ymm28 -\s*[a-f0-9]+:\s*62 02 11 10 67 f4\s+vcvt2ps2phx ymm30,ymm29,ymm28\{rn-sae\} \s*[a-f0-9]+:\s*62 22 15 07 67 b4 f5 00 00 00 10\s+vcvt2ps2phx xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 42 15 10 67 31\s+vcvt2ps2phx xmm30,xmm29,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 62 15 00 67 71 7f\s+vcvt2ps2phx xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.d index ca9c536..d94c10e 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.d +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.d @@ -8,7 +8,6 @@ Disassembly of section \.text: 0+ <_start>: \s*[a-f0-9]+:\s*62 02 15 00 67 f4\s+vcvt2ps2phx\s+%xmm28,%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 02 15 20 67 f4\s+vcvt2ps2phx\s+%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 10 67 f4\s+vcvt2ps2phx\s+\{rn-sae\},%ymm28,%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 22 15 07 67 b4 f5 00 00 00 10\s+vcvt2ps2phx\s+0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 42 15 10 67 31\s+vcvt2ps2phx\s+\(%r9\)\{1to4\},%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 62 15 00 67 71 7f\s+vcvt2ps2phx\s+0x7f0\(%rcx\),%xmm29,%xmm30 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.s b/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.s index 8ff066a..1d6a5bc 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.s +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.s @@ -6,7 +6,6 @@ _start: vcvt2ps2phx %xmm28, %xmm29, %xmm30 vcvt2ps2phx %ymm28, %ymm29, %ymm30 - vcvt2ps2phx {rn-sae}, %ymm28, %ymm29, %ymm30 vcvt2ps2phx 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} vcvt2ps2phx (%r9){1to4}, %xmm29, %xmm30 vcvt2ps2phx 2032(%rcx), %xmm29, %xmm30 @@ -63,7 +62,6 @@ _intel: .intel_syntax noprefix vcvt2ps2phx xmm30, xmm29, xmm28 vcvt2ps2phx ymm30, ymm29, ymm28 - vcvt2ps2phx ymm30, ymm29, ymm28, {rn-sae} vcvt2ps2phx xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000] vcvt2ps2phx xmm30, xmm29, DWORD PTR [r9]{1to4} vcvt2ps2phx xmm30, xmm29, XMMWORD PTR [rcx+2032] diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs-intel.d index 777e25d..97fb4a9 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs-intel.d +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs-intel.d @@ -36,17 +36,14 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 63 17 b7 52 72 80 7b\s+vminmaxbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\],0x7b \s*[a-f0-9]+:\s*62 43 17 10 52 31 7b\s+vminmaxbf16 xmm30,xmm29,WORD BCST \[r9\],0x7b \s*[a-f0-9]+:\s*62 63 17 97 52 72 80 7b\s+vminmaxbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\],0x7b -\s*[a-f0-9]+:\s*62 03 91 10 52 f4 7b\s+vminmaxpd ymm30,ymm29,ymm28\{sae\},0x7b \s*[a-f0-9]+:\s*62 43 95 30 52 31 7b\s+vminmaxpd ymm30,ymm29,QWORD BCST \[r9\],0x7b \s*[a-f0-9]+:\s*62 63 95 b7 52 72 80 7b\s+vminmaxpd ymm30\{k7\}\{z\},ymm29,QWORD BCST \[rdx-0x400\],0x7b \s*[a-f0-9]+:\s*62 43 95 10 52 31 7b\s+vminmaxpd xmm30,xmm29,QWORD BCST \[r9\],0x7b \s*[a-f0-9]+:\s*62 63 95 97 52 72 80 7b\s+vminmaxpd xmm30\{k7\}\{z\},xmm29,QWORD BCST \[rdx-0x400\],0x7b -\s*[a-f0-9]+:\s*62 03 10 10 52 f4 7b\s+vminmaxph ymm30,ymm29,ymm28\{sae\},0x7b \s*[a-f0-9]+:\s*62 43 14 30 52 31 7b\s+vminmaxph ymm30,ymm29,WORD BCST \[r9\],0x7b \s*[a-f0-9]+:\s*62 63 14 b7 52 72 80 7b\s+vminmaxph ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\],0x7b \s*[a-f0-9]+:\s*62 43 14 10 52 31 7b\s+vminmaxph xmm30,xmm29,WORD BCST \[r9\],0x7b \s*[a-f0-9]+:\s*62 63 14 97 52 72 80 7b\s+vminmaxph xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\],0x7b -\s*[a-f0-9]+:\s*62 03 11 10 52 f4 7b\s+vminmaxps ymm30,ymm29,ymm28\{sae\},0x7b \s*[a-f0-9]+:\s*62 43 15 30 52 31 7b\s+vminmaxps ymm30,ymm29,DWORD BCST \[r9\],0x7b \s*[a-f0-9]+:\s*62 63 15 b7 52 72 80 7b\s+vminmaxps ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\],0x7b \s*[a-f0-9]+:\s*62 43 15 10 52 31 7b\s+vminmaxps xmm30,xmm29,DWORD BCST \[r9\],0x7b diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.d index 420a8fc..b76308c 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.d +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.d @@ -34,17 +34,14 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 63 17 b7 52 72 80 7b\s+vminmaxbf16\s\$0x7b,-0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 43 17 10 52 31 7b\s+vminmaxbf16\s\$0x7b,\(%r9\)\{1to8\},%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 63 17 97 52 72 80 7b\s+vminmaxbf16\s\$0x7b,-0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 91 10 52 f4 7b\s+vminmaxpd\s\$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 43 95 30 52 31 7b\s+vminmaxpd\s\$0x7b,\(%r9\)\{1to4\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 63 95 b7 52 72 80 7b\s+vminmaxpd\s\$0x7b,-0x400\(%rdx\)\{1to4\},%ymm29,%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 43 95 10 52 31 7b\s+vminmaxpd\s\$0x7b,\(%r9\)\{1to2\},%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 63 95 97 52 72 80 7b\s+vminmaxpd\s\$0x7b,-0x400\(%rdx\)\{1to2\},%xmm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 10 10 52 f4 7b\s+vminmaxph\s\$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 43 14 30 52 31 7b\s+vminmaxph\s\$0x7b,\(%r9\)\{1to16\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 63 14 b7 52 72 80 7b\s+vminmaxph\s\$0x7b,-0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 43 14 10 52 31 7b\s+vminmaxph\s\$0x7b,\(%r9\)\{1to8\},%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 63 14 97 52 72 80 7b\s+vminmaxph\s\$0x7b,-0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 11 10 52 f4 7b\s+vminmaxps\s\$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 43 15 30 52 31 7b\s+vminmaxps\s\$0x7b,\(%r9\)\{1to8\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 63 15 b7 52 72 80 7b\s+vminmaxps\s\$0x7b,-0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 43 15 10 52 31 7b\s+vminmaxps\s\$0x7b,\(%r9\)\{1to4\},%xmm29,%xmm30 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.s b/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.s index ce11c5b..c318fcf 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.s +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.s @@ -17,17 +17,14 @@ _start: vminmaxbf16 $123, -256(%rdx){1to16}, %ymm29, %ymm30{%k7}{z} vminmaxbf16 $123, (%r9){1to8}, %xmm29, %xmm30 vminmaxbf16 $123, -256(%rdx){1to8}, %xmm29, %xmm30{%k7}{z} - vminmaxpd $123, {sae}, %ymm28, %ymm29, %ymm30 vminmaxpd $123, (%r9){1to4}, %ymm29, %ymm30 vminmaxpd $123, -1024(%rdx){1to4}, %ymm29, %ymm30{%k7}{z} vminmaxpd $123, (%r9){1to2}, %xmm29, %xmm30 vminmaxpd $123, -1024(%rdx){1to2}, %xmm29, %xmm30{%k7}{z} - vminmaxph $123, {sae}, %ymm28, %ymm29, %ymm30 vminmaxph $123, (%r9){1to16}, %ymm29, %ymm30 vminmaxph $123, -256(%rdx){1to16}, %ymm29, %ymm30{%k7}{z} vminmaxph $123, (%r9){1to8}, %xmm29, %xmm30 vminmaxph $123, -256(%rdx){1to8}, %xmm29, %xmm30{%k7}{z} - vminmaxps $123, {sae}, %ymm28, %ymm29, %ymm30 vminmaxps $123, (%r9){1to8}, %ymm29, %ymm30 vminmaxps $123, -512(%rdx){1to8}, %ymm29, %ymm30{%k7}{z} vminmaxps $123, (%r9){1to4}, %xmm29, %xmm30 @@ -83,17 +80,14 @@ _intel: vminmaxbf16 ymm30{k7}{z}, ymm29, WORD PTR [rdx-256]{1to16}, 123 vminmaxbf16 xmm30, xmm29, [r9]{1to8}, 123 vminmaxbf16 xmm30{k7}{z}, xmm29, WORD PTR [rdx-256]{1to8}, 123 - vminmaxpd ymm30, ymm29, ymm28, {sae}, 123 vminmaxpd ymm30, ymm29, QWORD PTR [r9]{1to4}, 123 vminmaxpd ymm30{k7}{z}, ymm29, [rdx-1024]{1to4}, 123 vminmaxpd xmm30, xmm29, QWORD PTR [r9]{1to2}, 123 vminmaxpd xmm30{k7}{z}, xmm29, [rdx-1024]{1to2}, 123 - vminmaxph ymm30, ymm29, ymm28, {sae}, 123 vminmaxph ymm30, ymm29, [r9]{1to16}, 123 vminmaxph ymm30{k7}{z}, ymm29, WORD PTR [rdx-256]{1to16}, 123 vminmaxph xmm30, xmm29, WORD PTR [r9]{1to8}, 123 vminmaxph xmm30{k7}{z}, xmm29, [rdx-256]{1to8}, 123 - vminmaxps ymm30, ymm29, ymm28, {sae}, 123 vminmaxps ymm30, ymm29, DWORD PTR [r9]{1to8}, 123 vminmaxps ymm30{k7}{z}, ymm29, [rdx-512]{1to8}, 123 vminmaxps xmm30, xmm29, [r9]{1to4}, 123 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt-intel.d index ba02d98..4be779a 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt-intel.d +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt-intel.d @@ -20,7 +20,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 69 72 80\s+vcvtbf162ibs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7c 08 69 f5\s+vcvtph2ibs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7c 28 69 f5\s+vcvtph2ibs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 78 18 69 f5\s+vcvtph2ibs ymm30,ymm29{rn-sae} \s*[a-f0-9]+:\s*62 25 7c 0f 69 b4 f5 00 00 00 10\s+vcvtph2ibs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7c 18 69 31\s+vcvtph2ibs xmm30,WORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7c 08 69 71 7f\s+vcvtph2ibs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -31,7 +30,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 69 72 80\s+vcvtph2ibs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7d 08 69 f5\s+vcvtps2ibs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7d 28 69 f5\s+vcvtps2ibs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 79 18 69 f5\s+vcvtps2ibs ymm30,ymm29{rn-sae} \s*[a-f0-9]+:\s*62 25 7d 0f 69 b4 f5 00 00 00 10\s+vcvtps2ibs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7d 18 69 31\s+vcvtps2ibs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7d 08 69 71 7f\s+vcvtps2ibs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -52,7 +50,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 68 72 80\s+vcvttbf162ibs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7c 08 68 f5\s+vcvttph2ibs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7c 28 68 f5\s+vcvttph2ibs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 78 18 68 f5\s+vcvttph2ibs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 7c 0f 68 b4 f5 00 00 00 10\s+vcvttph2ibs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7c 18 68 31\s+vcvttph2ibs xmm30,WORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7c 08 68 71 7f\s+vcvttph2ibs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -63,7 +60,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 68 72 80\s+vcvttph2ibs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7d 08 68 f5\s+vcvttps2ibs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7d 28 68 f5\s+vcvttps2ibs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 79 18 68 f5\s+vcvttps2ibs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 7d 0f 68 b4 f5 00 00 00 10\s+vcvttps2ibs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7d 18 68 31\s+vcvttps2ibs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7d 08 68 71 7f\s+vcvttps2ibs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -74,7 +70,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7d bf 68 72 80\s+vcvttps2ibs ymm30\{k7\}\{z\},DWORD BCST \[rdx-0x200\] \s*[a-f0-9]+:\s*62 05 fc 08 6d f5\s+vcvttpd2dqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 fc 28 6d f5\s+vcvttpd2dqs xmm30,ymm29 -\s*[a-f0-9]+:\s*62 05 f8 18 6d f5\s+vcvttpd2dqs xmm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 fc 0f 6d b4 f5 00 00 00 10\s+vcvttpd2dqs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 fc 18 6d 31\s+vcvttpd2dqs xmm30,QWORD BCST \[r9\]\{1to2\} \s*[a-f0-9]+:\s*62 65 fc 08 6d 71 7f\s+vcvttpd2dqs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -84,7 +79,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fc bf 6d 72 80\s+vcvttpd2dqs xmm30\{k7\}\{z\},QWORD BCST \[rdx-0x400\]\{1to4\} \s*[a-f0-9]+:\s*62 05 fd 08 6d f5\s+vcvttpd2qqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 fd 28 6d f5\s+vcvttpd2qqs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 f9 18 6d f5\s+vcvttpd2qqs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 fd 0f 6d b4 f5 00 00 00 10\s+vcvttpd2qqs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 fd 18 6d 31\s+vcvttpd2qqs xmm30,QWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 fd 08 6d 71 7f\s+vcvttpd2qqs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -95,7 +89,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fd bf 6d 72 80\s+vcvttpd2qqs ymm30\{k7\}\{z\},QWORD BCST \[rdx-0x400\] \s*[a-f0-9]+:\s*62 05 7c 08 6d f5\s+vcvttps2dqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7c 28 6d f5\s+vcvttps2dqs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 78 18 6d f5\s+vcvttps2dqs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 7c 0f 6d b4 f5 00 00 00 10\s+vcvttps2dqs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7c 18 6d 31\s+vcvttps2dqs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7c 08 6d 71 7f\s+vcvttps2dqs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -106,7 +99,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6d 72 80\s+vcvttps2dqs ymm30\{k7\}\{z\},DWORD BCST \[rdx-0x200\] \s*[a-f0-9]+:\s*62 05 7d 08 6d f5\s+vcvttps2qqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7d 28 6d f5\s+vcvttps2qqs ymm30,xmm29 -\s*[a-f0-9]+:\s*62 05 79 18 6d f5\s+vcvttps2qqs ymm30,xmm29\{sae\} \s*[a-f0-9]+:\s*62 25 7d 0f 6d b4 f5 00 00 00 10\s+vcvttps2qqs xmm30\{k7\},QWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7d 18 6d 31\s+vcvttps2qqs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7d 08 6d 71 7f\s+vcvttps2qqs xmm30,QWORD PTR \[rcx\+0x3f8\] @@ -151,7 +143,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 6b 72 80\s+vcvtbf162iubs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7c 08 6b f5\s+vcvtph2iubs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7c 28 6b f5\s+vcvtph2iubs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 78 18 6b f5\s+vcvtph2iubs ymm30,ymm29{rn-sae} \s*[a-f0-9]+:\s*62 25 7c 0f 6b b4 f5 00 00 00 10\s+vcvtph2iubs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7c 18 6b 31\s+vcvtph2iubs xmm30,WORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7c 08 6b 71 7f\s+vcvtph2iubs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -162,7 +153,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6b 72 80\s+vcvtph2iubs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7d 08 6b f5\s+vcvtps2iubs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7d 28 6b f5\s+vcvtps2iubs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 79 18 6b f5\s+vcvtps2iubs ymm30,ymm29{rn-sae} \s*[a-f0-9]+:\s*62 25 7d 0f 6b b4 f5 00 00 00 10\s+vcvtps2iubs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7d 18 6b 31\s+vcvtps2iubs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7d 08 6b 71 7f\s+vcvtps2iubs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -183,7 +173,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 6a 72 80\s+vcvttbf162iubs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7c 08 6a f5\s+vcvttph2iubs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7c 28 6a f5\s+vcvttph2iubs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 78 18 6a f5\s+vcvttph2iubs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 7c 0f 6a b4 f5 00 00 00 10\s+vcvttph2iubs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7c 18 6a 31\s+vcvttph2iubs xmm30,WORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7c 08 6a 71 7f\s+vcvttph2iubs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -194,7 +183,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6a 72 80\s+vcvttph2iubs ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] \s*[a-f0-9]+:\s*62 05 7d 08 6a f5\s+vcvttps2iubs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7d 28 6a f5\s+vcvttps2iubs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 79 18 6a f5\s+vcvttps2iubs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 7d 0f 6a b4 f5 00 00 00 10\s+vcvttps2iubs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7d 18 6a 31\s+vcvttps2iubs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7d 08 6a 71 7f\s+vcvttps2iubs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -205,7 +193,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7d bf 6a 72 80\s+vcvttps2iubs ymm30\{k7\}\{z\},DWORD BCST \[rdx-0x200\] \s*[a-f0-9]+:\s*62 05 fc 08 6c f5\s+vcvttpd2udqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 fc 28 6c f5\s+vcvttpd2udqs xmm30,ymm29 -\s*[a-f0-9]+:\s*62 05 f8 18 6c f5\s+vcvttpd2udqs xmm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 fc 0f 6c b4 f5 00 00 00 10\s+vcvttpd2udqs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 fc 18 6c 31\s+vcvttpd2udqs xmm30,QWORD BCST \[r9\]\{1to2\} \s*[a-f0-9]+:\s*62 65 fc 08 6c 71 7f\s+vcvttpd2udqs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -215,7 +202,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fc bf 6c 72 80\s+vcvttpd2udqs xmm30\{k7\}\{z\},QWORD BCST \[rdx-0x400\]\{1to4\} \s*[a-f0-9]+:\s*62 05 fd 08 6c f5\s+vcvttpd2uqqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 fd 28 6c f5\s+vcvttpd2uqqs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 f9 18 6c f5\s+vcvttpd2uqqs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 fd 0f 6c b4 f5 00 00 00 10\s+vcvttpd2uqqs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 fd 18 6c 31\s+vcvttpd2uqqs xmm30,QWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 fd 08 6c 71 7f\s+vcvttpd2uqqs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -226,7 +212,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fd bf 6c 72 80\s+vcvttpd2uqqs ymm30\{k7\}\{z\},QWORD BCST \[rdx-0x400\] \s*[a-f0-9]+:\s*62 05 7c 08 6c f5\s+vcvttps2udqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7c 28 6c f5\s+vcvttps2udqs ymm30,ymm29 -\s*[a-f0-9]+:\s*62 05 78 18 6c f5\s+vcvttps2udqs ymm30,ymm29\{sae\} \s*[a-f0-9]+:\s*62 25 7c 0f 6c b4 f5 00 00 00 10\s+vcvttps2udqs xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7c 18 6c 31\s+vcvttps2udqs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7c 08 6c 71 7f\s+vcvttps2udqs xmm30,XMMWORD PTR \[rcx\+0x7f0\] @@ -237,7 +222,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6c 72 80\s+vcvttps2udqs ymm30\{k7\}\{z\},DWORD BCST \[rdx-0x200\] \s*[a-f0-9]+:\s*62 05 7d 08 6c f5\s+vcvttps2uqqs xmm30,xmm29 \s*[a-f0-9]+:\s*62 05 7d 28 6c f5\s+vcvttps2uqqs ymm30,xmm29 -\s*[a-f0-9]+:\s*62 05 79 18 6c f5\s+vcvttps2uqqs ymm30,xmm29\{sae\} \s*[a-f0-9]+:\s*62 25 7d 0f 6c b4 f5 00 00 00 10\s+vcvttps2uqqs xmm30\{k7\},QWORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*62 45 7d 18 6c 31\s+vcvttps2uqqs xmm30,DWORD BCST \[r9\] \s*[a-f0-9]+:\s*62 65 7d 08 6c 71 7f\s+vcvttps2uqqs xmm30,QWORD PTR \[rcx\+0x3f8\] diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.d index f9d5f52..7f9ef07 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.d +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.d @@ -18,7 +18,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 69 72 80\s+vcvtbf162ibs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7c 08 69 f5\s+vcvtph2ibs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7c 28 69 f5\s+vcvtph2ibs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 18 69 f5\s+vcvtph2ibs\s+\{rn-sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7c 0f 69 b4 f5 00 00 00 10\s+vcvtph2ibs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7c 18 69 31\s+vcvtph2ibs\s+\(%r9\)\{1to8\},%xmm30 \s*[a-f0-9]+:\s*62 65 7c 08 69 71 7f\s+vcvtph2ibs\s+0x7f0\(%rcx\),%xmm30 @@ -29,7 +28,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 69 72 80\s+vcvtph2ibs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7d 08 69 f5\s+vcvtps2ibs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7d 28 69 f5\s+vcvtps2ibs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 18 69 f5\s+vcvtps2ibs\s+\{rn-sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7d 0f 69 b4 f5 00 00 00 10\s+vcvtps2ibs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7d 18 69 31\s+vcvtps2ibs\s+\(%r9\)\{1to4\},%xmm30 \s*[a-f0-9]+:\s*62 65 7d 08 69 71 7f\s+vcvtps2ibs\s+0x7f0\(%rcx\),%xmm30 @@ -50,7 +48,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 68 72 80\s+vcvttbf162ibs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7c 08 68 f5\s+vcvttph2ibs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7c 28 68 f5\s+vcvttph2ibs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 18 68 f5\s+vcvttph2ibs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7c 0f 68 b4 f5 00 00 00 10\s+vcvttph2ibs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7c 18 68 31\s+vcvttph2ibs\s+\(%r9\)\{1to8\},%xmm30 \s*[a-f0-9]+:\s*62 65 7c 08 68 71 7f\s+vcvttph2ibs\s+0x7f0\(%rcx\),%xmm30 @@ -61,7 +58,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 68 72 80\s+vcvttph2ibs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7d 08 68 f5\s+vcvttps2ibs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7d 28 68 f5\s+vcvttps2ibs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 18 68 f5\s+vcvttps2ibs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7d 0f 68 b4 f5 00 00 00 10\s+vcvttps2ibs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7d 18 68 31\s+vcvttps2ibs\s+\(%r9\)\{1to4\},%xmm30 \s*[a-f0-9]+:\s*62 65 7d 08 68 71 7f\s+vcvttps2ibs\s+0x7f0\(%rcx\),%xmm30 @@ -72,7 +68,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7d bf 68 72 80\s+vcvttps2ibs\s+-0x200\(%rdx\)\{1to8\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 fc 08 6d f5\s+vcvttpd2dqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 fc 28 6d f5\s+vcvttpd2dqs\s+%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 f8 18 6d f5\s+vcvttpd2dqs\s+\{sae\},%ymm29,%xmm30 \s*[a-f0-9]+:\s*62 25 fc 0f 6d b4 f5 00 00 00 10\s+vcvttpd2dqsx\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 fc 18 6d 31\s+vcvttpd2dqs\s+\(%r9\)\{1to2\},%xmm30 \s*[a-f0-9]+:\s*62 65 fc 08 6d 71 7f\s+vcvttpd2dqsx\s+0x7f0\(%rcx\),%xmm30 @@ -82,7 +77,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fc bf 6d 72 80\s+vcvttpd2dqs\s+-0x400\(%rdx\)\{1to4\},%xmm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 fd 08 6d f5\s+vcvttpd2qqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 fd 28 6d f5\s+vcvttpd2qqs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 f9 18 6d f5\s+vcvttpd2qqs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 fd 0f 6d b4 f5 00 00 00 10\s+vcvttpd2qqs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 fd 18 6d 31\s+vcvttpd2qqs\s+\(%r9\)\{1to2\},%xmm30 \s*[a-f0-9]+:\s*62 65 fd 08 6d 71 7f\s+vcvttpd2qqs\s+0x7f0\(%rcx\),%xmm30 @@ -93,7 +87,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fd bf 6d 72 80\s+vcvttpd2qqs\s+-0x400\(%rdx\)\{1to4\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7c 08 6d f5\s+vcvttps2dqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7c 28 6d f5\s+vcvttps2dqs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 18 6d f5\s+vcvttps2dqs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7c 0f 6d b4 f5 00 00 00 10\s+vcvttps2dqs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7c 18 6d 31\s+vcvttps2dqs\s+\(%r9\)\{1to4\},%xmm30 \s*[a-f0-9]+:\s*62 65 7c 08 6d 71 7f\s+vcvttps2dqs\s+0x7f0\(%rcx\),%xmm30 @@ -104,7 +97,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6d 72 80\s+vcvttps2dqs\s+-0x200\(%rdx\)\{1to8\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7d 08 6d f5\s+vcvttps2qqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7d 28 6d f5\s+vcvttps2qqs\s+%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 18 6d f5\s+vcvttps2qqs\s+\{sae\},%xmm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7d 0f 6d b4 f5 00 00 00 10\s+vcvttps2qqs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7d 18 6d 31\s+vcvttps2qqs\s+\(%r9\)\{1to2\},%xmm30 \s*[a-f0-9]+:\s*62 65 7d 08 6d 71 7f\s+vcvttps2qqs\s+0x3f8\(%rcx\),%xmm30 @@ -149,7 +141,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 6b 72 80\s+vcvtbf162iubs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7c 08 6b f5\s+vcvtph2iubs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7c 28 6b f5\s+vcvtph2iubs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 18 6b f5\s+vcvtph2iubs\s+\{rn-sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7c 0f 6b b4 f5 00 00 00 10\s+vcvtph2iubs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7c 18 6b 31\s+vcvtph2iubs\s+\(%r9\)\{1to8\},%xmm30 \s*[a-f0-9]+:\s*62 65 7c 08 6b 71 7f\s+vcvtph2iubs\s+0x7f0\(%rcx\),%xmm30 @@ -160,7 +151,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6b 72 80\s+vcvtph2iubs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7d 08 6b f5\s+vcvtps2iubs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7d 28 6b f5\s+vcvtps2iubs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 18 6b f5\s+vcvtps2iubs\s+\{rn-sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7d 0f 6b b4 f5 00 00 00 10\s+vcvtps2iubs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7d 18 6b 31\s+vcvtps2iubs\s+\(%r9\)\{1to4\},%xmm30 \s*[a-f0-9]+:\s*62 65 7d 08 6b 71 7f\s+vcvtps2iubs\s+0x7f0\(%rcx\),%xmm30 @@ -181,7 +171,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7f bf 6a 72 80\s+vcvttbf162iubs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7c 08 6a f5\s+vcvttph2iubs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7c 28 6a f5\s+vcvttph2iubs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 18 6a f5\s+vcvttph2iubs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7c 0f 6a b4 f5 00 00 00 10\s+vcvttph2iubs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7c 18 6a 31\s+vcvttph2iubs\s+\(%r9\)\{1to8\},%xmm30 \s*[a-f0-9]+:\s*62 65 7c 08 6a 71 7f\s+vcvttph2iubs\s+0x7f0\(%rcx\),%xmm30 @@ -192,7 +181,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6a 72 80\s+vcvttph2iubs\s+-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7d 08 6a f5\s+vcvttps2iubs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7d 28 6a f5\s+vcvttps2iubs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 18 6a f5\s+vcvttps2iubs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7d 0f 6a b4 f5 00 00 00 10\s+vcvttps2iubs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7d 18 6a 31\s+vcvttps2iubs\s+\(%r9\)\{1to4\},%xmm30 \s*[a-f0-9]+:\s*62 65 7d 08 6a 71 7f\s+vcvttps2iubs\s+0x7f0\(%rcx\),%xmm30 @@ -203,7 +191,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7d bf 6a 72 80\s+vcvttps2iubs\s+-0x200\(%rdx\)\{1to8\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 fc 08 6c f5\s+vcvttpd2udqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 fc 28 6c f5\s+vcvttpd2udqs\s+%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 f8 18 6c f5\s+vcvttpd2udqs\s+\{sae\},%ymm29,%xmm30 \s*[a-f0-9]+:\s*62 25 fc 0f 6c b4 f5 00 00 00 10\s+vcvttpd2udqsx\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 fc 18 6c 31\s+vcvttpd2udqs\s+\(%r9\)\{1to2\},%xmm30 \s*[a-f0-9]+:\s*62 65 fc 08 6c 71 7f\s+vcvttpd2udqsx\s+0x7f0\(%rcx\),%xmm30 @@ -213,7 +200,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fc bf 6c 72 80\s+vcvttpd2udqs\s+-0x400\(%rdx\)\{1to4\},%xmm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 fd 08 6c f5\s+vcvttpd2uqqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 fd 28 6c f5\s+vcvttpd2uqqs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 f9 18 6c f5\s+vcvttpd2uqqs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 fd 0f 6c b4 f5 00 00 00 10\s+vcvttpd2uqqs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 fd 18 6c 31\s+vcvttpd2uqqs\s+\(%r9\)\{1to2\},%xmm30 \s*[a-f0-9]+:\s*62 65 fd 08 6c 71 7f\s+vcvttpd2uqqs\s+0x7f0\(%rcx\),%xmm30 @@ -224,7 +210,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 fd bf 6c 72 80\s+vcvttpd2uqqs\s+-0x400\(%rdx\)\{1to4\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7c 08 6c f5\s+vcvttps2udqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7c 28 6c f5\s+vcvttps2udqs\s+%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 18 6c f5\s+vcvttps2udqs\s+\{sae\},%ymm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7c 0f 6c b4 f5 00 00 00 10\s+vcvttps2udqs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7c 18 6c 31\s+vcvttps2udqs\s+\(%r9\)\{1to4\},%xmm30 \s*[a-f0-9]+:\s*62 65 7c 08 6c 71 7f\s+vcvttps2udqs\s+0x7f0\(%rcx\),%xmm30 @@ -235,7 +220,6 @@ Disassembly of section \.text: \s*[a-f0-9]+:\s*62 65 7c bf 6c 72 80\s+vcvttps2udqs\s+-0x200\(%rdx\)\{1to8\},%ymm30\{%k7\}\{z\} \s*[a-f0-9]+:\s*62 05 7d 08 6c f5\s+vcvttps2uqqs\s+%xmm29,%xmm30 \s*[a-f0-9]+:\s*62 05 7d 28 6c f5\s+vcvttps2uqqs\s+%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 18 6c f5\s+vcvttps2uqqs\s+\{sae\},%xmm29,%ymm30 \s*[a-f0-9]+:\s*62 25 7d 0f 6c b4 f5 00 00 00 10\s+vcvttps2uqqs\s+0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} \s*[a-f0-9]+:\s*62 45 7d 18 6c 31\s+vcvttps2uqqs\s+\(%r9\)\{1to2\},%xmm30 \s*[a-f0-9]+:\s*62 65 7d 08 6c 71 7f\s+vcvttps2uqqs\s+0x3f8\(%rcx\),%xmm30 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.s b/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.s index 2c66259..9abc89f 100644 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.s +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.s @@ -18,7 +18,6 @@ _start: vcvtph2i\u\()bs %xmm29, %xmm30 vcvtph2i\u\()bs %ymm29, %ymm30 - vcvtph2i\u\()bs {rn-sae}, %ymm29, %ymm30 vcvtph2i\u\()bs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvtph2i\u\()bs (%r9){1to8}, %xmm30 vcvtph2i\u\()bs 2032(%rcx), %xmm30 @@ -30,7 +29,6 @@ _start: vcvtps2i\u\()bs %xmm29, %xmm30 vcvtps2i\u\()bs %ymm29, %ymm30 - vcvtps2i\u\()bs {rn-sae}, %ymm29, %ymm30 vcvtps2i\u\()bs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvtps2i\u\()bs (%r9){1to4}, %xmm30 vcvtps2i\u\()bs 2032(%rcx), %xmm30 @@ -53,7 +51,6 @@ _start: vcvttph2i\u\()bs %xmm29, %xmm30 vcvttph2i\u\()bs %ymm29, %ymm30 - vcvttph2i\u\()bs {sae}, %ymm29, %ymm30 vcvttph2i\u\()bs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvttph2i\u\()bs (%r9){1to8}, %xmm30 vcvttph2i\u\()bs 2032(%rcx), %xmm30 @@ -65,7 +62,6 @@ _start: vcvttps2i\u\()bs %xmm29, %xmm30 vcvttps2i\u\()bs %ymm29, %ymm30 - vcvttps2i\u\()bs {sae}, %ymm29, %ymm30 vcvttps2i\u\()bs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvttps2i\u\()bs (%r9){1to4}, %xmm30 vcvttps2i\u\()bs 2032(%rcx), %xmm30 @@ -77,7 +73,6 @@ _start: vcvttpd2\u\()dqs %xmm29, %xmm30 vcvttpd2\u\()dqs %ymm29, %xmm30 - vcvttpd2\u\()dqs {sae}, %ymm29, %xmm30 vcvttpd2\u\()dqsx 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvttpd2\u\()dqs (%r9){1to2}, %xmm30 vcvttpd2\u\()dqsx 2032(%rcx), %xmm30 @@ -88,7 +83,6 @@ _start: vcvttpd2\u\()qqs %xmm29, %xmm30 vcvttpd2\u\()qqs %ymm29, %ymm30 - vcvttpd2\u\()qqs {sae}, %ymm29, %ymm30 vcvttpd2\u\()qqs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvttpd2\u\()qqs (%r9){1to2}, %xmm30 vcvttpd2\u\()qqs 2032(%rcx), %xmm30 @@ -100,7 +94,6 @@ _start: vcvttps2\u\()dqs %xmm29, %xmm30 vcvttps2\u\()dqs %ymm29, %ymm30 - vcvttps2\u\()dqs {sae}, %ymm29, %ymm30 vcvttps2\u\()dqs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvttps2\u\()dqs (%r9){1to4}, %xmm30 vcvttps2\u\()dqs 2032(%rcx), %xmm30 @@ -112,7 +105,6 @@ _start: vcvttps2\u\()qqs %xmm29, %xmm30 vcvttps2\u\()qqs %xmm29, %ymm30 - vcvttps2\u\()qqs {sae}, %xmm29, %ymm30 vcvttps2\u\()qqs 0x10000000(%rbp, %r14, 8), %xmm30{%k7} vcvttps2\u\()qqs (%r9){1to2}, %xmm30 vcvttps2\u\()qqs 1016(%rcx), %xmm30 @@ -165,7 +157,6 @@ _intel: vcvtph2i\u\()bs xmm30, xmm29 vcvtph2i\u\()bs ymm30, ymm29 - vcvtph2i\u\()bs ymm30, ymm29, {rn-sae} vcvtph2i\u\()bs xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000] vcvtph2i\u\()bs xmm30, WORD PTR [r9]{1to8} vcvtph2i\u\()bs xmm30, [rcx+2032] @@ -177,7 +168,6 @@ _intel: vcvtps2i\u\()bs xmm30, xmm29 vcvtps2i\u\()bs ymm30, ymm29 - vcvtps2i\u\()bs ymm30, ymm29, {rn-sae} vcvtps2i\u\()bs xmm30{k7}, [rbp+r14*8+0x10000000] vcvtps2i\u\()bs xmm30, [r9]{1to4} vcvtps2i\u\()bs xmm30, XMMWORD PTR [rcx+2032] @@ -200,7 +190,6 @@ _intel: vcvttph2i\u\()bs xmm30, xmm29 vcvttph2i\u\()bs ymm30, ymm29 - vcvttph2i\u\()bs ymm30, ymm29, {sae} vcvttph2i\u\()bs xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000] vcvttph2i\u\()bs xmm30, WORD PTR [r9]{1to8} vcvttph2i\u\()bs xmm30, [rcx+2032] @@ -212,7 +201,6 @@ _intel: vcvttps2i\u\()bs xmm30, xmm29 vcvttps2i\u\()bs ymm30, ymm29 - vcvttps2i\u\()bs ymm30, ymm29, {sae} vcvttps2i\u\()bs xmm30{k7}, [rbp+r14*8+0x10000000] vcvttps2i\u\()bs xmm30, [r9]{1to4} vcvttps2i\u\()bs xmm30, XMMWORD PTR [rcx+2032] @@ -224,7 +212,6 @@ _intel: vcvttpd2\u\()dqs xmm30, xmm29 vcvttpd2\u\()dqs xmm30, ymm29 - vcvttpd2\u\()dqs xmm30, ymm29, {sae} vcvttpd2\u\()dqs xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000] vcvttpd2\u\()dqs xmm30, QWORD PTR [r9]{1to2} vcvttpd2\u\()dqs xmm30, XMMWORD PTR [rcx+2032] @@ -235,7 +222,6 @@ _intel: vcvttpd2\u\()qqs xmm30, xmm29 vcvttpd2\u\()qqs ymm30, ymm29 - vcvttpd2\u\()qqs ymm30, ymm29, {sae} vcvttpd2\u\()qqs xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000] vcvttpd2\u\()qqs xmm30, [r9]{1to2} vcvttpd2\u\()qqs xmm30, [rcx+2032] @@ -247,7 +233,6 @@ _intel: vcvttps2\u\()dqs xmm30, xmm29 vcvttps2\u\()dqs ymm30, ymm29 - vcvttps2\u\()dqs ymm30, ymm29, {sae} vcvttps2\u\()dqs xmm30{k7}, [rbp+r14*8+0x10000000] vcvttps2\u\()dqs xmm30, DWORD PTR [r9]{1to4} vcvttps2\u\()dqs xmm30, XMMWORD PTR [rcx+2032] @@ -259,7 +244,6 @@ _intel: vcvttps2\u\()qqs xmm30, xmm29 vcvttps2\u\()qqs ymm30, xmm29 - vcvttps2\u\()qqs ymm30, xmm29, {sae} vcvttps2\u\()qqs xmm30{k7}, QWORD PTR [rbp+r14*8+0x10000000] vcvttps2\u\()qqs xmm30, [r9]{1to2} vcvttps2\u\()qqs xmm30, QWORD PTR [rcx+1016] diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-rounding-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-rounding-intel.d deleted file mode 100644 index d5e17c2..0000000 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-rounding-intel.d +++ /dev/null @@ -1,452 +0,0 @@ -#objdump: -dw -Mintel -#name: x86_64 AVX10.2 rounding insns (Intel disassembly) -#source: x86-64-avx10_2-rounding.s - -.*: +file format .* - -Disassembly of section \.text: - -0+ <_start>: -#... -\s*a83:\s*62 91 91 10 c2 ec 7b\s+vcmppd k5,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 91 91 17 c2 ec 7b\s+vcmppd k5\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 02 f9 18 42 f5\s+vgetexppd ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 02 f9 1f 42 f5\s+vgetexppd ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 02 f9 9f 42 f5\s+vgetexppd ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 51 f5\s+vsqrtpd ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 f9 3f 51 f5\s+vsqrtpd ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 f9 ff 51 f5\s+vsqrtpd ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 93 10 10 c2 ec 7b\s+vcmpph k5,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 93 10 17 c2 ec 7b\s+vcmpph k5\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 06 79 18 42 f5\s+vgetexpph ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 06 79 1f 42 f5\s+vgetexpph ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 06 79 9f 42 f5\s+vgetexpph ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 18 51 f5\s+vsqrtph ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 78 3f 51 f5\s+vsqrtph ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 78 ff 51 f5\s+vsqrtph ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 91 10 10 c2 ec 7b\s+vcmpps k5,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 91 10 17 c2 ec 7b\s+vcmpps k5\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 02 79 18 42 f5\s+vgetexpps ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 02 79 1f 42 f5\s+vgetexpps ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 02 79 9f 42 f5\s+vgetexpps ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 78 18 51 f5\s+vsqrtps ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 78 3f 51 f5\s+vsqrtps ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 78 ff 51 f5\s+vsqrtps ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 91 10 58 f4\s+vaddpd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 91 37 58 f4\s+vaddpd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 91 f7 58 f4\s+vaddpd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 10 10 58 f4\s+vaddph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 10 37 58 f4\s+vaddph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 10 f7 58 f4\s+vaddph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 10 10 58 f4\s+vaddps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 10 37 58 f4\s+vaddps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 10 f7 58 f4\s+vaddps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 91 10 5e f4\s+vdivpd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 91 37 5e f4\s+vdivpd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 91 f7 5e f4\s+vdivpd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 10 10 5e f4\s+vdivph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 10 37 5e f4\s+vdivph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 10 f7 5e f4\s+vdivph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 10 10 5e f4\s+vdivps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 10 37 5e f4\s+vdivps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 10 f7 5e f4\s+vdivps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 91 10 59 f4\s+vmulpd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 91 37 59 f4\s+vmulpd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 91 f7 59 f4\s+vmulpd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 10 10 59 f4\s+vmulph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 10 37 59 f4\s+vmulph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 10 f7 59 f4\s+vmulph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 10 10 59 f4\s+vmulps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 10 37 59 f4\s+vmulps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 10 f7 59 f4\s+vmulps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 2c f4\s+vscalefpd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 2c f4\s+vscalefpd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 2c f4\s+vscalefpd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 2c f4\s+vscalefph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 2c f4\s+vscalefph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 2c f4\s+vscalefph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 2c f4\s+vscalefps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 2c f4\s+vscalefps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 2c f4\s+vscalefps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 91 10 5c f4\s+vsubpd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 91 37 5c f4\s+vsubpd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 91 f7 5c f4\s+vsubpd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 10 10 5c f4\s+vsubph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 10 37 5c f4\s+vsubph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 10 f7 5c f4\s+vsubph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 10 10 5c f4\s+vsubps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 10 37 5c f4\s+vsubps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 10 f7 5c f4\s+vsubps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 91 10 5f f4\s+vmaxpd ymm30,ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 91 17 5f f4\s+vmaxpd ymm30\{k7\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 91 97 5f f4\s+vmaxpd ymm30\{k7\}\{z\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 05 10 10 5f f4\s+vmaxph ymm30,ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 05 10 17 5f f4\s+vmaxph ymm30\{k7\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 05 10 97 5f f4\s+vmaxph ymm30\{k7\}\{z\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 10 10 5f f4\s+vmaxps ymm30,ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 10 17 5f f4\s+vmaxps ymm30\{k7\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 10 97 5f f4\s+vmaxps ymm30\{k7\}\{z\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 91 10 5d f4\s+vminpd ymm30,ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 91 17 5d f4\s+vminpd ymm30\{k7\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 91 97 5d f4\s+vminpd ymm30\{k7\}\{z\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 05 10 10 5d f4\s+vminph ymm30,ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 05 10 17 5d f4\s+vminph ymm30\{k7\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 05 10 97 5d f4\s+vminph ymm30\{k7\}\{z\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 10 10 5d f4\s+vminps ymm30,ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 10 17 5d f4\s+vminps ymm30\{k7\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 01 10 97 5d f4\s+vminps ymm30\{k7\}\{z\},ymm29,ymm28\{sae\} -\s*[a-f0-9]+:\s*62 03 f9 18 26 f5 7b\s+vgetmantpd ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 1f 26 f5 7b\s+vgetmantpd ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 9f 26 f5 7b\s+vgetmantpd ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 18 26 f5 7b\s+vgetmantph ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 1f 26 f5 7b\s+vgetmantph ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 9f 26 f5 7b\s+vgetmantph ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 18 26 f5 7b\s+vgetmantps ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 1f 26 f5 7b\s+vgetmantps ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 9f 26 f5 7b\s+vgetmantps ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 18 56 f5 7b\s+vreducepd ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 1f 56 f5 7b\s+vreducepd ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 9f 56 f5 7b\s+vreducepd ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 18 56 f5 7b\s+vreduceph ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 1f 56 f5 7b\s+vreduceph ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 9f 56 f5 7b\s+vreduceph ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 18 56 f5 7b\s+vreduceps ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 1f 56 f5 7b\s+vreduceps ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 9f 56 f5 7b\s+vreduceps ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 18 09 f5 7b\s+vrndscalepd ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 1f 09 f5 7b\s+vrndscalepd ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 f9 9f 09 f5 7b\s+vrndscalepd ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 18 08 f5 7b\s+vrndscaleph ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 1f 08 f5 7b\s+vrndscaleph ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 78 9f 08 f5 7b\s+vrndscaleph ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 18 08 f5 7b\s+vrndscaleps ymm30,ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 1f 08 f5 7b\s+vrndscaleps ymm30\{k7\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 79 9f 08 f5 7b\s+vrndscaleps ymm30\{k7\}\{z\},ymm29\{sae\},0x7b -\s*[a-f0-9]+:\s*62 02 91 10 98 f4\s+vfmadd132pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 98 f4\s+vfmadd132pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 98 f4\s+vfmadd132pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 98 f4\s+vfmadd132ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 98 f4\s+vfmadd132ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 98 f4\s+vfmadd132ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 98 f4\s+vfmadd132ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 98 f4\s+vfmadd132ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 98 f4\s+vfmadd132ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 a8 f4\s+vfmadd213pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 a8 f4\s+vfmadd213pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 a8 f4\s+vfmadd213pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 a8 f4\s+vfmadd213ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 a8 f4\s+vfmadd213ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 a8 f4\s+vfmadd213ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 a8 f4\s+vfmadd213ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 a8 f4\s+vfmadd213ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 a8 f4\s+vfmadd213ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 b8 f4\s+vfmadd231pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 b8 f4\s+vfmadd231pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 b8 f4\s+vfmadd231pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 b8 f4\s+vfmadd231ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 b8 f4\s+vfmadd231ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 b8 f4\s+vfmadd231ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 b8 f4\s+vfmadd231ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 b8 f4\s+vfmadd231ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 b8 f4\s+vfmadd231ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 96 f4\s+vfmaddsub132pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 96 f4\s+vfmaddsub132pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 96 f4\s+vfmaddsub132pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 96 f4\s+vfmaddsub132ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 96 f4\s+vfmaddsub132ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 96 f4\s+vfmaddsub132ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 96 f4\s+vfmaddsub132ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 96 f4\s+vfmaddsub132ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 96 f4\s+vfmaddsub132ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 a6 f4\s+vfmaddsub213pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 a6 f4\s+vfmaddsub213pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 a6 f4\s+vfmaddsub213pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 a6 f4\s+vfmaddsub213ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 a6 f4\s+vfmaddsub213ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 a6 f4\s+vfmaddsub213ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 a6 f4\s+vfmaddsub213ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 a6 f4\s+vfmaddsub213ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 a6 f4\s+vfmaddsub213ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 b6 f4\s+vfmaddsub231pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 b6 f4\s+vfmaddsub231pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 b6 f4\s+vfmaddsub231pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 b6 f4\s+vfmaddsub231ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 b6 f4\s+vfmaddsub231ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 b6 f4\s+vfmaddsub231ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 b6 f4\s+vfmaddsub231ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 b6 f4\s+vfmaddsub231ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 b6 f4\s+vfmaddsub231ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 9a f4\s+vfmsub132pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 9a f4\s+vfmsub132pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 9a f4\s+vfmsub132pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 9a f4\s+vfmsub132ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 9a f4\s+vfmsub132ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 9a f4\s+vfmsub132ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 9a f4\s+vfmsub132ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 9a f4\s+vfmsub132ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 9a f4\s+vfmsub132ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 aa f4\s+vfmsub213pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 aa f4\s+vfmsub213pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 aa f4\s+vfmsub213pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 aa f4\s+vfmsub213ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 aa f4\s+vfmsub213ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 aa f4\s+vfmsub213ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 aa f4\s+vfmsub213ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 aa f4\s+vfmsub213ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 aa f4\s+vfmsub213ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 ba f4\s+vfmsub231pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 ba f4\s+vfmsub231pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 ba f4\s+vfmsub231pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 ba f4\s+vfmsub231ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 ba f4\s+vfmsub231ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 ba f4\s+vfmsub231ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 ba f4\s+vfmsub231ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 ba f4\s+vfmsub231ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 ba f4\s+vfmsub231ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 97 f4\s+vfmsubadd132pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 97 f4\s+vfmsubadd132pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 97 f4\s+vfmsubadd132pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 97 f4\s+vfmsubadd132ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 97 f4\s+vfmsubadd132ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 97 f4\s+vfmsubadd132ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 97 f4\s+vfmsubadd132ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 97 f4\s+vfmsubadd132ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 97 f4\s+vfmsubadd132ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 a7 f4\s+vfmsubadd213pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 a7 f4\s+vfmsubadd213pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 a7 f4\s+vfmsubadd213pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 a7 f4\s+vfmsubadd213ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 a7 f4\s+vfmsubadd213ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 a7 f4\s+vfmsubadd213ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 a7 f4\s+vfmsubadd213ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 a7 f4\s+vfmsubadd213ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 a7 f4\s+vfmsubadd213ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 b7 f4\s+vfmsubadd231pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 b7 f4\s+vfmsubadd231pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 b7 f4\s+vfmsubadd231pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 b7 f4\s+vfmsubadd231ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 b7 f4\s+vfmsubadd231ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 b7 f4\s+vfmsubadd231ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 b7 f4\s+vfmsubadd231ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 b7 f4\s+vfmsubadd231ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 b7 f4\s+vfmsubadd231ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 9c f4\s+vfnmadd132pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 9c f4\s+vfnmadd132pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 9c f4\s+vfnmadd132pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 9c f4\s+vfnmadd132ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 9c f4\s+vfnmadd132ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 9c f4\s+vfnmadd132ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 9c f4\s+vfnmadd132ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 9c f4\s+vfnmadd132ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 9c f4\s+vfnmadd132ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 ac f4\s+vfnmadd213pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 ac f4\s+vfnmadd213pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 ac f4\s+vfnmadd213pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 ac f4\s+vfnmadd213ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 ac f4\s+vfnmadd213ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 ac f4\s+vfnmadd213ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 ac f4\s+vfnmadd213ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 ac f4\s+vfnmadd213ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 ac f4\s+vfnmadd213ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 bc f4\s+vfnmadd231pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 bc f4\s+vfnmadd231pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 bc f4\s+vfnmadd231pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 bc f4\s+vfnmadd231ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 bc f4\s+vfnmadd231ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 bc f4\s+vfnmadd231ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 bc f4\s+vfnmadd231ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 bc f4\s+vfnmadd231ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 bc f4\s+vfnmadd231ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 9e f4\s+vfnmsub132pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 9e f4\s+vfnmsub132pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 9e f4\s+vfnmsub132pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 9e f4\s+vfnmsub132ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 9e f4\s+vfnmsub132ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 9e f4\s+vfnmsub132ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 9e f4\s+vfnmsub132ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 9e f4\s+vfnmsub132ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 9e f4\s+vfnmsub132ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 ae f4\s+vfnmsub213pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 ae f4\s+vfnmsub213pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 ae f4\s+vfnmsub213pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 ae f4\s+vfnmsub213ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 ae f4\s+vfnmsub213ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 ae f4\s+vfnmsub213ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 ae f4\s+vfnmsub213ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 ae f4\s+vfnmsub213ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 ae f4\s+vfnmsub213ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 91 10 be f4\s+vfnmsub231pd ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 91 37 be f4\s+vfnmsub231pd ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 91 f7 be f4\s+vfnmsub231pd ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 11 10 be f4\s+vfnmsub231ph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 11 37 be f4\s+vfnmsub231ph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 11 f7 be f4\s+vfnmsub231ph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 02 11 10 be f4\s+vfnmsub231ps ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 02 11 37 be f4\s+vfnmsub231ps ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 02 11 f7 be f4\s+vfnmsub231ps ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 03 91 10 54 f4 7b\s+vfixupimmpd ymm30,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 91 17 54 f4 7b\s+vfixupimmpd ymm30\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 91 97 54 f4 7b\s+vfixupimmpd ymm30\{k7\}\{z\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 11 10 54 f4 7b\s+vfixupimmps ymm30,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 11 17 54 f4 7b\s+vfixupimmps ymm30\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 11 97 54 f4 7b\s+vfixupimmps ymm30\{k7\}\{z\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 91 10 50 f4 7b\s+vrangepd ymm30,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 91 17 50 f4 7b\s+vrangepd ymm30\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 91 97 50 f4 7b\s+vrangepd ymm30\{k7\}\{z\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 11 10 50 f4 7b\s+vrangeps ymm30,ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 11 17 50 f4 7b\s+vrangeps ymm30\{k7\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 03 11 97 50 f4 7b\s+vrangeps ymm30\{k7\}\{z\},ymm29,ymm28\{sae\},0x7b -\s*[a-f0-9]+:\s*62 06 13 10 56 f4\s+vfcmaddcph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 13 37 56 f4\s+vfcmaddcph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 13 f7 56 f4\s+vfcmaddcph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 13 10 d6 f4\s+vfcmulcph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 13 37 d6 f4\s+vfcmulcph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 13 f7 d6 f4\s+vfcmulcph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 12 10 56 f4\s+vfmaddcph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 12 37 56 f4\s+vfmaddcph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 12 f7 56 f4\s+vfmaddcph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 06 12 10 d6 f4\s+vfmulcph ymm30,ymm29,ymm28\{rn-sae\} -\s*[a-f0-9]+:\s*62 06 12 37 d6 f4\s+vfmulcph ymm30\{k7\},ymm29,ymm28\{rd-sae\} -\s*[a-f0-9]+:\s*62 06 12 f7 d6 f4\s+vfmulcph ymm30\{k7\}\{z\},ymm29,ymm28\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 78 18 5b f5\s+vcvtdq2ph xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 78 3f 5b f5\s+vcvtdq2ph xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 78 ff 5b f5\s+vcvtdq2ph xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 78 18 5b f5\s+vcvtdq2ps ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 78 3f 5b f5\s+vcvtdq2ps ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 78 ff 5b f5\s+vcvtdq2ps ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 7b 18 7a f5\s+vcvtudq2ph xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 7b 3f 7a f5\s+vcvtudq2ph xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 7b ff 7a f5\s+vcvtudq2ph xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 7b 18 7a f5\s+vcvtudq2ps ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 7b 3f 7a f5\s+vcvtudq2ps ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 7b ff 7a f5\s+vcvtudq2ps ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 fb 18 e6 f5\s+vcvtpd2dq xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 fb 3f e6 f5\s+vcvtpd2dq xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 fb ff e6 f5\s+vcvtpd2dq xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 f9 18 5a f5\s+vcvtpd2ph xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 f9 3f 5a f5\s+vcvtpd2ph xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 f9 ff 5a f5\s+vcvtpd2ph xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 5a f5\s+vcvtpd2ps xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 f9 3f 5a f5\s+vcvtpd2ps xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 f9 ff 5a f5\s+vcvtpd2ps xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 f8 18 79 f5\s+vcvtpd2udq xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 f8 3f 79 f5\s+vcvtpd2udq xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 f8 ff 79 f5\s+vcvtpd2udq xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 7b f5\s+vcvtpd2qq ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 f9 3f 7b f5\s+vcvtpd2qq ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 f9 ff 7b f5\s+vcvtpd2qq ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 79 f5\s+vcvtpd2uqq ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 f9 3f 79 f5\s+vcvtpd2uqq ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 f9 ff 79 f5\s+vcvtpd2uqq ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 79 18 5b f5\s+vcvtph2dq ymm30,xmm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 79 3f 5b f5\s+vcvtph2dq ymm30\{k7\},xmm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 79 ff 5b f5\s+vcvtph2dq ymm30\{k7\}\{z\},xmm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 79 18 7b f5\s+vcvtph2qq ymm30,xmm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 79 3f 7b f5\s+vcvtph2qq ymm30\{k7\},xmm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 79 ff 7b f5\s+vcvtph2qq ymm30\{k7\}\{z\},xmm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 78 18 79 f5\s+vcvtph2udq ymm30,xmm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 78 3f 79 f5\s+vcvtph2udq ymm30\{k7\},xmm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 78 ff 79 f5\s+vcvtph2udq ymm30\{k7\}\{z\},xmm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 79 18 79 f5\s+vcvtph2uqq ymm30,xmm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 79 3f 79 f5\s+vcvtph2uqq ymm30\{k7\},xmm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 79 ff 79 f5\s+vcvtph2uqq ymm30\{k7\}\{z\},xmm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 78 18 5a f5\s+vcvtph2pd ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 1f 5a f5\s+vcvtph2pd ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 9f 5a f5\s+vcvtph2pd ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 02 79 18 13 f5\s+vcvtph2ps ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 02 79 1f 13 f5\s+vcvtph2ps ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 02 79 9f 13 f5\s+vcvtph2ps ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 06 79 18 13 f5\s+vcvtph2psx ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 06 79 1f 13 f5\s+vcvtph2psx ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 06 79 9f 13 f5\s+vcvtph2psx ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 18 7d f5\s+vcvtph2uw ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 78 3f 7d f5\s+vcvtph2uw ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 78 ff 7d f5\s+vcvtph2uw ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 79 18 7d f5\s+vcvtph2w ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 79 3f 7d f5\s+vcvtph2w ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 79 ff 7d f5\s+vcvtph2w ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 79 18 5b f5\s+vcvtps2dq ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 79 3f 5b f5\s+vcvtps2dq ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 79 ff 5b f5\s+vcvtps2dq ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 78 18 79 f5\s+vcvtps2udq ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 78 3f 79 f5\s+vcvtps2udq ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 78 ff 79 f5\s+vcvtps2udq ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 78 18 5a f5\s+vcvtps2pd ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 78 1f 5a f5\s+vcvtps2pd ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 78 9f 5a f5\s+vcvtps2pd ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 18 1d f5\s+vcvtps2phx xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 79 3f 1d f5\s+vcvtps2phx xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 79 ff 1d f5\s+vcvtps2phx xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 79 18 7b f5\s+vcvtps2qq ymm30,xmm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 79 3f 7b f5\s+vcvtps2qq ymm30\{k7\},xmm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 79 ff 7b f5\s+vcvtps2qq ymm30\{k7\}\{z\},xmm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 79 18 79 f5\s+vcvtps2uqq ymm30,xmm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 79 3f 79 f5\s+vcvtps2uqq ymm30\{k7\},xmm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 79 ff 79 f5\s+vcvtps2uqq ymm30\{k7\}\{z\},xmm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 fa 18 e6 f5\s+vcvtqq2pd ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 fa 3f e6 f5\s+vcvtqq2pd ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 fa ff e6 f5\s+vcvtqq2pd ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 f8 18 5b f5\s+vcvtqq2ph xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 f8 3f 5b f5\s+vcvtqq2ph xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 f8 ff 5b f5\s+vcvtqq2ph xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 f8 18 5b f5\s+vcvtqq2ps xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 f8 3f 5b f5\s+vcvtqq2ps xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 f8 ff 5b f5\s+vcvtqq2ps xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 fa 18 7a f5\s+vcvtuqq2pd ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 fa 3f 7a f5\s+vcvtuqq2pd ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 fa ff 7a f5\s+vcvtuqq2pd ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 fb 18 7a f5\s+vcvtuqq2ph xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 fb 3f 7a f5\s+vcvtuqq2ph xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 fb ff 7a f5\s+vcvtuqq2ph xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 fb 18 7a f5\s+vcvtuqq2ps xmm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 01 fb 3f 7a f5\s+vcvtuqq2ps xmm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 01 fb ff 7a f5\s+vcvtuqq2ps xmm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 e6 f5\s+vcvttpd2dq xmm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 1f e6 f5\s+vcvttpd2dq xmm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 9f e6 f5\s+vcvttpd2dq xmm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f8 18 78 f5\s+vcvttpd2udq xmm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f8 1f 78 f5\s+vcvttpd2udq xmm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f8 9f 78 f5\s+vcvttpd2udq xmm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 7a f5\s+vcvttpd2qq ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 1f 7a f5\s+vcvttpd2qq ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 9f 7a f5\s+vcvttpd2qq ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 18 78 f5\s+vcvttpd2uqq ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 1f 78 f5\s+vcvttpd2uqq ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 f9 9f 78 f5\s+vcvttpd2uqq ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 7a 18 5b f5\s+vcvttph2dq ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 7a 1f 5b f5\s+vcvttph2dq ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 7a 9f 5b f5\s+vcvttph2dq ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 18 7a f5\s+vcvttph2qq ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 1f 7a f5\s+vcvttph2qq ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 9f 7a f5\s+vcvttph2qq ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 18 78 f5\s+vcvttph2udq ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 1f 78 f5\s+vcvttph2udq ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 9f 78 f5\s+vcvttph2udq ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 18 78 f5\s+vcvttph2uqq ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 1f 78 f5\s+vcvttph2uqq ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 9f 78 f5\s+vcvttph2uqq ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 18 7c f5\s+vcvttph2uw ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 1f 7c f5\s+vcvttph2uw ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 78 9f 7c f5\s+vcvttph2uw ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 18 7c f5\s+vcvttph2w ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 1f 7c f5\s+vcvttph2w ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 05 79 9f 7c f5\s+vcvttph2w ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 7a 18 5b f5\s+vcvttps2dq ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 7a 1f 5b f5\s+vcvttps2dq ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 7a 9f 5b f5\s+vcvttps2dq ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 78 18 78 f5\s+vcvttps2udq ymm30,ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 78 1f 78 f5\s+vcvttps2udq ymm30\{k7\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 78 9f 78 f5\s+vcvttps2udq ymm30\{k7\}\{z\},ymm29\{sae\} -\s*[a-f0-9]+:\s*62 01 79 18 7a f5\s+vcvttps2qq ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 79 1f 7a f5\s+vcvttps2qq ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 79 9f 7a f5\s+vcvttps2qq ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 79 18 78 f5\s+vcvttps2uqq ymm30,xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 79 1f 78 f5\s+vcvttps2uqq ymm30\{k7\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 01 79 9f 78 f5\s+vcvttps2uqq ymm30\{k7\}\{z\},xmm29\{sae\} -\s*[a-f0-9]+:\s*62 05 7b 18 7d f5\s+vcvtuw2ph ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 7b 3f 7d f5\s+vcvtuw2ph ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 7b ff 7d f5\s+vcvtuw2ph ymm30\{k7\}\{z\},ymm29\{rz-sae\} -\s*[a-f0-9]+:\s*62 05 7a 18 7d f5\s+vcvtw2ph ymm30,ymm29\{rn-sae\} -\s*[a-f0-9]+:\s*62 05 7a 3f 7d f5\s+vcvtw2ph ymm30\{k7\},ymm29\{rd-sae\} -\s*[a-f0-9]+:\s*62 05 7a ff 7d f5\s+vcvtw2ph ymm30\{k7\}\{z\},ymm29\{rz-sae\} -#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-rounding.d b/gas/testsuite/gas/i386/x86-64-avx10_2-rounding.d deleted file mode 100644 index 2bdfbf3..0000000 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-rounding.d +++ /dev/null @@ -1,450 +0,0 @@ -#objdump: -dw -#name: x86_64 AVX10.2 rounding insns - -.*: +file format .* - -Disassembly of section \.text: - -0+ <_start>: -\s*[a-f0-9]+:\s*62 91 91 10 c2 ec 7b\s+vcmppd \$0x7b,\{sae\},%ymm28,%ymm29,%k5 -\s*[a-f0-9]+:\s*62 91 91 17 c2 ec 7b\s+vcmppd \$0x7b,\{sae\},%ymm28,%ymm29,%k5\{%k7\} -\s*[a-f0-9]+:\s*62 02 f9 18 42 f5\s+vgetexppd \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 f9 1f 42 f5\s+vgetexppd \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 f9 9f 42 f5\s+vgetexppd \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 51 f5\s+vsqrtpd \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 f9 3f 51 f5\s+vsqrtpd \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 ff 51 f5\s+vsqrtpd \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 93 10 10 c2 ec 7b\s+vcmpph \$0x7b,\{sae\},%ymm28,%ymm29,%k5 -\s*[a-f0-9]+:\s*62 93 10 17 c2 ec 7b\s+vcmpph \$0x7b,\{sae\},%ymm28,%ymm29,%k5\{%k7\} -\s*[a-f0-9]+:\s*62 06 79 18 42 f5\s+vgetexpph \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 79 1f 42 f5\s+vgetexpph \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 79 9f 42 f5\s+vgetexpph \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 51 f5\s+vsqrtph \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 3f 51 f5\s+vsqrtph \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 ff 51 f5\s+vsqrtph \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 91 10 10 c2 ec 7b\s+vcmpps \$0x7b,\{sae\},%ymm28,%ymm29,%k5 -\s*[a-f0-9]+:\s*62 91 10 17 c2 ec 7b\s+vcmpps \$0x7b,\{sae\},%ymm28,%ymm29,%k5\{%k7\} -\s*[a-f0-9]+:\s*62 02 79 18 42 f5\s+vgetexpps \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 79 1f 42 f5\s+vgetexpps \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 79 9f 42 f5\s+vgetexpps \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 78 18 51 f5\s+vsqrtps \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 78 3f 51 f5\s+vsqrtps \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 78 ff 51 f5\s+vsqrtps \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 91 10 58 f4\s+vaddpd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 91 37 58 f4\s+vaddpd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 91 f7 58 f4\s+vaddpd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 10 10 58 f4\s+vaddph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 10 37 58 f4\s+vaddph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 10 f7 58 f4\s+vaddph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 10 10 58 f4\s+vaddps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 10 37 58 f4\s+vaddps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 10 f7 58 f4\s+vaddps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 91 10 5e f4\s+vdivpd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 91 37 5e f4\s+vdivpd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 91 f7 5e f4\s+vdivpd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 10 10 5e f4\s+vdivph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 10 37 5e f4\s+vdivph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 10 f7 5e f4\s+vdivph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 10 10 5e f4\s+vdivps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 10 37 5e f4\s+vdivps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 10 f7 5e f4\s+vdivps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 91 10 59 f4\s+vmulpd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 91 37 59 f4\s+vmulpd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 91 f7 59 f4\s+vmulpd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 10 10 59 f4\s+vmulph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 10 37 59 f4\s+vmulph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 10 f7 59 f4\s+vmulph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 10 10 59 f4\s+vmulps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 10 37 59 f4\s+vmulps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 10 f7 59 f4\s+vmulps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 2c f4\s+vscalefpd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 2c f4\s+vscalefpd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 2c f4\s+vscalefpd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 2c f4\s+vscalefph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 2c f4\s+vscalefph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 2c f4\s+vscalefph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 2c f4\s+vscalefps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 2c f4\s+vscalefps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 2c f4\s+vscalefps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 91 10 5c f4\s+vsubpd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 91 37 5c f4\s+vsubpd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 91 f7 5c f4\s+vsubpd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 10 10 5c f4\s+vsubph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 10 37 5c f4\s+vsubph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 10 f7 5c f4\s+vsubph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 10 10 5c f4\s+vsubps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 10 37 5c f4\s+vsubps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 10 f7 5c f4\s+vsubps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 91 10 5f f4\s+vmaxpd \{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 91 17 5f f4\s+vmaxpd \{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 91 97 5f f4\s+vmaxpd \{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 10 10 5f f4\s+vmaxph \{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 10 17 5f f4\s+vmaxph \{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 10 97 5f f4\s+vmaxph \{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 10 10 5f f4\s+vmaxps \{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 10 17 5f f4\s+vmaxps \{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 10 97 5f f4\s+vmaxps \{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 91 10 5d f4\s+vminpd \{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 91 17 5d f4\s+vminpd \{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 91 97 5d f4\s+vminpd \{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 10 10 5d f4\s+vminph \{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 10 17 5d f4\s+vminph \{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 10 97 5d f4\s+vminph \{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 10 10 5d f4\s+vminps \{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 10 17 5d f4\s+vminps \{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 10 97 5d f4\s+vminps \{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 f9 18 26 f5 7b\s+vgetmantpd \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 f9 1f 26 f5 7b\s+vgetmantpd \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 f9 9f 26 f5 7b\s+vgetmantpd \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 78 18 26 f5 7b\s+vgetmantph \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 78 1f 26 f5 7b\s+vgetmantph \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 78 9f 26 f5 7b\s+vgetmantph \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 79 18 26 f5 7b\s+vgetmantps \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 79 1f 26 f5 7b\s+vgetmantps \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 79 9f 26 f5 7b\s+vgetmantps \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 f9 18 56 f5 7b\s+vreducepd \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 f9 1f 56 f5 7b\s+vreducepd \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 f9 9f 56 f5 7b\s+vreducepd \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 78 18 56 f5 7b\s+vreduceph \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 78 1f 56 f5 7b\s+vreduceph \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 78 9f 56 f5 7b\s+vreduceph \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 79 18 56 f5 7b\s+vreduceps \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 79 1f 56 f5 7b\s+vreduceps \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 79 9f 56 f5 7b\s+vreduceps \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 f9 18 09 f5 7b\s+vrndscalepd \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 f9 1f 09 f5 7b\s+vrndscalepd \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 f9 9f 09 f5 7b\s+vrndscalepd \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 78 18 08 f5 7b\s+vrndscaleph \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 78 1f 08 f5 7b\s+vrndscaleph \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 78 9f 08 f5 7b\s+vrndscaleph \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 79 18 08 f5 7b\s+vrndscaleps \$0x7b,\{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 79 1f 08 f5 7b\s+vrndscaleps \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 79 9f 08 f5 7b\s+vrndscaleps \$0x7b,\{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 98 f4\s+vfmadd132pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 98 f4\s+vfmadd132pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 98 f4\s+vfmadd132pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 98 f4\s+vfmadd132ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 98 f4\s+vfmadd132ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 98 f4\s+vfmadd132ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 98 f4\s+vfmadd132ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 98 f4\s+vfmadd132ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 98 f4\s+vfmadd132ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 a8 f4\s+vfmadd213pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 a8 f4\s+vfmadd213pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 a8 f4\s+vfmadd213pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 a8 f4\s+vfmadd213ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 a8 f4\s+vfmadd213ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 a8 f4\s+vfmadd213ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 a8 f4\s+vfmadd213ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 a8 f4\s+vfmadd213ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 a8 f4\s+vfmadd213ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 b8 f4\s+vfmadd231pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 b8 f4\s+vfmadd231pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 b8 f4\s+vfmadd231pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 b8 f4\s+vfmadd231ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 b8 f4\s+vfmadd231ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 b8 f4\s+vfmadd231ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 b8 f4\s+vfmadd231ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 b8 f4\s+vfmadd231ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 b8 f4\s+vfmadd231ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 96 f4\s+vfmaddsub132pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 96 f4\s+vfmaddsub132pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 96 f4\s+vfmaddsub132pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 96 f4\s+vfmaddsub132ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 96 f4\s+vfmaddsub132ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 96 f4\s+vfmaddsub132ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 96 f4\s+vfmaddsub132ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 96 f4\s+vfmaddsub132ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 96 f4\s+vfmaddsub132ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 a6 f4\s+vfmaddsub213pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 a6 f4\s+vfmaddsub213pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 a6 f4\s+vfmaddsub213pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 a6 f4\s+vfmaddsub213ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 a6 f4\s+vfmaddsub213ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 a6 f4\s+vfmaddsub213ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 a6 f4\s+vfmaddsub213ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 a6 f4\s+vfmaddsub213ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 a6 f4\s+vfmaddsub213ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 b6 f4\s+vfmaddsub231pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 b6 f4\s+vfmaddsub231pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 b6 f4\s+vfmaddsub231pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 b6 f4\s+vfmaddsub231ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 b6 f4\s+vfmaddsub231ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 b6 f4\s+vfmaddsub231ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 b6 f4\s+vfmaddsub231ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 b6 f4\s+vfmaddsub231ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 b6 f4\s+vfmaddsub231ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 9a f4\s+vfmsub132pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 9a f4\s+vfmsub132pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 9a f4\s+vfmsub132pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 9a f4\s+vfmsub132ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 9a f4\s+vfmsub132ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 9a f4\s+vfmsub132ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 9a f4\s+vfmsub132ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 9a f4\s+vfmsub132ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 9a f4\s+vfmsub132ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 aa f4\s+vfmsub213pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 aa f4\s+vfmsub213pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 aa f4\s+vfmsub213pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 aa f4\s+vfmsub213ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 aa f4\s+vfmsub213ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 aa f4\s+vfmsub213ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 aa f4\s+vfmsub213ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 aa f4\s+vfmsub213ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 aa f4\s+vfmsub213ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 ba f4\s+vfmsub231pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 ba f4\s+vfmsub231pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 ba f4\s+vfmsub231pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 ba f4\s+vfmsub231ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 ba f4\s+vfmsub231ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 ba f4\s+vfmsub231ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 ba f4\s+vfmsub231ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 ba f4\s+vfmsub231ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 ba f4\s+vfmsub231ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 97 f4\s+vfmsubadd132pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 97 f4\s+vfmsubadd132pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 97 f4\s+vfmsubadd132pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 97 f4\s+vfmsubadd132ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 97 f4\s+vfmsubadd132ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 97 f4\s+vfmsubadd132ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 97 f4\s+vfmsubadd132ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 97 f4\s+vfmsubadd132ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 97 f4\s+vfmsubadd132ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 a7 f4\s+vfmsubadd213pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 a7 f4\s+vfmsubadd213pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 a7 f4\s+vfmsubadd213pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 a7 f4\s+vfmsubadd213ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 a7 f4\s+vfmsubadd213ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 a7 f4\s+vfmsubadd213ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 a7 f4\s+vfmsubadd213ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 a7 f4\s+vfmsubadd213ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 a7 f4\s+vfmsubadd213ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 b7 f4\s+vfmsubadd231pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 b7 f4\s+vfmsubadd231pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 b7 f4\s+vfmsubadd231pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 b7 f4\s+vfmsubadd231ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 b7 f4\s+vfmsubadd231ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 b7 f4\s+vfmsubadd231ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 b7 f4\s+vfmsubadd231ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 b7 f4\s+vfmsubadd231ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 b7 f4\s+vfmsubadd231ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 9c f4\s+vfnmadd132pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 9c f4\s+vfnmadd132pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 9c f4\s+vfnmadd132pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 9c f4\s+vfnmadd132ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 9c f4\s+vfnmadd132ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 9c f4\s+vfnmadd132ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 9c f4\s+vfnmadd132ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 9c f4\s+vfnmadd132ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 9c f4\s+vfnmadd132ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 ac f4\s+vfnmadd213pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 ac f4\s+vfnmadd213pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 ac f4\s+vfnmadd213pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 ac f4\s+vfnmadd213ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 ac f4\s+vfnmadd213ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 ac f4\s+vfnmadd213ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 ac f4\s+vfnmadd213ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 ac f4\s+vfnmadd213ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 ac f4\s+vfnmadd213ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 bc f4\s+vfnmadd231pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 bc f4\s+vfnmadd231pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 bc f4\s+vfnmadd231pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 bc f4\s+vfnmadd231ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 bc f4\s+vfnmadd231ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 bc f4\s+vfnmadd231ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 bc f4\s+vfnmadd231ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 bc f4\s+vfnmadd231ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 bc f4\s+vfnmadd231ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 9e f4\s+vfnmsub132pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 9e f4\s+vfnmsub132pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 9e f4\s+vfnmsub132pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 9e f4\s+vfnmsub132ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 9e f4\s+vfnmsub132ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 9e f4\s+vfnmsub132ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 9e f4\s+vfnmsub132ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 9e f4\s+vfnmsub132ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 9e f4\s+vfnmsub132ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 ae f4\s+vfnmsub213pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 ae f4\s+vfnmsub213pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 ae f4\s+vfnmsub213pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 ae f4\s+vfnmsub213ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 ae f4\s+vfnmsub213ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 ae f4\s+vfnmsub213ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 ae f4\s+vfnmsub213ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 ae f4\s+vfnmsub213ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 ae f4\s+vfnmsub213ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 91 10 be f4\s+vfnmsub231pd \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 91 37 be f4\s+vfnmsub231pd \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 91 f7 be f4\s+vfnmsub231pd \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 11 10 be f4\s+vfnmsub231ph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 11 37 be f4\s+vfnmsub231ph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 11 f7 be f4\s+vfnmsub231ph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 11 10 be f4\s+vfnmsub231ps \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 11 37 be f4\s+vfnmsub231ps \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 11 f7 be f4\s+vfnmsub231ps \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 91 10 54 f4 7b\s+vfixupimmpd \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 91 17 54 f4 7b\s+vfixupimmpd \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 91 97 54 f4 7b\s+vfixupimmpd \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 11 10 54 f4 7b\s+vfixupimmps \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 11 17 54 f4 7b\s+vfixupimmps \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 11 97 54 f4 7b\s+vfixupimmps \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 91 10 50 f4 7b\s+vrangepd \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 91 17 50 f4 7b\s+vrangepd \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 91 97 50 f4 7b\s+vrangepd \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 03 11 10 50 f4 7b\s+vrangeps \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 03 11 17 50 f4 7b\s+vrangeps \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 03 11 97 50 f4 7b\s+vrangeps \$0x7b,\{sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 13 10 56 f4\s+vfcmaddcph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 13 37 56 f4\s+vfcmaddcph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 13 f7 56 f4\s+vfcmaddcph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 13 10 d6 f4\s+vfcmulcph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 13 37 d6 f4\s+vfcmulcph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 13 f7 d6 f4\s+vfcmulcph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 12 10 56 f4\s+vfmaddcph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 12 37 56 f4\s+vfmaddcph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 12 f7 56 f4\s+vfmaddcph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 12 10 d6 f4\s+vfmulcph \{rn-sae\},%ymm28,%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 12 37 d6 f4\s+vfmulcph \{rd-sae\},%ymm28,%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 12 f7 d6 f4\s+vfmulcph \{rz-sae\},%ymm28,%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 5b f5\s+vcvtdq2ph \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 78 3f 5b f5\s+vcvtdq2ph \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 ff 5b f5\s+vcvtdq2ph \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 78 18 5b f5\s+vcvtdq2ps \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 78 3f 5b f5\s+vcvtdq2ps \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 78 ff 5b f5\s+vcvtdq2ps \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 7b 18 7a f5\s+vcvtudq2ph \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 7b 3f 7a f5\s+vcvtudq2ph \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 7b ff 7a f5\s+vcvtudq2ph \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 7b 18 7a f5\s+vcvtudq2ps \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 7b 3f 7a f5\s+vcvtudq2ps \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 7b ff 7a f5\s+vcvtudq2ps \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 fb 18 e6 f5\s+vcvtpd2dq \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 fb 3f e6 f5\s+vcvtpd2dq \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 fb ff e6 f5\s+vcvtpd2dq \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 f9 18 5a f5\s+vcvtpd2ph \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 f9 3f 5a f5\s+vcvtpd2ph \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 f9 ff 5a f5\s+vcvtpd2ph \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 5a f5\s+vcvtpd2ps \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 f9 3f 5a f5\s+vcvtpd2ps \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 ff 5a f5\s+vcvtpd2ps \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f8 18 79 f5\s+vcvtpd2udq \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 f8 3f 79 f5\s+vcvtpd2udq \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f8 ff 79 f5\s+vcvtpd2udq \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 7b f5\s+vcvtpd2qq \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 f9 3f 7b f5\s+vcvtpd2qq \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 ff 7b f5\s+vcvtpd2qq \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 79 f5\s+vcvtpd2uqq \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 f9 3f 79 f5\s+vcvtpd2uqq \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 ff 79 f5\s+vcvtpd2uqq \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 5b f5\s+vcvtph2dq \{rn-sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 3f 5b f5\s+vcvtph2dq \{rd-sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 ff 5b f5\s+vcvtph2dq \{rz-sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 7b f5\s+vcvtph2qq \{rn-sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 3f 7b f5\s+vcvtph2qq \{rd-sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 ff 7b f5\s+vcvtph2qq \{rz-sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 79 f5\s+vcvtph2udq \{rn-sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 3f 79 f5\s+vcvtph2udq \{rd-sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 ff 79 f5\s+vcvtph2udq \{rz-sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 79 f5\s+vcvtph2uqq \{rn-sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 3f 79 f5\s+vcvtph2uqq \{rd-sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 ff 79 f5\s+vcvtph2uqq \{rz-sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 5a f5\s+vcvtph2pd \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 1f 5a f5\s+vcvtph2pd \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 9f 5a f5\s+vcvtph2pd \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 02 79 18 13 f5\s+vcvtph2ps \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 02 79 1f 13 f5\s+vcvtph2ps \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 02 79 9f 13 f5\s+vcvtph2ps \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 06 79 18 13 f5\s+vcvtph2psx \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 06 79 1f 13 f5\s+vcvtph2psx \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 06 79 9f 13 f5\s+vcvtph2psx \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 7d f5\s+vcvtph2uw \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 3f 7d f5\s+vcvtph2uw \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 ff 7d f5\s+vcvtph2uw \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 7d f5\s+vcvtph2w \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 3f 7d f5\s+vcvtph2w \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 ff 7d f5\s+vcvtph2w \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 79 18 5b f5\s+vcvtps2dq \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 79 3f 5b f5\s+vcvtps2dq \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 79 ff 5b f5\s+vcvtps2dq \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 78 18 79 f5\s+vcvtps2udq \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 78 3f 79 f5\s+vcvtps2udq \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 78 ff 79 f5\s+vcvtps2udq \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 78 18 5a f5\s+vcvtps2pd \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 78 1f 5a f5\s+vcvtps2pd \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 78 9f 5a f5\s+vcvtps2pd \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 1d f5\s+vcvtps2phx \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 79 3f 1d f5\s+vcvtps2phx \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 ff 1d f5\s+vcvtps2phx \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 79 18 7b f5\s+vcvtps2qq \{rn-sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 79 3f 7b f5\s+vcvtps2qq \{rd-sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 79 ff 7b f5\s+vcvtps2qq \{rz-sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 79 18 79 f5\s+vcvtps2uqq \{rn-sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 79 3f 79 f5\s+vcvtps2uqq \{rd-sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 79 ff 79 f5\s+vcvtps2uqq \{rz-sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 fa 18 e6 f5\s+vcvtqq2pd \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 fa 3f e6 f5\s+vcvtqq2pd \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 fa ff e6 f5\s+vcvtqq2pd \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 f8 18 5b f5\s+vcvtqq2ph \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 f8 3f 5b f5\s+vcvtqq2ph \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 f8 ff 5b f5\s+vcvtqq2ph \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f8 18 5b f5\s+vcvtqq2ps \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 f8 3f 5b f5\s+vcvtqq2ps \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f8 ff 5b f5\s+vcvtqq2ps \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 fa 18 7a f5\s+vcvtuqq2pd \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 fa 3f 7a f5\s+vcvtuqq2pd \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 fa ff 7a f5\s+vcvtuqq2pd \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 fb 18 7a f5\s+vcvtuqq2ph \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 05 fb 3f 7a f5\s+vcvtuqq2ph \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 fb ff 7a f5\s+vcvtuqq2ph \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 fb 18 7a f5\s+vcvtuqq2ps \{rn-sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 fb 3f 7a f5\s+vcvtuqq2ps \{rd-sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 fb ff 7a f5\s+vcvtuqq2ps \{rz-sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 e6 f5\s+vcvttpd2dq \{sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 f9 1f e6 f5\s+vcvttpd2dq \{sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 9f e6 f5\s+vcvttpd2dq \{sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f8 18 78 f5\s+vcvttpd2udq \{sae\},%ymm29,%xmm30 -\s*[a-f0-9]+:\s*62 01 f8 1f 78 f5\s+vcvttpd2udq \{sae\},%ymm29,%xmm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f8 9f 78 f5\s+vcvttpd2udq \{sae\},%ymm29,%xmm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 7a f5\s+vcvttpd2qq \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 f9 1f 7a f5\s+vcvttpd2qq \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 9f 7a f5\s+vcvttpd2qq \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 f9 18 78 f5\s+vcvttpd2uqq \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 f9 1f 78 f5\s+vcvttpd2uqq \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 f9 9f 78 f5\s+vcvttpd2uqq \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 7a 18 5b f5\s+vcvttph2dq \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 7a 1f 5b f5\s+vcvttph2dq \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 7a 9f 5b f5\s+vcvttph2dq \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 7a f5\s+vcvttph2qq \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 1f 7a f5\s+vcvttph2qq \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 9f 7a f5\s+vcvttph2qq \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 78 f5\s+vcvttph2udq \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 1f 78 f5\s+vcvttph2udq \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 9f 78 f5\s+vcvttph2udq \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 78 f5\s+vcvttph2uqq \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 1f 78 f5\s+vcvttph2uqq \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 9f 78 f5\s+vcvttph2uqq \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 78 18 7c f5\s+vcvttph2uw \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 78 1f 7c f5\s+vcvttph2uw \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 78 9f 7c f5\s+vcvttph2uw \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 79 18 7c f5\s+vcvttph2w \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 79 1f 7c f5\s+vcvttph2w \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 79 9f 7c f5\s+vcvttph2w \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 7a 18 5b f5\s+vcvttps2dq \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 7a 1f 5b f5\s+vcvttps2dq \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 7a 9f 5b f5\s+vcvttps2dq \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 78 18 78 f5\s+vcvttps2udq \{sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 78 1f 78 f5\s+vcvttps2udq \{sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 78 9f 78 f5\s+vcvttps2udq \{sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 79 18 7a f5\s+vcvttps2qq \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 79 1f 7a f5\s+vcvttps2qq \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 79 9f 7a f5\s+vcvttps2qq \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 01 79 18 78 f5\s+vcvttps2uqq \{sae\},%xmm29,%ymm30 -\s*[a-f0-9]+:\s*62 01 79 1f 78 f5\s+vcvttps2uqq \{sae\},%xmm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 01 79 9f 78 f5\s+vcvttps2uqq \{sae\},%xmm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 7b 18 7d f5\s+vcvtuw2ph \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 7b 3f 7d f5\s+vcvtuw2ph \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 7b ff 7d f5\s+vcvtuw2ph \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -\s*[a-f0-9]+:\s*62 05 7a 18 7d f5\s+vcvtw2ph \{rn-sae\},%ymm29,%ymm30 -\s*[a-f0-9]+:\s*62 05 7a 3f 7d f5\s+vcvtw2ph \{rd-sae\},%ymm29,%ymm30\{%k7\} -\s*[a-f0-9]+:\s*62 05 7a ff 7d f5\s+vcvtw2ph \{rz-sae\},%ymm29,%ymm30\{%k7\}\{z\} -#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-rounding.s b/gas/testsuite/gas/i386/x86-64-avx10_2-rounding.s deleted file mode 100644 index eee5eab..0000000 --- a/gas/testsuite/gas/i386/x86-64-avx10_2-rounding.s +++ /dev/null @@ -1,350 +0,0 @@ -# Check 64bit AVX10.2 instructions - - .text -_start: - .irp m, pd, ph, ps - vcmp\m $123, {sae}, %ymm28, %ymm29, %k5 - vcmp\m $123, {sae}, %ymm28, %ymm29, %k5{%k7} - vgetexp\m {sae}, %ymm29, %ymm30 - vgetexp\m {sae}, %ymm29, %ymm30{%k7} - vgetexp\m {sae}, %ymm29, %ymm30{%k7}{z} - vsqrt\m {rn-sae}, %ymm29, %ymm30 - vsqrt\m {rd-sae}, %ymm29, %ymm30{%k7} - vsqrt\m {rz-sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp a, add, div, mul, scalef, sub - .irp m, pd, ph, ps - v\a\m {rn-sae}, %ymm28, %ymm29, %ymm30 - v\a\m {rd-sae}, %ymm28, %ymm29, %ymm30{%k7} - v\a\m {rz-sae}, %ymm28, %ymm29, %ymm30{%k7}{z} - .endr - .endr - - .irp a, max, min - .irp m, pd, ph, ps - v\a\m {sae}, %ymm28, %ymm29, %ymm30 - v\a\m {sae}, %ymm28, %ymm29, %ymm30{%k7} - v\a\m {sae}, %ymm28, %ymm29, %ymm30{%k7}{z} - .endr - .endr - - .irp a, getmant, reduce, rndscale - .irp m, pd, ph, ps - v\a\m $123, {sae}, %ymm29, %ymm30 - v\a\m $123, {sae}, %ymm29, %ymm30{%k7} - v\a\m $123, {sae}, %ymm29, %ymm30{%k7}{z} - .endr - .endr - - .irp a, madd, maddsub, msub, msubadd, nmadd, nmsub - .irp n, 132, 213, 231 - .irp m, pd, ph, ps - vf\a\n\m {rn-sae}, %ymm28, %ymm29, %ymm30 - vf\a\n\m {rd-sae}, %ymm28, %ymm29, %ymm30{%k7} - vf\a\n\m {rz-sae}, %ymm28, %ymm29, %ymm30{%k7}{z} - .endr - .endr - .endr - - .irp a, fixupimm, range - .irp m, pd, ps - v\a\m $123, {sae}, %ymm28, %ymm29, %ymm30 - v\a\m $123, {sae}, %ymm28, %ymm29, %ymm30{%k7} - v\a\m $123, {sae}, %ymm28, %ymm29, %ymm30{%k7}{z} - .endr - .endr - - .irp a, cmadd, cmul, madd, mul - vf\a\()cph {rn-sae}, %ymm28, %ymm29, %ymm30 - vf\a\()cph {rd-sae}, %ymm28, %ymm29, %ymm30{%k7} - vf\a\()cph {rz-sae}, %ymm28, %ymm29, %ymm30{%k7}{z} - .endr - - .irp n, dq, udq - vcvt\n\()2ph {rn-sae}, %ymm29, %xmm30 - vcvt\n\()2ph {rd-sae}, %ymm29, %xmm30{%k7} - vcvt\n\()2ph {rz-sae}, %ymm29, %xmm30{%k7}{z} - - vcvt\n\()2ps {rn-sae}, %ymm29, %ymm30 - vcvt\n\()2ps {rd-sae}, %ymm29, %ymm30{%k7} - vcvt\n\()2ps {rz-sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp m, dq, ph, ps, udq - vcvtpd2\m {rn-sae}, %ymm29, %xmm30 - vcvtpd2\m {rd-sae}, %ymm29, %xmm30{%k7} - vcvtpd2\m {rz-sae}, %ymm29, %xmm30{%k7}{z} - .endr - - .irp m, qq, uqq - vcvtpd2\m {rn-sae}, %ymm29, %ymm30 - vcvtpd2\m {rd-sae}, %ymm29, %ymm30{%k7} - vcvtpd2\m {rz-sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp m, dq, qq, udq, uqq - vcvtph2\m {rn-sae}, %xmm29, %ymm30 - vcvtph2\m {rd-sae}, %xmm29, %ymm30{%k7} - vcvtph2\m {rz-sae}, %xmm29, %ymm30{%k7}{z} - .endr - - .irp m, pd, ps, psx - vcvtph2\m {sae}, %xmm29, %ymm30 - vcvtph2\m {sae}, %xmm29, %ymm30{%k7} - vcvtph2\m {sae}, %xmm29, %ymm30{%k7}{z} - .endr - - .irp m, uw, w - vcvtph2\m {rn-sae}, %ymm29, %ymm30 - vcvtph2\m {rd-sae}, %ymm29, %ymm30{%k7} - vcvtph2\m {rz-sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp m, dq, udq - vcvtps2\m {rn-sae}, %ymm29, %ymm30 - vcvtps2\m {rd-sae}, %ymm29, %ymm30{%k7} - vcvtps2\m {rz-sae}, %ymm29, %ymm30{%k7}{z} - .endr - - vcvtps2pd {sae}, %xmm29, %ymm30 - vcvtps2pd {sae}, %xmm29, %ymm30{%k7} - vcvtps2pd {sae}, %xmm29, %ymm30{%k7}{z} - - vcvtps2phx {rn-sae}, %ymm29, %xmm30 - vcvtps2phx {rd-sae}, %ymm29, %xmm30{%k7} - vcvtps2phx {rz-sae}, %ymm29, %xmm30{%k7}{z} - - .irp m, qq, uqq - vcvtps2\m {rn-sae}, %xmm29, %ymm30 - vcvtps2\m {rd-sae}, %xmm29, %ymm30{%k7} - vcvtps2\m {rz-sae}, %xmm29, %ymm30{%k7}{z} - .endr - - .irp n, qq, uqq - vcvt\n\()2pd {rn-sae}, %ymm29, %ymm30 - vcvt\n\()2pd {rd-sae}, %ymm29, %ymm30{%k7} - vcvt\n\()2pd {rz-sae}, %ymm29, %ymm30{%k7}{z} - - .irp m, ph, ps - vcvt\n\()2\m {rn-sae}, %ymm29, %xmm30 - vcvt\n\()2\m {rd-sae}, %ymm29, %xmm30{%k7} - vcvt\n\()2\m {rz-sae}, %ymm29, %xmm30{%k7}{z} - .endr - .endr - - .irp m, dq, udq - vcvttpd2\m {sae}, %ymm29, %xmm30 - vcvttpd2\m {sae}, %ymm29, %xmm30{%k7} - vcvttpd2\m {sae}, %ymm29, %xmm30{%k7}{z} - .endr - - .irp m, qq, uqq - vcvttpd2\m {sae}, %ymm29, %ymm30 - vcvttpd2\m {sae}, %ymm29, %ymm30{%k7} - vcvttpd2\m {sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp m, dq, qq, udq, uqq - vcvttph2\m {sae}, %xmm29, %ymm30 - vcvttph2\m {sae}, %xmm29, %ymm30{%k7} - vcvttph2\m {sae}, %xmm29, %ymm30{%k7}{z} - .endr - - .irp m, uw, w - vcvttph2\m {sae}, %ymm29, %ymm30 - vcvttph2\m {sae}, %ymm29, %ymm30{%k7} - vcvttph2\m {sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp m, dq, udq - vcvttps2\m {sae}, %ymm29, %ymm30 - vcvttps2\m {sae}, %ymm29, %ymm30{%k7} - vcvttps2\m {sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .irp m, qq, uqq - vcvttps2\m {sae}, %xmm29, %ymm30 - vcvttps2\m {sae}, %xmm29, %ymm30{%k7} - vcvttps2\m {sae}, %xmm29, %ymm30{%k7}{z} - .endr - - .irp n, uw, w - vcvt\n\()2ph {rn-sae}, %ymm29, %ymm30 - vcvt\n\()2ph {rd-sae}, %ymm29, %ymm30{%k7} - vcvt\n\()2ph {rz-sae}, %ymm29, %ymm30{%k7}{z} - .endr - - .intel_syntax noprefix - .irp m, pd, ph, ps - vcmp\m k5, ymm29, ymm28{sae}, 123 - vcmp\m k5{k7}, ymm29, ymm28{sae}, 123 - vgetexp\m ymm30, ymm29{sae} - vgetexp\m ymm30{k7}, ymm29{sae} - vgetexp\m ymm30{k7}{z}, ymm29{sae} - vsqrt\m ymm30, ymm29{rn-sae} - vsqrt\m ymm30{k7}, ymm29{rd-sae} - vsqrt\m ymm30{k7}{z}, ymm29{rz-sae} - .endr - - .irp a, add, div, mul, scalef, sub - .irp m, pd, ph, ps - v\a\m ymm30, ymm29, ymm28{rn-sae} - v\a\m ymm30{k7}, ymm29, ymm28{rd-sae} - v\a\m ymm30{k7}{z}, ymm29, ymm28{rz-sae} - .endr - .endr - - .irp a, max, min - .irp m, pd, ph, ps - v\a\m ymm30, ymm29, ymm28{sae} - v\a\m ymm30{k7}, ymm29, ymm28{sae} - v\a\m ymm30{k7}{z}, ymm29, ymm28{sae} - .endr - .endr - - .irp a, getmant, reduce, rndscale - .irp m, pd, ph, ps - v\a\m ymm30, ymm29{sae}, 123 - v\a\m ymm30{k7}, ymm29{sae}, 123 - v\a\m ymm30{k7}{z}, ymm29{sae}, 123 - .endr - .endr - - .irp a, madd, maddsub, msub, msubadd, nmadd, nmsub - .irp n, 132, 213, 231 - .irp m, pd, ph, ps - vf\a\n\m ymm30, ymm29, ymm28{rn-sae} - vf\a\n\m ymm30{k7}, ymm29, ymm28{rd-sae} - vf\a\n\m ymm30{k7}{z}, ymm29, ymm28{rz-sae} - .endr - .endr - .endr - - .irp a, fixupimm, range - .irp m, pd, ps - v\a\m ymm30, ymm29, ymm28{sae}, 123 - v\a\m ymm30{k7}, ymm29, ymm28{sae}, 123 - v\a\m ymm30{k7}{z}, ymm29, ymm28{sae}, 123 - .endr - .endr - - .irp a, cmadd, cmul, madd, mul - vf\a\()cph ymm30, ymm29, ymm28{rn-sae} - vf\a\()cph ymm30{k7}, ymm29, ymm28{rd-sae} - vf\a\()cph ymm30{k7}{z}, ymm29, ymm28{rz-sae} - .endr - - .irp n, dq, udq - vcvt\n\()2ph xmm30, ymm29{rn-sae} - vcvt\n\()2ph xmm30{k7}, ymm29{rd-sae} - vcvt\n\()2ph xmm30{k7}{z}, ymm29{rz-sae} - - vcvt\n\()2ps ymm30, ymm29{rn-sae} - vcvt\n\()2ps ymm30{k7}, ymm29{rd-sae} - vcvt\n\()2ps ymm30{k7}{z}, ymm29{rz-sae} - .endr - - .irp m, dq, ph, ps, udq - vcvtpd2\m xmm30, ymm29{rn-sae} - vcvtpd2\m xmm30{k7}, ymm29{rd-sae} - vcvtpd2\m xmm30{k7}{z}, ymm29{rz-sae} - .endr - - .irp m, qq, uqq - vcvtpd2\m ymm30, ymm29{rn-sae} - vcvtpd2\m ymm30{k7}, ymm29{rd-sae} - vcvtpd2\m ymm30{k7}{z}, ymm29{rz-sae} - .endr - - .irp m, dq, qq, udq, uqq - vcvtph2\m ymm30, xmm29{rn-sae} - vcvtph2\m ymm30{k7}, xmm29{rd-sae} - vcvtph2\m ymm30{k7}{z}, xmm29{rz-sae} - .endr - - .irp m, pd, ps, psx - vcvtph2\m ymm30, xmm29{sae} - vcvtph2\m ymm30{k7}, xmm29{sae} - vcvtph2\m ymm30{k7}{z}, xmm29{sae} - .endr - - .irp m, uw, w - vcvtph2\m ymm30, ymm29{rn-sae} - vcvtph2\m ymm30{k7}, ymm29{rd-sae} - vcvtph2\m ymm30{k7}{z}, ymm29{rz-sae} - .endr - - .irp m, dq, udq - vcvtps2\m ymm30, ymm29{rn-sae} - vcvtps2\m ymm30{k7}, ymm29{rd-sae} - vcvtps2\m ymm30{k7}{z}, ymm29{rz-sae} - .endr - - vcvtps2pd ymm30, xmm29{sae} - vcvtps2pd ymm30{k7}, xmm29{sae} - vcvtps2pd ymm30{k7}{z}, xmm29{sae} - - vcvtps2phx xmm30, ymm29{rn-sae} - vcvtps2phx xmm30{k7}, ymm29{rd-sae} - vcvtps2phx xmm30{k7}{z}, ymm29{rz-sae} - - .irp m, qq, uqq - vcvtps2\m ymm30, xmm29{rn-sae} - vcvtps2\m ymm30{k7}, xmm29{rd-sae} - vcvtps2\m ymm30{k7}{z}, xmm29{rz-sae} - .endr - - .irp n, qq, uqq - vcvt\n\()2pd ymm30, ymm29{rn-sae} - vcvt\n\()2pd ymm30{k7}, ymm29{rd-sae} - vcvt\n\()2pd ymm30{k7}{z}, ymm29{rz-sae} - - .irp m, ph, ps - vcvt\n\()2\m xmm30, ymm29{rn-sae} - vcvt\n\()2\m xmm30{k7}, ymm29{rd-sae} - vcvt\n\()2\m xmm30{k7}{z}, ymm29{rz-sae} - .endr - .endr - - .irp m, dq, udq - vcvttpd2\m xmm30, ymm29{sae} - vcvttpd2\m xmm30{k7}, ymm29{sae} - vcvttpd2\m xmm30{k7}{z}, ymm29{sae} - .endr - - .irp m, qq, uqq - vcvttpd2\m ymm30, ymm29{sae} - vcvttpd2\m ymm30{k7}, ymm29{sae} - vcvttpd2\m ymm30{k7}{z}, ymm29{sae} - .endr - - .irp m, dq, qq, udq, uqq - vcvttph2\m ymm30, xmm29{sae} - vcvttph2\m ymm30{k7}, xmm29{sae} - vcvttph2\m ymm30{k7}{z}, xmm29{sae} - .endr - - .irp m, uw, w - vcvttph2\m ymm30, ymm29{sae} - vcvttph2\m ymm30{k7}, ymm29{sae} - vcvttph2\m ymm30{k7}{z}, ymm29{sae} - .endr - - .irp m, dq, udq - vcvttps2\m ymm30, ymm29{sae} - vcvttps2\m ymm30{k7}, ymm29{sae} - vcvttps2\m ymm30{k7}{z}, ymm29{sae} - .endr - - .irp m, qq, uqq - vcvttps2\m ymm30, xmm29{sae} - vcvttps2\m ymm30{k7}, xmm29{sae} - vcvttps2\m ymm30{k7}{z}, xmm29{sae} - .endr - - .irp n, uw, w - vcvt\n\()2ph ymm30, ymm29{rn-sae} - vcvt\n\()2ph ymm30{k7}, ymm29{rd-sae} - vcvt\n\()2ph ymm30{k7}{z}, ymm29{rz-sae} - .endr diff --git a/gas/testsuite/gas/i386/x86-64-evex.d b/gas/testsuite/gas/i386/x86-64-evex.d index 6fb4bf8..68118d5 100644 --- a/gas/testsuite/gas/i386/x86-64-evex.d +++ b/gas/testsuite/gas/i386/x86-64-evex.d @@ -20,7 +20,5 @@ Disassembly of section .text: +[a-f0-9]+: 62 e1 7e 08 2d c0 vcvtss2si %xmm0,%r16d +[a-f0-9]+: 62 e1 7c 08 c2 c0 00 vcmpeqps %xmm0,%xmm0,\(bad\) +[a-f0-9]+: 62 f1 7e 38 e6 f5 vcvtdq2pd %ymm5,%zmm6 - +[a-f0-9]+: 62 f1 7a 38 e6 f5 vcvtdq2pd %xmm5,%ymm6 +[a-f0-9]+: 62 f1 7e 38 7a f5 vcvtudq2pd %ymm5,%zmm6 - +[a-f0-9]+: 62 f1 7a 38 7a f5 vcvtudq2pd %xmm5,%ymm6 #pass diff --git a/gas/testsuite/gas/i386/x86-64-pseudos.d b/gas/testsuite/gas/i386/x86-64-pseudos.d index ea5a358..5a43901 100644 --- a/gas/testsuite/gas/i386/x86-64-pseudos.d +++ b/gas/testsuite/gas/i386/x86-64-pseudos.d @@ -534,4 +534,36 @@ Disassembly of section .text: +[a-f0-9]+: 67 41 8a 45 00 mov 0x0\(%r13d\),%al +[a-f0-9]+: 67 41 8a 85 00 00 00 00 mov 0x0\(%r13d\),%al +[a-f0-9]+: 40 8a c1 rex mov %cl,%al + +[a-f0-9]+: 48 81 03 00 00 00 00 addq \$0x0,\(%rbx\) + +[a-f0-9]+: 48 81 03 ff 00 00 00 addq \$0xff,\(%rbx\) + +[a-f0-9]+: 81 03 00 00 00 00 addl \$0x0,\(%rbx\) + +[a-f0-9]+: 81 03 ff 00 00 00 addl \$0xff,\(%rbx\) + +[a-f0-9]+: 66 81 03 00 00 addw \$0x0,\(%rbx\) + +[a-f0-9]+: 66 81 03 ff 00 addw \$0xff,\(%rbx\) + +[a-f0-9]+: 80 03 00 addb \$0x0,\(%rbx\) + +[a-f0-9]+: 80 03 ff addb \$0xff,\(%rbx\) + +[a-f0-9]+: 48 81 c3 00 00 00 00 add \$0x0,%rbx + +[a-f0-9]+: 48 81 c3 ff 00 00 00 add \$0xff,%rbx + +[a-f0-9]+: 81 c3 00 00 00 00 add \$0x0,%ebx + +[a-f0-9]+: 81 c3 ff 00 00 00 add \$0xff,%ebx + +[a-f0-9]+: 66 81 c3 00 00 add \$0x0,%bx + +[a-f0-9]+: 66 81 c3 ff 00 add \$0xff,%bx + +[a-f0-9]+: 80 c3 00 add \$0x0,%bl + +[a-f0-9]+: 80 c3 ff add \$0xff,%bl + +[a-f0-9]+: 48 c7 03 00 00 00 00 movq \$0x0,\(%rbx\) + +[a-f0-9]+: 48 c7 03 ff 00 00 00 movq \$0xff,\(%rbx\) + +[a-f0-9]+: c7 03 00 00 00 00 movl \$0x0,\(%rbx\) + +[a-f0-9]+: c7 03 ff 00 00 00 movl \$0xff,\(%rbx\) + +[a-f0-9]+: 66 c7 03 00 00 movw \$0x0,\(%rbx\) + +[a-f0-9]+: 66 c7 03 ff 00 movw \$0xff,\(%rbx\) + +[a-f0-9]+: c6 03 00 movb \$0x0,\(%rbx\) + +[a-f0-9]+: c6 03 ff movb \$0xff,\(%rbx\) + +[a-f0-9]+: bb 00 00 00 00 mov \$0x0,%ebx + +[a-f0-9]+: bb ff 00 00 00 mov \$0xff,%ebx + +[a-f0-9]+: 66 bb 00 00 mov \$0x0,%bx + +[a-f0-9]+: 66 bb ff 00 mov \$0xff,%bx + +[a-f0-9]+: b3 00 mov \$0x0,%bl + +[a-f0-9]+: b3 ff mov \$0xff,%bl + +[a-f0-9]+: 48 c1 c3 ff rol \$0xff,%rbx + +[a-f0-9]+: c1 c3 ff rol \$0xff,%ebx #pass diff --git a/gas/testsuite/gas/i386/x86-64-pseudos.s b/gas/testsuite/gas/i386/x86-64-pseudos.s index 041f98e..3658f34 100644 --- a/gas/testsuite/gas/i386/x86-64-pseudos.s +++ b/gas/testsuite/gas/i386/x86-64-pseudos.s @@ -504,3 +504,37 @@ _start: {disp32} mov al, BYTE PTR [r13d] .insn {rex} 0x8a, al, cl + + .att_syntax prefix +{noimm8s} addq $0,(%rbx) +{noimm8s} addq $255,(%rbx) +{noimm8s} addl $0,(%rbx) +{noimm8s} addl $255,(%rbx) +{noimm8s} addw $0,(%rbx) +{noimm8s} addw $255,(%rbx) +{noimm8s} addb $0,(%rbx) +{noimm8s} addb $255,(%rbx) +{noimm8s} add $0,%rbx +{noimm8s} add $255,%rbx +{noimm8s} add $0,%ebx +{noimm8s} add $255,%ebx +{noimm8s} add $0,%bx +{noimm8s} add $255,%bx +{noimm8s} add $0,%bl +{noimm8s} add $255,%bl +{noimm8s} movq $0,(%rbx) +{noimm8s} movq $255,(%rbx) +{noimm8s} movl $0,(%rbx) +{noimm8s} movl $255,(%rbx) +{noimm8s} movw $0,(%rbx) +{noimm8s} movw $255,(%rbx) +{noimm8s} movb $0,(%rbx) +{noimm8s} movb $255,(%rbx) +{noimm8s} mov $0,%ebx +{noimm8s} mov $255,%ebx +{noimm8s} mov $0,%bx +{noimm8s} mov $255,%bx +{noimm8s} mov $0,%bl +{noimm8s} mov $255,%bl +{noimm8s} rol $255,%rbx +{noimm8s} rol $255,%ebx diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp index edacbaa..2a460c9 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -495,8 +495,6 @@ run_list_test "x86-64-user_msr-inval" run_dump_test "x86-64-msr_imm" run_dump_test "x86-64-msr_imm-intel" run_list_test "x86-64-msr_imm-inval" -run_dump_test "x86-64-avx10_2-rounding" -run_dump_test "x86-64-avx10_2-rounding-intel" run_dump_test "x86-64-avx10_2-evex-promote" run_dump_test "x86-64-avx10_2-512-media" run_dump_test "x86-64-avx10_2-512-media-intel" diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 8f6df5b..6203bcf 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -1912,8 +1912,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \ $(patsubst %.c,%.o,$(COMMON_SFILES)) \ $(SUBDIR_CLI_OBS) \ $(SUBDIR_MI_OBS) \ - $(SUBDIR_TARGET_OBS) \ - $(SUBDIR_GCC_COMPILE_OBS) + $(SUBDIR_TARGET_OBS) SUBDIRS = doc @subdirs@ data-directory CLEANDIRS = $(SUBDIRS) @@ -3,6 +3,10 @@ *** Changes since GDB 16 +* Debugger Adapter Protocol changes + + ** GDB now supports the "completions" request. + * "set style" commands now supports numeric format for basic colors from 0 to 255 and #RRGGBB format for TrueColor. @@ -108,6 +112,10 @@ qXfer:threads:read * Support for stabs debugging format and the a.out/dbx object format is deprecated, and will be removed in GDB 18. +* A new configure option was added, allowing support for the compile + subsystem to be disabled at configure time, in the form of + --disable-gdb-compile. + *** Changes in GDB 16 * Support for Nios II targets has been removed as this architecture @@ -442,6 +442,9 @@ more obscure GDB `configure' options are not listed here. Requires a curses library (ncurses and cursesX are also supported). +`--disable-gdb-compile' + Build GDB without support for the 'compile' command. + `--with-curses' Use the curses library instead of the termcap library, for text-mode terminal operations. diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index 0b4ae7f..c825699 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -2275,7 +2275,7 @@ aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number) SYSCALL_MAP (clone); SYSCALL_MAP (execve); - SYSCALL_MAP_RENAME (mmap, gdb_sys_mmap2); + SYSCALL_MAP_RENAME (mmap, gdb_sys_old_mmap); SYSCALL_MAP (fadvise64); SYSCALL_MAP (swapon); diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c index e290d2c..a7868c3 100644 --- a/gdb/amd64-linux-tdep.c +++ b/gdb/amd64-linux-tdep.c @@ -412,7 +412,7 @@ amd64_canonicalize_syscall (enum amd64_syscall syscall_number) case amd64_sys_mmap: case amd64_x32_sys_mmap: - return gdb_sys_mmap2; + return gdb_sys_old_mmap; case amd64_sys_mprotect: case amd64_x32_sys_mprotect: diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index 858705e..53c8a05 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -1361,8 +1361,8 @@ arm_canonicalize_syscall (int syscall) case 86: return gdb_sys_uselib; case 87: return gdb_sys_swapon; case 88: return gdb_sys_reboot; - case 89: return gdb_old_readdir; - case 90: return gdb_old_mmap; + case 89: return gdb_sys_old_readdir; + case 90: return gdb_sys_old_mmap; case 91: return gdb_sys_munmap; case 92: return gdb_sys_truncate; case 93: return gdb_sys_ftruncate; diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 3085ca1..0fb6fd9 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1535,6 +1535,11 @@ void breakpoint_set_commands (struct breakpoint *b, counted_command_line &&commands) { + /* If the commands have not changed then there's no need to update + anything, and no need to emit a breakpoint modified event. */ + if (commands_equal (b->commands.get (), commands.get ())) + return; + validate_commands_for_breakpoint (b, commands.get ()); b->commands = std::move (commands); @@ -3099,7 +3104,6 @@ insert_bp_location (struct bp_location *bl, || shared_objfile_contains_address_p (bl->pspace, bl->address))) { - /* See also: disable_breakpoints_in_shlibs. */ bl->shlib_disabled = 1; notify_breakpoint_modified (bl->owner); if (!*disabled_breaks) @@ -8079,44 +8083,19 @@ create_and_insert_solib_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR add return b; } -/* See breakpoint.h. */ - -void -disable_breakpoints_in_shlibs (program_space *pspace) -{ - for (bp_location *loc : all_bp_locations ()) - { - /* ALL_BP_LOCATIONS bp_location has LOC->OWNER always non-NULL. */ - struct breakpoint *b = loc->owner; - - /* We apply the check to all breakpoints, including disabled for - those with loc->duplicate set. This is so that when breakpoint - becomes enabled, or the duplicate is removed, gdb will try to - insert all breakpoints. If we don't set shlib_disabled here, - we'll try to insert those breakpoints and fail. */ - if (((b->type == bp_jit_event) - || is_breakpoint (b) - || is_tracepoint (b)) - && loc->pspace == pspace - && !loc->shlib_disabled - && solib_name_from_address (loc->pspace, loc->address) - ) - { - loc->shlib_disabled = 1; - } - } -} - /* Disable any breakpoints and tracepoints that are in SOLIB upon notification of unloaded_shlib. Only apply to enabled breakpoints, disabled ones can just stay disabled. When STILL_IN_USE is true, SOLIB hasn't really been unmapped from - the inferior. In this case, don't disable anything. */ + the inferior. In this case, don't disable anything. + + When SILENT is false notify the user if any breakpoints are disabled, + otherwise, still disable the breakpoints, but don't tell the user. */ static void disable_breakpoints_in_unloaded_shlib (program_space *pspace, const solib &solib, - bool still_in_use) + bool still_in_use, bool silent) { if (still_in_use) return; @@ -8160,7 +8139,7 @@ disable_breakpoints_in_unloaded_shlib (program_space *pspace, const solib &solib bp_modified = true; - if (!disabled_shlib_breaks && user_breakpoint_p (&b)) + if (!disabled_shlib_breaks && !silent && user_breakpoint_p (&b)) { target_terminal::ours_for_output (); warning (_("Temporarily disabling breakpoints " diff --git a/gdb/bsd-uthread.c b/gdb/bsd-uthread.c index 67db0ca..129e7a6 100644 --- a/gdb/bsd-uthread.c +++ b/gdb/bsd-uthread.c @@ -295,7 +295,7 @@ bsd_uthread_solib_loaded (solib &so) static void bsd_uthread_solib_unloaded (program_space *pspace, const solib &so, - bool still_in_use) + bool still_in_use, bool /* silent */) { if (bsd_uthread_solib_name.empty () || still_in_use) return; diff --git a/gdb/c-lang.c b/gdb/c-lang.c index c28493f..5592234 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -807,22 +807,6 @@ public: } /* See language.h. */ - std::unique_ptr<compile_instance> get_compile_instance () const override - { - return c_get_compile_context (); - } - - /* See language.h. */ - std::string compute_program (compile_instance *inst, - const char *input, - struct gdbarch *gdbarch, - const struct block *expr_block, - CORE_ADDR expr_pc) const override - { - return c_compute_program (inst, input, gdbarch, expr_block, expr_pc); - } - - /* See language.h. */ bool can_print_type_offsets () const override { @@ -943,22 +927,6 @@ public: } /* See language.h. */ - std::unique_ptr<compile_instance> get_compile_instance () const override - { - return cplus_get_compile_context (); - } - - /* See language.h. */ - std::string compute_program (compile_instance *inst, - const char *input, - struct gdbarch *gdbarch, - const struct block *expr_block, - CORE_ADDR expr_pc) const override - { - return cplus_compute_program (inst, input, gdbarch, expr_block, expr_pc); - } - - /* See language.h. */ unsigned int search_name_hash (const char *name) const override { return cp_search_name_hash (name); diff --git a/gdb/c-lang.h b/gdb/c-lang.h index 0e733d8..06b7ad0 100644 --- a/gdb/c-lang.h +++ b/gdb/c-lang.h @@ -25,7 +25,6 @@ struct ui_file; struct language_arch_info; struct type_print_options; struct parser_state; -struct compile_instance; #include "compile/compile.h" #include "value.h" @@ -132,43 +131,6 @@ extern bool c_is_string_type_p (struct type *type); extern int c_textual_element_type (struct type *, char); -/* Create a new instance of the C compiler and return it. This - function never returns NULL, but rather throws an exception on - failure. This is suitable for use as the - language_defn::get_compile_instance method. */ - -extern std::unique_ptr<compile_instance> c_get_compile_context (); - -/* Create a new instance of the C++ compiler and return it. This - function never returns NULL, but rather throws an exception on - failure. This is suitable for use as the - language_defn::get_compile_instance method. */ - -extern std::unique_ptr<compile_instance> cplus_get_compile_context (); - -/* This takes the user-supplied text and returns a new bit of code to - compile. - - This is used as the compute_program language method; see that - for a description of the arguments. */ - -extern std::string c_compute_program (compile_instance *inst, - const char *input, - struct gdbarch *gdbarch, - const struct block *expr_block, - CORE_ADDR expr_pc); - -/* This takes the user-supplied text and returns a new bit of code to compile. - - This is used as the compute_program language method; see that - for a description of the arguments. */ - -extern std::string cplus_compute_program (compile_instance *inst, - const char *input, - struct gdbarch *gdbarch, - const struct block *expr_block, - CORE_ADDR expr_pc); - /* Return the canonical form of the C symbol NAME. If NAME is already canonical, return nullptr. */ diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c index 5decf3b..0337d01 100644 --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -660,9 +660,13 @@ execute_control_command_1 (struct command_line *cmd, int from_tty) } case compile_control: +#if defined(HAVE_COMPILE) eval_compile_command (cmd, NULL, cmd->control_u.compile.scope, cmd->control_u.compile.scope_data); ret = simple_control; +#else + error (_("compile support has not been compiled into gdb")); +#endif break; case define_control: @@ -1621,6 +1625,65 @@ define_prefix_command (const char *comname, int from_tty) c->allow_unknown = c->user_commands.get () != nullptr; } +/* See cli/cli-script.h. */ + +bool +commands_equal (const command_line *a, const command_line *b) +{ + if ((a == nullptr) != (b == nullptr)) + return false; + + while (a != nullptr) + { + /* We are either at the end of both command lists, or there's + another command in both lists. */ + if ((a->next == nullptr) != (b->next == nullptr)) + return false; + + /* There's a command line for both, or neither. */ + if ((a->line == nullptr) != (b->line == nullptr)) + return false; + + /* Check control_type matches. */ + if (a->control_type != b->control_type) + return false; + + if (a->control_type == compile_control) + { + if (a->control_u.compile.scope != b->control_u.compile.scope) + return false; + + /* This is where we "fail safe". The scope_data is a 'void *' + pointer which changes in meaning based on the value of + 'scope'. It is possible that two different 'void *' pointers + could point to the equal scope data, however, we just assume + that if the pointers are different, then the scope_data is + different. This could be improved in the future. */ + if (a->control_u.compile.scope_data + != b->control_u.compile.scope_data) + return false; + } + + /* Check lines are identical. */ + if (a->line != nullptr && strcmp (a->line, b->line) != 0) + return false; + + /* Check body_list_0. */ + if (!commands_equal (a->body_list_0.get (), b->body_list_0.get ())) + return false; + + /* Check body_list_1. */ + if (!commands_equal (a->body_list_1.get (), b->body_list_1.get ())) + return false; + + /* Move to the next element in each chain. */ + a = a->next; + b = b->next; + } + + return true; +} + /* Used to implement source_command. */ diff --git a/gdb/cli/cli-script.h b/gdb/cli/cli-script.h index df7316e..23a1e1f 100644 --- a/gdb/cli/cli-script.h +++ b/gdb/cli/cli-script.h @@ -184,4 +184,14 @@ extern void print_command_trace (const char *cmd, ...) extern void reset_command_nest_depth (void); +/* Return true if A and B are identical. Some commands carry around a + 'void *' compilation context, in this case this function doesn't try to + validate if the context is actually the same or not, and will just + return false indicating the commands have changed. That is, a return + value of true is a guarantee that the commands are equal, a return + value of false means the commands are possibly different (and in most + cases are different). */ + +extern bool commands_equal (const command_line *a, const command_line *b); + #endif /* GDB_CLI_CLI_SCRIPT_H */ diff --git a/gdb/compile/compile-internal.h b/gdb/compile/compile-internal.h index f4cc9ee..789782d 100644 --- a/gdb/compile/compile-internal.h +++ b/gdb/compile/compile-internal.h @@ -80,4 +80,43 @@ private: std::string m_object_file; }; +struct compile_instance; + +/* Create a new instance of the C compiler and return it. This + function never returns NULL, but rather throws an exception on + failure. This is suitable for use as the + language_defn::get_compile_instance method. */ + +extern std::unique_ptr<compile_instance> c_get_compile_context (); + +/* Create a new instance of the C++ compiler and return it. This + function never returns NULL, but rather throws an exception on + failure. This is suitable for use as the + language_defn::get_compile_instance method. */ + +extern std::unique_ptr<compile_instance> cplus_get_compile_context (); + +/* This takes the user-supplied text and returns a new bit of code to + compile. + + This is used as the compute_program language method; see that + for a description of the arguments. */ + +extern std::string c_compute_program (compile_instance *inst, + const char *input, + struct gdbarch *gdbarch, + const struct block *expr_block, + CORE_ADDR expr_pc); + +/* This takes the user-supplied text and returns a new bit of code to compile. + + This is used as the compute_program language method; see that + for a description of the arguments. */ + +extern std::string cplus_compute_program (compile_instance *inst, + const char *input, + struct gdbarch *gdbarch, + const struct block *expr_block, + CORE_ADDR expr_pc); + #endif /* GDB_COMPILE_COMPILE_INTERNAL_H */ diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c index d6bcc1f..01f43ad 100644 --- a/gdb/compile/compile.c +++ b/gdb/compile/compile.c @@ -46,16 +46,17 @@ #include "gdbsupport/scoped_ignore_signal.h" #include "gdbsupport/buildargv.h" +/* Hold "compile" commands. */ + +static struct cmd_list_element *compile_command_list; + +#ifdef HAVE_COMPILE /* Initial filename for temporary files. */ #define TMP_PREFIX "/tmp/gdbobj-" -/* Hold "compile" commands. */ - -static struct cmd_list_element *compile_command_list; - /* Debug flag for "compile" commands. */ bool compile_debug; @@ -527,6 +528,41 @@ print_callback (void *ignore, const char *message) gdb_puts (message, gdb_stderr); } +/* Helper for compile_to_object, to find the compile context + based on the current language. */ +static std::unique_ptr<compile_instance> +get_language_compile_context () +{ + switch (current_language->la_language) + { + case language_c: + return c_get_compile_context (); + case language_cplus: + return cplus_get_compile_context (); + default: + return {}; + } +} + +/* Helper for compile_to_object, to call the correct + compute_program based on the current language. */ +static std::string +compute_program_language (compile_instance *inst, const char *input, + struct gdbarch *gdbarch, + const struct block *block, + CORE_ADDR pc) +{ + switch (current_language->la_language) + { + case language_c: + return c_compute_program (inst, input, gdbarch, block, pc); + case language_cplus: + return cplus_compute_program (inst, input, gdbarch, block, pc); + default: + gdb_assert_not_reached ("Unsupported language"); + } +} + /* Process the compilation request. On success it returns the object and source file names. On an error condition, error () is called. */ @@ -550,7 +586,8 @@ compile_to_object (struct command_line *cmd, const char *cmd_string, /* Set up instance and context for the compiler. */ std::unique_ptr<compile_instance> compiler - = current_language->get_compile_instance (); + = get_language_compile_context (); + if (compiler == nullptr) error (_("No compiler support for language %s."), current_language->name ()); @@ -582,8 +619,8 @@ compile_to_object (struct command_line *cmd, const char *cmd_string, error (_("Neither a simple expression, or a multi-line specified.")); std::string code - = current_language->compute_program (compiler.get (), input, gdbarch, - expr_block, expr_pc); + = compute_program_language (compiler.get (), input, gdbarch, + expr_block, expr_pc); if (compile_debug) gdb_printf (gdb_stdlog, "debug output:\n\n%s", code.c_str ()); @@ -816,6 +853,18 @@ compile_instance::compile (const char *filename, int verbose_level) #undef FORWARD +#else /* HAVE_COMPILE */ + +/* The "compile" prefix command, when support was disabled. */ + +static void +compile_command (const char *args, int from_tty) +{ + error (_("This command is not supported.")); +} + +#endif /* HAVE_COMPILE */ + /* See compile.h. */ cmd_list_element *compile_cmd_element = nullptr; @@ -823,14 +872,25 @@ void _initialize_compile (); void _initialize_compile () { - struct cmd_list_element *c = NULL; - compile_cmd_element = add_prefix_cmd ("compile", class_obscure, - compile_command, _("\ + compile_command, +#ifdef HAVE_COMPILE + _("\ Command to compile source code and inject it into the inferior."), +#else /* HAVE_COMPILE */ + _("\ +Command to compile source code and inject it into the inferior.\n\ +\n\ +Code compilation and injection is not supported in this copy of GDB.\n\ +This command is only a placeholder."), +#endif /* HAVE_COMPILE */ &compile_command_list, 1, &cmdlist); add_com_alias ("expression", compile_cmd_element, class_obscure, 0); +#ifdef HAVE_COMPILE + + struct cmd_list_element *c = NULL; + const auto compile_opts = make_compile_options_def_group (nullptr); static const std::string compile_code_help @@ -937,4 +997,5 @@ It should be absolute filename of the gcc executable.\n\ If empty the default target triplet will be searched in $PATH."), NULL, show_compile_gcc, &setlist, &showlist); +#endif /* HAVE_COMPILE */ } diff --git a/gdb/config.in b/gdb/config.in index db63aea..86ff67d 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -104,6 +104,9 @@ the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE +/* Define if compiling support to gdb compile. */ +#undef HAVE_COMPILE + /* Define to 1 if you have the <cursesX.h> header file. */ #undef HAVE_CURSESX_H diff --git a/gdb/configure b/gdb/configure index 3080413..e8a649f 100755 --- a/gdb/configure +++ b/gdb/configure @@ -956,6 +956,7 @@ with_libexpat_type with_python with_python_libdir with_guile +enable_gdb_compile enable_source_highlight with_sysroot with_system_gdbinit @@ -1650,6 +1651,8 @@ Optional Features: --enable-gdbtk enable gdbtk graphical user interface (GUI) --enable-profiling enable profiling of GDB --enable-codesign=CERT sign gdb with 'codesign -s CERT' + --enable-gdb-compile enable support for the compile subsystem, default + 'yes' --enable-source-highlight enable source-highlight for source listings --enable-werror treat compile warnings as errors @@ -11500,7 +11503,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11503 "configure" +#line 11506 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11606,7 +11609,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11609 "configure" +#line 11612 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -28969,6 +28972,38 @@ fi # ---------------------------- # +# Check for compile support. # +# ---------------------------- # + +# Check whether --enable-gdb-compile was given. +if test "${enable_gdb_compile+set}" = set; then : + enableval=$enable_gdb_compile; + case $enableval in + yes | no) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-gdb-compile" "$LINENO" 5 + ;; + esac + +else + enable_gdb_compile=yes +fi + + +if test "${enable_gdb_compile}" == yes; then + +$as_echo "#define HAVE_COMPILE 1" >>confdefs.h + + CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_GCC_COMPILE_OBS)" +else + # Even if compile support is not enabled, we need this file to define + # the "compile" command. + CONFIG_OBS="$CONFIG_OBS compile/compile.o" + CONFIG_SRCS="$CONFIG_SRCS compile/compile.c" +fi + +# ---------------------------- # # Check for source highlight. # # ---------------------------- # diff --git a/gdb/configure.ac b/gdb/configure.ac index eafbf5a..2411b10 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1222,6 +1222,26 @@ AC_SUBST(GUILE_LIBS) AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no) # ---------------------------- # +# Check for compile support. # +# ---------------------------- # + +AC_ARG_ENABLE([gdb-compile], + AS_HELP_STRING([--enable-gdb-compile], + [enable support for the compile subsystem, default 'yes']), + [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdb-compile])], + [enable_gdb_compile=yes]) + +if test "${enable_gdb_compile}" == yes; then + AC_DEFINE(HAVE_COMPILE, 1, [Define if compiling support to gdb compile.]) + CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_GCC_COMPILE_OBS)" +else + # Even if compile support is not enabled, we need this file to define + # the "compile" command. + CONFIG_OBS="$CONFIG_OBS compile/compile.o" + CONFIG_SRCS="$CONFIG_SRCS compile/compile.c" +fi + +# ---------------------------- # # Check for source highlight. # # ---------------------------- # diff --git a/gdb/contrib/codespell-ignore-words.txt b/gdb/contrib/codespell-ignore-words.txt index a8287f7..2d6e13a 100644 --- a/gdb/contrib/codespell-ignore-words.txt +++ b/gdb/contrib/codespell-ignore-words.txt @@ -1,3 +1,2 @@ configury -invokable -useable +SME diff --git a/gdb/contrib/common-misspellings.txt b/gdb/contrib/common-misspellings.txt deleted file mode 100644 index 5772f66..0000000 --- a/gdb/contrib/common-misspellings.txt +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2024 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# This file contains additions to and overrides for -# wikipedia-common-misspellings.txt. - -# Common spelling mistakes. - -inbetween->between, in between, in-between -sofar->so far -doens't->doesn't -behavour->behavior -behaviour->behavior -arrithemetic->arithmetic -electricaly->electrically - -# Identity rules. - -thru->thru diff --git a/gdbserver/setup.cfg b/gdb/contrib/setup.cfg index 08646b8..71459fe 100644 --- a/gdbserver/setup.cfg +++ b/gdb/contrib/setup.cfg @@ -1,4 +1,6 @@ [codespell] + # Skip ChangeLogs and generated files. -skip = ChangeLog*,configure +skip = */ChangeLog*,*/configure,gdbsupport/Makefile.in + ignore-words = gdb/contrib/codespell-ignore-words.txt diff --git a/gdb/contrib/spellcheck.sh b/gdb/contrib/spellcheck.sh deleted file mode 100755 index 420891f..0000000 --- a/gdb/contrib/spellcheck.sh +++ /dev/null @@ -1,536 +0,0 @@ -#!/bin/bash - -# Copyright (C) 2024 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Script to auto-correct common spelling mistakes. -# -# Example usage: -# $ ./gdb/contrib/spellcheck.sh gdb* - -scriptdir=$(cd "$(dirname "$0")" || exit; pwd -P) -this_script=$scriptdir/$(basename "$0") - -url=https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines -cache_dir=$scriptdir/../../.git -cache_file=wikipedia-common-misspellings.txt -dictionary=$cache_dir/$cache_file -local_dictionary=$scriptdir/common-misspellings.txt -cache_file2=spell-check.pat1 - -bash_version_at_least () -{ - local major - major="$1" - local minor - minor="$2" - - if [ "$bash_major" = "" ]; then - bash_major=$(echo "$BASH_VERSION" | awk -F '.' '{print $1}') - bash_minor=$(echo "$BASH_VERSION" | awk -F '.' '{print $2}') - fi - - if [ "$bash_major" -lt "$major" ]; then - # Major version less then required, return false. - return 1 - fi - - if [ "$bash_major" -gt "$major" ]; then - # Major version more then required, return true. - return 0 - fi - - # Check minor version. - [ "$bash_minor" -ge "$minor" ] -} - -# Separators: space, slash, tab, colon, comma. -declare -a grep_separators -grep_separators=( - " " - "/" - " " - ":" - "," - "\"" -) -declare -a sed_separators -sed_separators=( - " " - "/" - "\t" - ":" - "," - "\"" -) - -# Pre: start of line, left parenthesis. -declare -a grep_pre -grep_pre=( - "^" - "\(" -) -declare -a sed_pre -sed_pre=( - "^" - "(" -) - -# Post: dot, right parenthesis, end of line. -declare -a grep_post -grep_post=( - "\." - "\)" - "$" -) -declare -a sed_post -sed_post=( - "\." - ")" - "$" -) - -join () -{ - local or - or="$1" - shift - - local res - res="" - - local first - first=true - - for item in "$@"; do - if $first; then - first=false - res="$item" - else - res="$res$or$item" - fi - done - - echo "$res" -} - -grep_or="|" -sed_or="\|" - -grep_join () -{ - local res - res=$(join $grep_or "$@") - echo "($res)" -} - -sed_join () -{ - local res - res=$(join $sed_or "$@") - echo "\($res\)" -} - -usage () -{ - echo "usage: $(basename "$0") [--check] <file|dir>+" - echo " $(basename "$0") --print-dictionary" -} - -make_absolute () -{ - local arg - arg="$1" - - case "$arg" in - /*) - ;; - *) - arg=$(pwd -P)/"$arg" - ;; - esac - - echo "$arg" -} - -parse_args () -{ - local files - files=$(mktemp) - trap 'rm -f "$files"' EXIT - - if [ $# -eq 1 ] && [ "$1" = "--print-dictionary" ]; then - print_dictionary=true - return - fi - - while true; do - case " $1 " in - " --check ") - check=true - shift - ;; - *) - break - ;; - esac - done - - if [ $# -eq -0 ]; then - usage - exit 1 - fi - - local arg - for arg in "$@"; do - if [ -f "$arg" ]; then - arg=$(make_absolute "$arg") - readlink -e "$arg" \ - >> "$files" - elif [ -d "$arg" ]; then - arg=$(make_absolute "$arg") - local f - find "$arg" -type f -exec readlink -e {} \; \ - >> "$files" - else - echo "Not a file or directory: $arg" - exit 1 - fi - done - - mapfile -t unique_files \ - < <(sort -u "$files" \ - | grep -v ChangeLog) - - rm -f "$files" - trap "" EXIT -} - -get_dictionary () -{ - if [ -f "$dictionary" ]; then - return - fi - - local webpage - webpage=$(mktemp) - trap 'rm -f "$webpage"' EXIT - - # Download web page containing table. - wget $url -O "$webpage" - - # Extract table from web page. - awk '/<pre>/,/<\/pre>/' "$webpage" \ - | sed 's/<pre>//;s/<\/pre>//' \ - | grep -E -v "^$" \ - > "$dictionary" - - rm -f "$webpage" - trap "" EXIT -} - -output_local_dictionary () -{ - # Filter out comments and empty lines. - grep -E -v \ - "^#|^$" \ - "$local_dictionary" -} - -output_dictionaries () -{ - ( - output_local_dictionary - cat "$dictionary" - ) | grep -E -v "[A-Z]" -} - -parse_dictionary () -{ - # Parse dictionary. - mapfile -t words \ - < <(awk -F '->' '{print $1}' <(output_dictionaries)) - mapfile -t replacements \ - < <(awk -F '->' '{print $2}' <(output_dictionaries)) - - local words_done - declare -A words_done - local i word replacement - i=0 - for word in "${words[@]}"; do - replacement=${replacements[i]} - - # Skip words that are already handled. This ensures that the local - # dictionary overrides the wiki dictionary. - if [ "${words_done[$word]}" == 1 ]; then - words[i]="" - replacements[i]="" - i=$((i + 1)) - continue - fi - words_done[$word]=1 - - # Skip identity rules. - if [ "$word" = "$replacement" ]; then - words[i]="" - replacements[i]="" - fi - - i=$((i + 1)) - done -} - -print_dictionary () -{ - local i word replacement - i=0 - for word in "${words[@]}"; do - replacement=${replacements[i]} - i=$((i + 1)) - - if [ "$word" == "" ]; then - continue - fi - - echo "$word -> $replacement" - done -} - -find_files_matching_words () -{ - local cache_id - cache_id=$(cat "$local_dictionary" "$dictionary" "$this_script" \ - | md5sum \ - | awk '{print $1}') - - local patfile - patfile="$cache_dir/$cache_file2".$cache_id - - local pat - if [ -f "$patfile" ]; then - pat=$(cat "$patfile") - else - rm -f "$cache_dir/$cache_file2".* - - declare -a re_words - mapfile -t re_words \ - < <(for f in "${words[@]}"; do - if [ "$f" = "" ]; then - continue - fi - echo "$f" - done \ - | sed "s/^\(.\)/[\u\1\1]/") - - pat=$(grep_join "${re_words[@]}") - - local before after - before=$(grep_join \ - "${grep_pre[@]}" \ - "${grep_separators[@]}") - after=$(grep_join \ - "${grep_separators[@]}" \ - "${grep_post[@]}") - - pat="$before$pat$after" - - echo "$pat" \ - > "$patfile" - fi - - grep -E \ - -l \ - "$pat" \ - "$@" -} - -find_files_matching_word () -{ - local pat - pat="$1" - shift - - local before after - before=$(grep_join \ - "${grep_pre[@]}" \ - "${grep_separators[@]}") - after=$(grep_join \ - "${grep_separators[@]}" \ - "${grep_post[@]}") - - if bash_version_at_least 5 1; then - patc=${pat@u} - else - # shellcheck disable=SC2001 - patc=$(echo "$pat" | sed 's/^\(.\)/\u\1/') - fi - pat="($patc|$pat)" - - pat="$before$pat$after" - - grep -E \ - -l \ - "$pat" \ - "$@" -} - -replace_word_in_file () -{ - local word - word="$1" - - local replacement - replacement="$2" - - local file - file="$3" - - local before after - before=$(sed_join \ - "${sed_pre[@]}" \ - "${sed_separators[@]}") - after=$(sed_join \ - "${sed_separators[@]}" \ - "${sed_post[@]}") - - if bash_version_at_least 5 1; then - wordc=${word@u} - replacementc=${replacement@u} - else - # shellcheck disable=SC2001 - wordc=$(echo "$word" | sed 's/^\(.\)/\u\1/') - # shellcheck disable=SC2001 - replacementc=$(echo "$replacement" | sed 's/^\(.\)/\u\1/') - fi - - local repl1 - local repl2 - repl1="s%$before$word$after%\1$replacement\2%g" - repl2="s%$before$wordc$after%\1$replacementc\2%g" - - sed -i \ - "$repl1;$repl2" \ - "$file" -} - -replace_word_in_files () -{ - local word - word="$1" - - local replacement - replacement="$2" - - shift 2 - - local id - id="$word -> $replacement" - - # Reduce set of files for sed to operate on. - local files_matching_word - declare -a files_matching_word - mapfile -t files_matching_word \ - < <(find_files_matching_word "$word" "$@") - - if [ ${#files_matching_word[@]} -eq 0 ]; then - return - fi - - if echo "$replacement"| grep -q ","; then - echo "TODO: $id" - return - fi - - declare -A md5sums - - local changed f before after - changed=false - for f in "${files_matching_word[@]}"; do - if [ "${md5sums[$f]}" = "" ]; then - md5sums[$f]=$(md5sum "$f") - fi - - before="${md5sums[$f]}" - - replace_word_in_file \ - "$word" \ - "$replacement" \ - "$f" - - after=$(md5sum "$f") - - if [ "$after" != "$before" ]; then - md5sums[$f]="$after" - changed=true - fi - done - - if $changed; then - echo "$id" - fi - - find_files_matching_word "$word" "${files_matching_word[@]}" \ - | awk "{ printf \"TODO: $id: replacement failed: %s\n\", \$0}" -} - -main () -{ - declare -a unique_files - check=false - print_dictionary=false - parse_args "$@" - - get_dictionary - - declare -a words - declare -a replacements - parse_dictionary - - if $print_dictionary; then - print_dictionary - exit 0 - fi - - # Reduce set of files for sed to operate on. - local files_matching_words - declare -a files_matching_words - mapfile -t files_matching_words \ - < <(find_files_matching_words "${unique_files[@]}") - - if [ ${#files_matching_words[@]} -eq 0 ]; then - return - fi - - if $check; then - exit 1 - fi - - local i word replacement - i=0 - for word in "${words[@]}"; do - replacement=${replacements[i]} - i=$((i + 1)) - - if [ "$word" = "" ]; then - continue - fi - - replace_word_in_files \ - "$word" \ - "$replacement" \ - "${files_matching_words[@]}" - done -} - -main "$@" diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in index 287dc7f..c08a68d 100644 --- a/gdb/data-directory/Makefile.in +++ b/gdb/data-directory/Makefile.in @@ -97,6 +97,7 @@ PYTHON_FILE_LIST = \ gdb/command/xmethods.py \ gdb/dap/breakpoint.py \ gdb/dap/bt.py \ + gdb/dap/completions.py \ gdb/dap/disassemble.py \ gdb/dap/evaluate.py \ gdb/dap/events.py \ diff --git a/gdb/dwarf2/cooked-indexer.c b/gdb/dwarf2/cooked-indexer.c index 3b80cd6..789fdb5 100644 --- a/gdb/dwarf2/cooked-indexer.c +++ b/gdb/dwarf2/cooked-indexer.c @@ -109,7 +109,7 @@ cooked_indexer::ensure_cu_exists (cutu_reader *reader, cutu_reader *result = m_index_storage->get_reader (per_cu); if (result == nullptr) { - cutu_reader new_reader (per_cu, per_objfile, nullptr, nullptr, false, + cutu_reader new_reader (*per_cu, *per_objfile, nullptr, nullptr, false, language_minimal, &m_index_storage->get_abbrev_table_cache ()); diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c index 7c12c0d..8f66694 100644 --- a/gdb/dwarf2/loc.c +++ b/gdb/dwarf2/loc.c @@ -1784,6 +1784,7 @@ dwarf2_compile_property_to_c (string_file *stream, CORE_ADDR pc, struct symbol *sym) { +#if defined (HAVE_COMPILE) const dwarf2_property_baton *baton = prop->baton (); const gdb_byte *data; size_t size; @@ -1810,6 +1811,9 @@ dwarf2_compile_property_to_c (string_file *stream, gdbarch, registers_used, per_cu->addr_size (), data, data + size, per_cu, per_objfile); +#else + gdb_assert_not_reached ("Compile support was disabled"); +#endif } /* Compute the correct symbol_needs_kind value for the location @@ -3852,6 +3856,7 @@ locexpr_generate_c_location (struct symbol *sym, string_file *stream, std::vector<bool> ®isters_used, CORE_ADDR pc, const char *result_name) { +#if defined (HAVE_COMPILE) struct dwarf2_locexpr_baton *dlbaton = (struct dwarf2_locexpr_baton *) SYMBOL_LOCATION_BATON (sym); unsigned int addr_size = dlbaton->per_cu->addr_size (); @@ -3863,6 +3868,9 @@ locexpr_generate_c_location (struct symbol *sym, string_file *stream, sym, pc, gdbarch, registers_used, addr_size, dlbaton->data, dlbaton->data + dlbaton->size, dlbaton->per_cu, dlbaton->per_objfile); +#else + gdb_assert_not_reached ("Compile support was disabled"); +#endif } /* The set of location functions used with the DWARF-2 expression @@ -4088,6 +4096,7 @@ loclist_generate_c_location (struct symbol *sym, string_file *stream, std::vector<bool> ®isters_used, CORE_ADDR pc, const char *result_name) { +#if defined (HAVE_COMPILE) struct dwarf2_loclist_baton *dlbaton = (struct dwarf2_loclist_baton *) SYMBOL_LOCATION_BATON (sym); unsigned int addr_size = dlbaton->per_cu->addr_size (); @@ -4103,6 +4112,9 @@ loclist_generate_c_location (struct symbol *sym, string_file *stream, data, data + size, dlbaton->per_cu, dlbaton->per_objfile); +#else + gdb_assert_not_reached ("Compile support was disabled"); +#endif } /* The set of location functions used with the DWARF-2 expression diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index ff4f388..3d7b6dd 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -1791,7 +1791,7 @@ dw2_get_file_names (dwarf2_per_cu *this_cu, dwarf2_per_objfile *per_objfile) if (this_cu->files_read) return this_cu->file_names; - cutu_reader reader (this_cu, per_objfile, nullptr, + cutu_reader reader (*this_cu, *per_objfile, nullptr, per_objfile->get_cu (this_cu), true, language_minimal, nullptr); if (!reader.is_dummy ()) @@ -2866,8 +2866,12 @@ lookup_dwo_id (struct dwarf2_cu *cu, struct die_info* comp_unit_die) } /* Subroutine of cutu_reader to simplify it. - Look up the DWO unit specified by COMP_UNIT_DIE of THIS_CU. - Returns NULL if the specified DWO unit cannot be found. */ + Look up the DWO unit specified by COMP_UNIT_DIE of CU. + + DWO_NAME is the name (DW_AT_dwo_name) of the DWO unit already read from + COMP_UNIT_DIE. + + Returns nullptr if the specified DWO unit cannot be found. */ static struct dwo_unit * lookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die, const char *dwo_name) @@ -2885,8 +2889,6 @@ lookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die, const char *dwo_name) gdb_assert (cu != NULL); - /* Yeah, we look dwo_name up again, but it simplifies the code. */ - dwo_name = dwarf2_dwo_name (comp_unit_die, cu); comp_dir = dwarf2_string_attr (comp_unit_die, DW_AT_comp_dir, cu); if (per_cu->is_debug_types) @@ -2962,16 +2964,16 @@ cutu_reader::init_tu_and_read_dwo_dies (dwarf2_per_cu *this_cu, If EXISTING_CU is non-NULL, then use it. Otherwise, a new CU is allocated. */ -cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, +cutu_reader::cutu_reader (dwarf2_per_cu &this_cu, + dwarf2_per_objfile &per_objfile, const struct abbrev_table *abbrev_table, dwarf2_cu *existing_cu, bool skip_partial, enum language pretend_language, const abbrev_table_cache *cache) { - struct objfile *objfile = per_objfile->objfile; - struct dwarf2_section_info *section = this_cu->section; + struct objfile *objfile = per_objfile.objfile; + struct dwarf2_section_info *section = this_cu.section; bfd *abfd = section->get_bfd_owner (); const gdb_byte *begin_info_ptr; struct signatured_type *sig_type = NULL; @@ -2983,17 +2985,17 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, if (dwarf_die_debug) gdb_printf (gdb_stdlog, "Reading %s unit at offset %s\n", - this_cu->is_debug_types ? "type" : "comp", - sect_offset_str (this_cu->sect_off)); + this_cu.is_debug_types ? "type" : "comp", + sect_offset_str (this_cu.sect_off)); /* If we're reading a TU directly from a DWO file, including a virtual DWO file (instead of going through the stub), short-circuit all of this. */ - if (this_cu->reading_dwo_directly) + if (this_cu.reading_dwo_directly) { /* Narrow down the scope of possibilities to have to understand. */ - gdb_assert (this_cu->is_debug_types); + gdb_assert (this_cu.is_debug_types); gdb_assert (abbrev_table == NULL); - init_tu_and_read_dwo_dies (this_cu, per_objfile, existing_cu, + init_tu_and_read_dwo_dies (&this_cu, &per_objfile, existing_cu, pretend_language); return; } @@ -3002,9 +3004,9 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, section->read (objfile); begin_info_ptr = m_info_ptr - = section->buffer + to_underlying (this_cu->sect_off); + = section->buffer + to_underlying (this_cu.sect_off); - abbrev_section = get_abbrev_section_for_cu (this_cu); + abbrev_section = get_abbrev_section_for_cu (&this_cu); dwarf2_cu *cu; @@ -3029,8 +3031,8 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, is irrelevant, and (2) the get_cu method is not thread-safe. */ gdb_assert (cache != nullptr - || per_objfile->get_cu (this_cu) == nullptr); - m_new_cu = std::make_unique<dwarf2_cu> (this_cu, per_objfile); + || per_objfile.get_cu (&this_cu) == nullptr); + m_new_cu = std::make_unique<dwarf2_cu> (&this_cu, &per_objfile); cu = m_new_cu.get (); } @@ -3042,43 +3044,43 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, } else { - if (this_cu->is_debug_types) + if (this_cu.is_debug_types) { m_info_ptr - = read_and_check_comp_unit_head (per_objfile, &cu->header, section, + = read_and_check_comp_unit_head (&per_objfile, &cu->header, section, abbrev_section, m_info_ptr, rcuh_kind::TYPE); /* Since per_cu is the first member of struct signatured_type, we can go from a pointer to one to a pointer to the other. */ - sig_type = (struct signatured_type *) this_cu; + sig_type = (struct signatured_type *) &this_cu; gdb_assert (sig_type->signature == cu->header.signature); gdb_assert (sig_type->type_offset_in_tu == cu->header.type_cu_offset_in_tu); - gdb_assert (this_cu->sect_off == cu->header.sect_off); + gdb_assert (this_cu.sect_off == cu->header.sect_off); /* LENGTH has not been set yet for type units if we're using .gdb_index. */ - this_cu->set_length (cu->header.get_length_with_initial ()); + this_cu.set_length (cu->header.get_length_with_initial ()); /* Establish the type offset that can be used to lookup the type. */ sig_type->type_offset_in_section = - this_cu->sect_off + to_underlying (sig_type->type_offset_in_tu); + this_cu.sect_off + to_underlying (sig_type->type_offset_in_tu); } else { m_info_ptr - = read_and_check_comp_unit_head (per_objfile, &cu->header, section, + = read_and_check_comp_unit_head (&per_objfile, &cu->header, section, abbrev_section, m_info_ptr, rcuh_kind::COMPILE); - gdb_assert (this_cu->sect_off == cu->header.sect_off); - this_cu->set_length (cu->header.get_length_with_initial ()); + gdb_assert (this_cu.sect_off == cu->header.sect_off); + this_cu.set_length (cu->header.get_length_with_initial ()); } } /* Skip dummy compilation units. */ - if (m_info_ptr >= begin_info_ptr + this_cu->length () + if (m_info_ptr >= begin_info_ptr + this_cu.length () || peek_abbrev_code (abfd, m_info_ptr) == 0) m_dummy_p = true; else @@ -3130,7 +3132,7 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, { complaint (_("compilation unit with DW_AT_GNU_dwo_name" " has children (offset %s) [in module %s]"), - sect_offset_str (this_cu->sect_off), + sect_offset_str (this_cu.sect_off), bfd_get_filename (abfd)); } @@ -3165,65 +3167,57 @@ cutu_reader::release_cu () return std::move (m_new_cu); } -/* Read CU/TU THIS_CU but do not follow DW_AT_GNU_dwo_name (DW_AT_dwo_name) - if present. DWO_FILE, if non-NULL, is the DWO file to read (the caller is - assumed to have already done the lookup to find the DWO file). - - The caller is required to fill in THIS_CU->section, THIS_CU->offset, and - THIS_CU->is_debug_types, but nothing else. +/* This constructor exists for the special case of reading many units in a row + from a given known DWO file. - We fill in THIS_CU->length. + THIS_CU is a special dwarf2_per_cu to represent where to read the unit from, + in the DWO file. The caller is required to fill THIS_CU::SECTION, + THIS_CU::SECT_OFF, and THIS_CU::IS_DEBUG_TYPES. This constructor will fill + in the length. THIS_CU::SECTION must point to a section from the DWO file, + which is normally not the case for regular dwarf2_per_cu uses. - THIS_CU->cu is always freed when done. - This is done in order to not leave THIS_CU->cu in a state where we have - to care whether it refers to the "main" CU or the DWO CU. + PARENT_CU is the CU created when reading the skeleton unit, and is used to + provide a default value for str_offsets_base and addr_base. */ - When parent_cu is passed, it is used to provide a default value for - str_offsets_base and addr_base from the parent. */ - -cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, - enum language pretend_language, - struct dwarf2_cu *parent_cu, - struct dwo_file *dwo_file) +cutu_reader::cutu_reader (dwarf2_per_cu &this_cu, + dwarf2_per_objfile &per_objfile, + language pretend_language, dwarf2_cu &parent_cu, + dwo_file &dwo_file) { - struct objfile *objfile = per_objfile->objfile; - struct dwarf2_section_info *section = this_cu->section; + struct objfile *objfile = per_objfile.objfile; + struct dwarf2_section_info *section = this_cu.section; bfd *abfd = section->get_bfd_owner (); - gdb_assert (parent_cu != nullptr); - gdb_assert (dwo_file != nullptr); - if (dwarf_die_debug) gdb_printf (gdb_stdlog, "Reading %s unit at offset %s\n", - this_cu->is_debug_types ? "type" : "comp", - sect_offset_str (this_cu->sect_off)); + this_cu.is_debug_types ? "type" : "comp", + sect_offset_str (this_cu.sect_off)); - gdb_assert (per_objfile->get_cu (this_cu) == nullptr); + gdb_assert (per_objfile.get_cu (&this_cu) == nullptr); - dwarf2_section_info *abbrev_section = &dwo_file->sections.abbrev; + dwarf2_section_info *abbrev_section = &dwo_file.sections.abbrev; /* This is cheap if the section is already read in. */ section->read (objfile); - m_new_cu = std::make_unique<dwarf2_cu> (this_cu, per_objfile); + m_new_cu = std::make_unique<dwarf2_cu> (&this_cu, &per_objfile); - m_info_ptr = section->buffer + to_underlying (this_cu->sect_off); + m_info_ptr = section->buffer + to_underlying (this_cu.sect_off); const gdb_byte *begin_info_ptr = m_info_ptr; m_info_ptr - = read_and_check_comp_unit_head (per_objfile, &m_new_cu->header, section, + = read_and_check_comp_unit_head (&per_objfile, &m_new_cu->header, section, abbrev_section, m_info_ptr, - (this_cu->is_debug_types + (this_cu.is_debug_types ? rcuh_kind::TYPE : rcuh_kind::COMPILE)); - m_new_cu->str_offsets_base = parent_cu->str_offsets_base; - m_new_cu->addr_base = parent_cu->addr_base; + m_new_cu->str_offsets_base = parent_cu.str_offsets_base; + m_new_cu->addr_base = parent_cu.addr_base; - this_cu->set_length (m_new_cu->header.get_length_with_initial ()); + this_cu.set_length (m_new_cu->header.get_length_with_initial ()); /* Skip dummy compilation units. */ - if (m_info_ptr >= begin_info_ptr + this_cu->length () + if (m_info_ptr >= begin_info_ptr + this_cu.length () || peek_abbrev_code (abfd, m_info_ptr) == 0) m_dummy_p = true; else @@ -3233,7 +3227,7 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, = abbrev_table::read (abbrev_section, m_new_cu->header.abbrev_sect_off); - this->init_cu_die_reader (m_new_cu.get (), section, dwo_file, + this->init_cu_die_reader (m_new_cu.get (), section, &dwo_file, m_abbrev_table_holder.get ()); m_top_level_die = this->read_toplevel_die (); } @@ -3300,7 +3294,7 @@ process_psymtab_comp_unit (dwarf2_per_cu *this_cu, cutu_reader *reader = storage->get_reader (this_cu); if (reader == nullptr) { - cutu_reader new_reader (this_cu, per_objfile, nullptr, nullptr, false, + cutu_reader new_reader (*this_cu, *per_objfile, nullptr, nullptr, false, language_minimal, &storage->get_abbrev_table_cache ()); @@ -3447,7 +3441,7 @@ build_type_psymtabs (dwarf2_per_objfile *per_objfile, ++tu_stats->nr_uniq_abbrev_tables; } - cutu_reader reader (tu.sig_type, per_objfile, + cutu_reader reader (*tu.sig_type, *per_objfile, abbrev_table.get (), nullptr, false, language_minimal); if (!reader.is_dummy ()) @@ -3501,7 +3495,7 @@ process_skeletonless_type_unit (dwo_unit *dwo_unit, fill_in_sig_entry_from_dwo_entry (per_objfile, *sig_type_it, dwo_unit); /* This does the job that build_type_psymtabs would have done. */ - cutu_reader reader (*sig_type_it, per_objfile, nullptr, nullptr, false, + cutu_reader reader (**sig_type_it, *per_objfile, nullptr, nullptr, false, language_minimal); if (!reader.is_dummy ()) build_type_psymtabs_reader (&reader, storage); @@ -4223,7 +4217,7 @@ load_full_comp_unit (dwarf2_per_cu *this_cu, dwarf2_per_objfile *per_objfile, gdb_assert (! this_cu->is_debug_types); gdb_assert (per_objfile->get_cu (this_cu) == nullptr); - cutu_reader reader (this_cu, per_objfile, nullptr, nullptr, skip_partial, + cutu_reader reader (*this_cu, *per_objfile, nullptr, nullptr, skip_partial, pretend_language); if (reader.is_dummy ()) return; @@ -6358,8 +6352,8 @@ create_cus_hash_table (dwarf2_cu *cu, dwo_file &dwo_file) /* The length of the CU gets set by the cutu_reader just below. */ dwarf2_per_cu per_cu (per_bfd, §ion, sect_off, 0 /* length */, false /* is_dwz */); - cutu_reader reader (&per_cu, per_objfile, language_minimal, - cu, &dwo_file); + cutu_reader reader (per_cu, *per_objfile, language_minimal, + *cu, dwo_file); info_ptr += per_cu.length (); @@ -15323,7 +15317,7 @@ dwarf2_read_addr_index (dwarf2_per_cu *per_cu, dwarf2_per_objfile *per_objfile, } else { - cutu_reader reader (per_cu, per_objfile, nullptr, nullptr, false, + cutu_reader reader (*per_cu, *per_objfile, nullptr, nullptr, false, language_minimal); addr_base = reader.cu ()->addr_base; addr_size = reader.cu ()->header.addr_size; @@ -18823,7 +18817,7 @@ read_signatured_type (signatured_type *sig_type, gdb_assert (sig_type->is_debug_types); gdb_assert (per_objfile->get_cu (sig_type) == nullptr); - cutu_reader reader (sig_type, per_objfile, nullptr, nullptr, false, + cutu_reader reader (*sig_type, *per_objfile, nullptr, nullptr, false, language_minimal); if (!reader.is_dummy ()) @@ -19336,7 +19330,7 @@ dwarf2_per_cu::ensure_lang (dwarf2_per_objfile *per_objfile) /* Constructing this object will set the language as a side effect. */ - cutu_reader reader (this, per_objfile, nullptr, per_objfile->get_cu (this), + cutu_reader reader (*this, *per_objfile, nullptr, per_objfile->get_cu (this), true, language_minimal, nullptr); } diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index c5f2bdf..7f56dac 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -921,19 +921,19 @@ class cutu_reader { public: - cutu_reader (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, + cutu_reader (dwarf2_per_cu &this_cu, + dwarf2_per_objfile &per_objfile, const struct abbrev_table *abbrev_table, dwarf2_cu *existing_cu, bool skip_partial, enum language pretend_language, const abbrev_table_cache *cache = nullptr); - cutu_reader (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, + cutu_reader (dwarf2_per_cu &this_cu, + dwarf2_per_objfile &per_objfile, enum language pretend_language, - struct dwarf2_cu *parent_cu, - struct dwo_file *dwo_file); + struct dwarf2_cu &parent_cu, + struct dwo_file &dwo_file); DISABLE_COPY_AND_ASSIGN (cutu_reader); diff --git a/gdb/frame.c b/gdb/frame.c index 2fb06a0..88560b8 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -2325,7 +2325,22 @@ get_prev_frame_always_1 (const frame_info_ptr &this_frame) until we have unwound all the way down to the previous non-inline frame. */ if (get_frame_type (this_frame) == INLINE_FRAME) - return get_prev_frame_maybe_check_cycle (this_frame); + { + frame_info_ptr fi = get_prev_frame_maybe_check_cycle (this_frame); + + /* If this_frame is the current frame, then compute and stash its frame + id so that the cycle check in get_prev_frame_maybe_check_cycle works + correctly in the case where inline frame 0 has been duplicated. + + The this_id.p check is required to avoid recursion as computing the + frame id results in a call to inline_frame_this_id which calls back + into get_prev_frame_always. */ + if (this_frame->level == 0 + && this_frame->this_id.p != frame_id_status::COMPUTING) + get_frame_id (this_frame); + + return fi; + } /* If this_frame is the current frame, then compute and stash its frame id prior to fetching and computing the frame id of the diff --git a/gdb/gdbarch-selftests.c b/gdb/gdbarch-selftests.c index 27b17d17..8f42557 100644 --- a/gdb/gdbarch-selftests.c +++ b/gdb/gdbarch-selftests.c @@ -127,6 +127,9 @@ register_to_value_test (struct gdbarch *gdbarch) static void register_name_test (struct gdbarch *gdbarch) { + if (selftest_skip_warning_arch (gdbarch)) + return; + scoped_mock_context<test_target_ops> mockctx (gdbarch); /* Track the number of times each register name appears. */ diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c index 8453366..7852f56 100644 --- a/gdb/go32-nat.c +++ b/gdb/go32-nat.c @@ -697,7 +697,7 @@ go32_nat_target::create_inferior (const char *exec_file, "not enough memory.\n")); /* Parse the command line and create redirections. */ - if (strpbrk (args, "<>")) + if (strpbrk (args, "<>") != nullptr) { if (redir_cmdline_parse (args, &child_cmd) == 0) args = child_cmd.command; diff --git a/gdb/gstack-1.in b/gdb/gstack-1.in index 5e41329..25339d9 100755 --- a/gdb/gstack-1.in +++ b/gdb/gstack-1.in @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (C) 2024 Free Software Foundation, Inc. +# Copyright (C) 2024-2025 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,8 +22,8 @@ GDB=${GDB:-$(command -v gdb)} GDBARGS=${GDBARGS:-} AWK=${AWK:-} -PKGVERSION=@PKGVERSION@ -VERSION=@VERSION@ +PKGVERSION="@PKGVERSION@" +VERSION="@VERSION@" # Find an appropriate awk interpreter if one was not specified # via the environment. @@ -132,7 +132,7 @@ EOF ) # Run GDB and remove some unwanted noise. -"$GDB" --quiet -nx --readnever $GDBARGS <<EOF | +"$GDB" --quiet -nx $GDBARGS <<EOF | set width 0 set height 0 set pagination no diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c index 3fb1c17..2b7bd2b 100644 --- a/gdb/i386-linux-tdep.c +++ b/gdb/i386-linux-tdep.c @@ -484,15 +484,15 @@ i386_canonicalize_syscall (int syscall) SYSCALL_MAP (settimeofday); SYSCALL_MAP_RENAME (getgroups, gdb_sys_getgroups16); SYSCALL_MAP_RENAME (setgroups, gdb_sys_setgroups16); - SYSCALL_MAP_RENAME (select, gdb_old_select); + SYSCALL_MAP_RENAME (select, gdb_sys_old_select); SYSCALL_MAP (symlink); SYSCALL_MAP_RENAME (oldlstat, gdb_sys_lstat); SYSCALL_MAP (readlink); SYSCALL_MAP (uselib); SYSCALL_MAP (swapon); SYSCALL_MAP (reboot); - SYSCALL_MAP_RENAME (readdir, gdb_old_readdir); - SYSCALL_MAP_RENAME (mmap, gdb_old_mmap); + SYSCALL_MAP_RENAME (readdir, gdb_sys_old_readdir); + SYSCALL_MAP_RENAME (mmap, gdb_sys_old_mmap); SYSCALL_MAP (munmap); SYSCALL_MAP (truncate); SYSCALL_MAP (ftruncate); diff --git a/gdb/language.c b/gdb/language.c index a8548a2..4208c23 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -677,14 +677,6 @@ language_defn::is_string_type_p (struct type *type) const return c_is_string_type_p (type); } -/* See language.h. */ - -std::unique_ptr<compile_instance> -language_defn::get_compile_instance () const -{ - return {}; -} - /* The default implementation of the get_symbol_name_matcher_inner method from the language_defn class. Matches with strncmp_iw. */ diff --git a/gdb/language.h b/gdb/language.h index e6bfa3c..5e9599d 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -36,7 +36,6 @@ struct value_print_options; struct type_print_options; struct lang_varobj_ops; struct parser_state; -class compile_instance; struct completion_match_for_lcd; class innermost_block_tracker; @@ -390,37 +389,6 @@ struct language_defn symbol_name_matcher_ftype *get_symbol_name_matcher (const lookup_name_info &lookup_name) const; - /* If this language allows compilation from the gdb command line, - then this method will return an instance of struct gcc_context - appropriate to the language. If compilation for this language is - generally supported, but something goes wrong then an exception - is thrown. If compilation is not supported for this language - then this method returns NULL. */ - - virtual std::unique_ptr<compile_instance> get_compile_instance () const; - - /* This method must be overridden if 'get_compile_instance' is - overridden. - - This takes the user-supplied text and returns a new bit of code - to compile. - - INST is the compiler instance being used. - INPUT is the user's input text. - GDBARCH is the architecture to use. - EXPR_BLOCK is the block in which the expression is being - parsed. - EXPR_PC is the PC at which the expression is being parsed. */ - - virtual std::string compute_program (compile_instance *inst, - const char *input, - struct gdbarch *gdbarch, - const struct block *expr_block, - CORE_ADDR expr_pc) const - { - gdb_assert_not_reached ("language_defn::compute_program"); - } - /* Hash the given symbol search name. */ virtual unsigned int search_name_hash (const char *name) const; diff --git a/gdb/linux-record.c b/gdb/linux-record.c index 0b2709b..2f66337 100644 --- a/gdb/linux-record.c +++ b/gdb/linux-record.c @@ -609,7 +609,7 @@ record_linux_system_call (enum gdb_syscall syscall, case gdb_sys_setgroups16: break; - case gdb_old_select: + case gdb_sys_old_select: { unsigned long sz_sel_arg = tdep->size_long + tdep->size_pointer * 4; gdb_byte *a = (gdb_byte *) alloca (sz_sel_arg); @@ -668,12 +668,12 @@ record_linux_system_call (enum gdb_syscall syscall, return 1; break; - case gdb_old_readdir: + case gdb_sys_old_readdir: if (record_mem_at_reg (regcache, tdep->arg2, tdep->size_old_dirent)) return -1; break; - case gdb_old_mmap: + case gdb_sys_old_mmap: break; case gdb_sys_munmap: diff --git a/gdb/linux-record.h b/gdb/linux-record.h index 6d6ba07..6656106 100644 --- a/gdb/linux-record.h +++ b/gdb/linux-record.h @@ -266,15 +266,15 @@ enum gdb_syscall { gdb_sys_settimeofday = 79, gdb_sys_getgroups16 = 80, gdb_sys_setgroups16 = 81, - gdb_old_select = 82, + gdb_sys_old_select = 82, gdb_sys_symlink = 83, gdb_sys_lstat = 84, gdb_sys_readlink = 85, gdb_sys_uselib = 86, gdb_sys_swapon = 87, gdb_sys_reboot = 88, - gdb_old_readdir = 89, - gdb_old_mmap = 90, + gdb_sys_old_readdir = 89, + gdb_sys_old_mmap = 90, gdb_sys_munmap = 91, gdb_sys_truncate = 92, gdb_sys_ftruncate = 93, diff --git a/gdb/loongarch-linux-tdep.c b/gdb/loongarch-linux-tdep.c index bd42d09..031031b 100644 --- a/gdb/loongarch-linux-tdep.c +++ b/gdb/loongarch-linux-tdep.c @@ -812,7 +812,7 @@ loongarch_canonicalize_syscall (enum loongarch_syscall syscall_number) SYSCALL_MAP (clone); SYSCALL_MAP (execve); - SYSCALL_MAP_RENAME (mmap, gdb_sys_mmap2); + SYSCALL_MAP_RENAME (mmap, gdb_sys_old_mmap); SYSCALL_MAP (fadvise64); SYSCALL_MAP (swapon); diff --git a/gdb/observable.h b/gdb/observable.h index deea1ff..c50891e 100644 --- a/gdb/observable.h +++ b/gdb/observable.h @@ -102,10 +102,14 @@ extern observable<inferior */* parent_inf */, inferior */* child_inf */, extern observable<solib &/* solib */> solib_loaded; /* The shared library SOLIB has been unloaded from program space PSPACE. + The SILENT argument indicates that GDB doesn't wish to notify the CLI + about any non-error consequences of unloading the solib, e.g. when + breakpoints are disabled. + Note when gdb calls this observer, the library's symbols have not been unloaded yet, and thus are still available. */ extern observable<program_space *, const solib &/* solib */, - bool /* still_in_use */> solib_unloaded; + bool /* still_in_use */, bool /* silent */> solib_unloaded; /* The symbol file specified by OBJFILE has been loaded. */ extern observable<struct objfile */* objfile */> new_objfile; diff --git a/gdb/python/lib/gdb/dap/__init__.py b/gdb/python/lib/gdb/dap/__init__.py index 145aeb6..08ca33f 100644 --- a/gdb/python/lib/gdb/dap/__init__.py +++ b/gdb/python/lib/gdb/dap/__init__.py @@ -26,6 +26,7 @@ from . import startup # server object. "F401" is the flake8 "imported but unused" code. from . import breakpoint # noqa: F401 from . import bt # noqa: F401 +from . import completions # noqa: F401 from . import disassemble # noqa: F401 from . import evaluate # noqa: F401 from . import launch # noqa: F401 diff --git a/gdb/python/lib/gdb/dap/completions.py b/gdb/python/lib/gdb/dap/completions.py new file mode 100644 index 0000000..85acc43 --- /dev/null +++ b/gdb/python/lib/gdb/dap/completions.py @@ -0,0 +1,60 @@ +# Copyright 2025 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +from typing import Optional + +from .frames import select_frame +from .server import capability, import_column, import_line, request +from .startup import exec_mi_and_log + + +@request("completions") +@capability("supportsCompletionsRequest") +@capability("completionTriggerCharacters", [" ", "."]) +def completions( + *, + frameId: Optional[int] = None, + text: str, + column: int, + line: Optional[int] = None, + **extra, +): + if frameId is not None: + select_frame(frameId) + + column = import_column(column) + if line is None: + line = 1 + else: + line = import_line(line) + text = text.splitlines()[line - 1] + text = text[: column - 1] + mi_result = exec_mi_and_log("-complete", text) + result = [] + completion = None + if "completion" in mi_result: + completion = mi_result["completion"] + result.append({"label": completion, "length": len(completion)}) + # If `-complete' finds one match then `completion' and `matches' + # will contain the same one match. + if ( + completion is not None + and len(mi_result["matches"]) == 1 + and completion == mi_result["matches"][0] + ): + return {"targets": result} + for match in mi_result["matches"]: + result.append({"label": match, "length": len(match)}) + return {"targets": result} diff --git a/gdb/python/lib/gdb/dap/server.py b/gdb/python/lib/gdb/dap/server.py index 8fdf029..7139c79 100644 --- a/gdb/python/lib/gdb/dap/server.py +++ b/gdb/python/lib/gdb/dap/server.py @@ -49,6 +49,7 @@ _server = None # This is set by the initialize request and is used when rewriting # line numbers. _lines_start_at_1 = False +_columns_start_at_1 = False class DeferredRequest: @@ -593,6 +594,8 @@ def initialize(**args): _server.send_event_later("initialized") global _lines_start_at_1 _lines_start_at_1 = client_bool_capability("linesStartAt1", True) + global _columns_start_at_1 + _columns_start_at_1 = client_bool_capability("columnsStartAt1", True) return _capabilities.copy() @@ -698,7 +701,7 @@ def send_gdb_with_response(fn): return val -def export_line(line): +def export_line(line: int) -> int: """Rewrite LINE according to client capability. This applies the linesStartAt1 capability as needed, when sending a line number from gdb to the client.""" @@ -710,7 +713,7 @@ def export_line(line): return line -def import_line(line): +def import_line(line: int) -> int: """Rewrite LINE according to client capability. This applies the linesStartAt1 capability as needed, when the client sends a line number to gdb.""" @@ -720,3 +723,17 @@ def import_line(line): # the client starts at 0. line = line + 1 return line + + +def export_column(column: int) -> int: + """Rewrite COLUMN according to client capability. + This applies the columnsStartAt1 capability as needed, + when sending a column number from gdb to the client.""" + return column if _columns_start_at_1 else column - 1 + + +def import_column(column: int) -> int: + """Rewrite COLUMN according to client capability. + This applies the columnsStartAt1 capability as needed, + when the client sends a column number to gdb.""" + return column if _columns_start_at_1 else column + 1 diff --git a/gdb/regcache.c b/gdb/regcache.c index 5508778..ad72429 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -1911,32 +1911,13 @@ public: {} }; -/* Return true if regcache::cooked_{read,write}_test should be skipped for - GDBARCH. */ - -static bool -selftest_skiparch (struct gdbarch *gdbarch) -{ - const char *name = gdbarch_bfd_arch_info (gdbarch)->printable_name; - - /* Avoid warning: - Running selftest regcache::cooked_{read,write}_test::m68hc11. - warning: No frame soft register found in the symbol table. - Stack backtrace will not work. - We could instead capture the output and then filter out the warning, but - that seems more trouble than it's worth. */ - return (strcmp (name, "m68hc11") == 0 - || strcmp (name, "m68hc12") == 0 - || strcmp (name, "m68hc12:HCS12") == 0); -} - /* Test regcache::cooked_read gets registers from raw registers and memory instead of target to_{fetch,store}_registers. */ static void cooked_read_test (struct gdbarch *gdbarch) { - if (selftest_skiparch (gdbarch)) + if (selftest_skip_warning_arch (gdbarch)) return; scoped_mock_context<target_ops_no_register> mockctx (gdbarch); @@ -2074,7 +2055,7 @@ cooked_read_test (struct gdbarch *gdbarch) static void cooked_write_test (struct gdbarch *gdbarch) { - if (selftest_skiparch (gdbarch)) + if (selftest_skip_warning_arch (gdbarch)) return; /* Create a mock environment. A process_stratum target pushed. */ diff --git a/gdb/selftest-arch.c b/gdb/selftest-arch.c index 17eeba8..79889c0 100644 --- a/gdb/selftest-arch.c +++ b/gdb/selftest-arch.c @@ -108,5 +108,24 @@ reset () registers_changed (); reinit_frame_cache (); } + +/* See selftest-arch.h. */ + +bool +selftest_skip_warning_arch (struct gdbarch *gdbarch) +{ + const char *name = gdbarch_bfd_arch_info (gdbarch)->printable_name; + + /* Avoid warning: + Running selftest <test>::m68hc11. + warning: No frame soft register found in the symbol table. + Stack backtrace will not work. + We could instead capture the output and then filter out the warning, but + that seems more trouble than it's worth. */ + return (strcmp (name, "m68hc11") == 0 + || strcmp (name, "m68hc12") == 0 + || strcmp (name, "m68hc12:HCS12") == 0); +} + } /* namespace selftests */ #endif /* GDB_SELF_TEST */ diff --git a/gdb/selftest-arch.h b/gdb/selftest-arch.h index db11723..c6a85fa 100644 --- a/gdb/selftest-arch.h +++ b/gdb/selftest-arch.h @@ -29,6 +29,11 @@ namespace selftests extern void register_test_foreach_arch (const std::string &name, self_test_foreach_arch_function *function); + +/* Return true if GDBARCH should be skipped in some selftests to avoid + warnings. */ + +extern bool selftest_skip_warning_arch (struct gdbarch *gdbarch); } #endif /* GDB_SELFTEST_ARCH_H */ diff --git a/gdb/solib.c b/gdb/solib.c index b1fdea9..0bbcb02 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -694,14 +694,17 @@ notify_solib_loaded (solib &so) /* Notify interpreters and observers that solib SO has been unloaded. When STILL_IN_USE is true, the objfile backing SO is still in use, this indicates that SO was loaded multiple times, but only mapped - in once (the mapping was reused). */ + in once (the mapping was reused). + + When SILENT is true, don't announce to the user if any breakpoints are + disabled as a result of unloading SO. */ static void notify_solib_unloaded (program_space *pspace, const solib &so, - bool still_in_use) + bool still_in_use, bool silent) { interps_notify_solib_unloaded (so, still_in_use); - gdb::observers::solib_unloaded.notify (pspace, so, still_in_use); + gdb::observers::solib_unloaded.notify (pspace, so, still_in_use, silent); } /* See solib.h. */ @@ -803,7 +806,7 @@ update_solib_list (int from_tty) /* Notify any observer that the shared object has been unloaded before we remove it from GDB's tables. */ notify_solib_unloaded (current_program_space, *gdb_iter, - still_in_use); + still_in_use, false); /* Unless the user loaded it explicitly, free SO's objfile. */ if (gdb_iter->objfile != nullptr @@ -1163,14 +1166,12 @@ clear_solib (program_space *pspace) { const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ()); - disable_breakpoints_in_shlibs (pspace); - for (solib &so : pspace->so_list) { bool still_in_use = (so.objfile != nullptr && solib_used (pspace, so)); - notify_solib_unloaded (pspace, so, still_in_use); + notify_solib_unloaded (pspace, so, still_in_use, true); pspace->remove_target_sections (&so); }; diff --git a/gdb/testsuite/gdb.base/filename-completion.exp b/gdb/testsuite/gdb.base/filename-completion.exp index 03ead59..a1dd974 100644 --- a/gdb/testsuite/gdb.base/filename-completion.exp +++ b/gdb/testsuite/gdb.base/filename-completion.exp @@ -381,11 +381,15 @@ proc run_mid_line_completion_tests { root cmd } { proc run_quoting_and_escaping_tests { root } { # Test all the commands which allow quoting of filenames, and # which require whitespace to be escaped in unquoted filenames. - foreach_with_prefix cmd { file exec-file symbol-file add-symbol-file \ - remove-symbol-file \ - "target core" "target exec" "target tfile" \ - "maint print c-tdesc" "compile file" \ - "save gdb-index" "save gdb-index -dwarf-5" } { + set all_cmds { file exec-file symbol-file add-symbol-file \ + remove-symbol-file \ + "target core" "target exec" "target tfile" \ + "maint print c-tdesc" "save gdb-index" + "save gdb-index -dwarf-5" } + if { [allow_compile_tests] } { + lappend all_cmds "compile file" + } + foreach_with_prefix cmd $all_cmds { # Try each test placing the filename as the first argument # then again with a quoted string immediately after the # command. This works because the filename completer will diff --git a/gdb/testsuite/gdb.base/gstack.exp b/gdb/testsuite/gdb.base/gstack.exp index 8df36b1..89be676 100644 --- a/gdb/testsuite/gdb.base/gstack.exp +++ b/gdb/testsuite/gdb.base/gstack.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2024 Free Software Foundation, Inc. +# Copyright (C) 2024-2025 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -62,8 +62,10 @@ if { ![gdb_assert { ![expr {$res < 0 || $res == ""}] } $test] } { set test "got backtrace" set saw_backtrace false set no_awk false +set location_re ${srcfile}:${decimal} + gdb_expect { - -i "$res" -re "#0 +(0x\[0-9a-f\]+ in )?main \(\).*\r\nGSTACK-END\r\n\$" { + -i "$res" -re "#0 +(0x\[0-9a-f\]+ in )?main \(\).*$location_re.*\r\nGSTACK-END\r\n\$" { set saw_backtrace true pass $test exp_continue diff --git a/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.exp b/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.exp index 45086f6..46561a9 100644 --- a/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.exp +++ b/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.exp @@ -72,77 +72,89 @@ gdb_continue_to_breakpoint "stop at test breakpoint" gdb_test_no_output "source ${pyfile}"\ "import python scripts" -# Check the unbroken stack. -gdb_test_sequence "bt" "backtrace when the unwind is left unbroken" { - "\\r\\n#0 \[^\r\n\]* inline_func \\(\\) at " - "\\r\\n#1 \[^\r\n\]* normal_func \\(\\) at " - "\\r\\n#2 \[^\r\n\]* inline_func \\(\\) at " - "\\r\\n#3 \[^\r\n\]* normal_func \\(\\) at " - "\\r\\n#4 \[^\r\n\]* inline_func \\(\\) at " - "\\r\\n#5 \[^\r\n\]* normal_func \\(\\) at " - "\\r\\n#6 \[^\r\n\]* main \\(\\) at " -} +# Test with and without filters. +foreach bt_cmd { "bt" "bt -no-filters" } { + with_test_prefix "$bt_cmd" { -with_test_prefix "cycle at level 5" { - # Arrange to introduce a stack cycle at frame 5. - gdb_test_no_output "python stop_at_level=5" - gdb_test "maint flush register-cache" \ - "Register cache flushed\\." - gdb_test_lines "bt" "backtrace when the unwind is broken at frame 5" \ - [multi_line \ - "#0 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ - "#1 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ - "#2 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ - "#3 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ - "#4 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ - "#5 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ - "Backtrace stopped: previous frame identical to this frame \\(corrupt stack\\?\\)"] -} + # Check the unbroken stack. + gdb_test_sequence "$bt_cmd" "backtrace when the unwind is left unbroken" { + "\\r\\n#0 \[^\r\n\]* inline_func \\(\\) at " + "\\r\\n#1 \[^\r\n\]* normal_func \\(\\) at " + "\\r\\n#2 \[^\r\n\]* inline_func \\(\\) at " + "\\r\\n#3 \[^\r\n\]* normal_func \\(\\) at " + "\\r\\n#4 \[^\r\n\]* inline_func \\(\\) at " + "\\r\\n#5 \[^\r\n\]* normal_func \\(\\) at " + "\\r\\n#6 \[^\r\n\]* main \\(\\) at " + } -with_test_prefix "cycle at level 3" { - # Arrange to introduce a stack cycle at frame 3. - gdb_test_no_output "python stop_at_level=3" - gdb_test "maint flush register-cache" \ - "Register cache flushed\\." - gdb_test_lines "bt" "backtrace when the unwind is broken at frame 3" \ - [multi_line \ - "#0 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ - "#1 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ - "#2 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ - "#3 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ - "Backtrace stopped: previous frame identical to this frame \\(corrupt stack\\?\\)"] -} + with_test_prefix "cycle at level 5" { + # Arrange to introduce a stack cycle at frame 5. + gdb_test_no_output "python stop_at_level=5" + gdb_test "maint flush register-cache" \ + "Register cache flushed\\." + gdb_test_lines "$bt_cmd" "backtrace when the unwind is broken at frame 5" \ + [multi_line \ + "#0 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ + "#1 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ + "#2 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ + "#3 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ + "#4 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ + "#5 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ + "Backtrace stopped: previous frame identical to this frame \\(corrupt stack\\?\\)"] + } -with_test_prefix "cycle at level 1" { - # Arrange to introduce a stack cycle at frame 1. - gdb_test_no_output "python stop_at_level=1" - gdb_test "maint flush register-cache" \ - "Register cache flushed\\." - gdb_test_lines "bt" "backtrace when the unwind is broken at frame 1" \ - [multi_line \ - "#0 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ - "#1 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ - "Backtrace stopped: previous frame identical to this frame \\(corrupt stack\\?\\)"] -} + with_test_prefix "cycle at level 3" { + # Arrange to introduce a stack cycle at frame 3. + gdb_test_no_output "python stop_at_level=3" + gdb_test "maint flush register-cache" \ + "Register cache flushed\\." + gdb_test_lines "$bt_cmd" "backtrace when the unwind is broken at frame 3" \ + [multi_line \ + "#0 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ + "#1 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ + "#2 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ + "#3 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ + "Backtrace stopped: previous frame identical to this frame \\(corrupt stack\\?\\)"] + } -# Flush the register cache (which also flushes the frame cache) so we -# get a full backtrace again, then switch on frame debugging and try -# to back trace. At one point this triggered an assertion. -gdb_test "maint flush register-cache" \ - "Register cache flushed\\." "" -gdb_test_no_output "set debug frame 1" -set ok 1 -gdb_test_multiple "bt" "backtrace with debugging on" { - -re "^$gdb_prompt $" { - gdb_assert { $ok } $gdb_test_name - } - -re "Python Exception <class 'gdb.error'>: \[^\r\n\]*\r\n" { - set ok 0 - exp_continue - } - -re "\[^\r\n\]+\r\n" { - exp_continue + with_test_prefix "cycle at level 1" { + # Arrange to introduce a stack cycle at frame 1. + gdb_test_no_output "python stop_at_level=1" + gdb_test "maint flush register-cache" \ + "Register cache flushed\\." + gdb_test_lines "$bt_cmd" "backtrace when the unwind is broken at frame 1" \ + [multi_line \ + "#0 \[^\r\n\]* inline_func \\(\\) at \[^\r\n\]+" \ + "#1 \[^\r\n\]* normal_func \\(\\) at \[^\r\n\]+" \ + "Backtrace stopped: previous frame identical to this frame \\(corrupt stack\\?\\)"] + } + + # Flush the register cache (which also flushes the frame cache) so we + # get a full backtrace again, then switch on frame debugging and try + # to back trace. At one point this triggered an assertion. + gdb_test "maint flush register-cache" \ + "Register cache flushed\\." "" + gdb_test_no_output "set debug frame 1" + set ok 1 + gdb_test_multiple "$bt_cmd" "backtrace with debugging on" { + -re "^$gdb_prompt $" { + gdb_assert { $ok } $gdb_test_name + } + -re "Python Exception <class 'gdb.error'>: \[^\r\n\]*\r\n" { + set ok 0 + exp_continue + } + -re "\[^\r\n\]+\r\n" { + exp_continue + } + } + gdb_test "p 1 + 2 + 3" " = 6" \ + "ensure GDB is still alive" + + # Prepare for the next iteration of the test loop + gdb_test_no_output "set debug frame 0" + gdb_test_no_output "python stop_at_level=None" + gdb_test "maint flush register-cache" \ + "Register cache flushed\\." "maint flush register-cache at (loop end)" } } -gdb_test "p 1 + 2 + 3" " = 6" \ - "ensure GDB is still alive" diff --git a/gdb/testsuite/gdb.base/shlib-unload.exp b/gdb/testsuite/gdb.base/shlib-unload.exp index f3e8cce..9d47416 100644 --- a/gdb/testsuite/gdb.base/shlib-unload.exp +++ b/gdb/testsuite/gdb.base/shlib-unload.exp @@ -225,6 +225,75 @@ proc_with_prefix test_dprintf_with_rerun {} { "dprintf is non-pending after restart" } +# Check that we see breakpoint modified events (where appropriate) +# when the 'nosharedlibrary' command is used to unload all shared +# libraries. +# +# Also check that the 'nosharedlibrary' doesn't trigger a warning +# about shared library breakpoints being disabled. +proc_with_prefix test_silent_nosharedlib {} { + if { ![allow_python_tests] } { + unsupported "python support needed" + return + } + + foreach_with_prefix type { breakpoint dprintf } { + clean_restart $::binfile + + if {![runto_main]} { + return + } + + gdb_breakpoint $::srcfile:$::bp_line + gdb_continue_to_breakpoint "stop before dlclose" + + # Setup a dprintf or breakpoint in the shared library. + if { $type eq "breakpoint" } { + gdb_test "break foo" + } else { + gdb_test "dprintf foo,\"In foo\"" + } + + # Record the number of the b/p (or dprintf) we just inserted. + set bp_num [get_integer_valueof "\$bpnum" "*UNKNOWN*" \ + "get b/p number"] + + # Load Python library to track b/p modifications. + gdb_test_no_output "source $::pyfile" "import python scripts" + + # Initialise the b/p modified hash. Currently dprintf style + # breakpoints are not visible from Python, so the modification + # count will remain unchanged in that case. + gdb_test_no_output "python bp_modified_counts\[$bp_num\] = 0" + + # Discard symbols from all loaded shared libraries. + gdb_test_no_output "nosharedlibrary" + + # Check that our b/p is now showing as disabled. + if { $type eq "breakpoint" } { + set re \ + [list "$bp_num\\s+breakpoint\\s+keep\\s+y\\s+<PENDING>\\s+foo"] + set count 1 + } else { + set re \ + [list \ + "$bp_num\\s+dprintf\\s+keep\\s+y\\s+<PENDING>\\s+foo" \ + "\\s+printf \"In foo\""] + set count 0 + } + + gdb_test "info breakpoints $bp_num" \ + [multi_line "^Num\\s+Type\\s+Disp\\s+Enb\\s+Address\\s+What" \ + {*}$re] + + # Check we've seen the expected number of breakpoint modified + # events. Currently dprintf breakpoints are not visible from + # Python, so we will not see an event in that case. + gdb_test "python print(bp_modified_counts\[$bp_num\])" "^$count" + } +} + test_bp_modified_events test_dprintf_after_unload test_dprintf_with_rerun +test_silent_nosharedlib diff --git a/gdb/testsuite/gdb.compile/compile-cplus-anonymous.exp b/gdb/testsuite/gdb.compile/compile-cplus-anonymous.exp index 3e76d38..ddad628 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-anonymous.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-anonymous.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-array-decay.exp b/gdb/testsuite/gdb.compile/compile-cplus-array-decay.exp index 505a4e1..c7d15ce 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-array-decay.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-array-decay.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++ additional_flags=-std=c++11}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-inherit.exp b/gdb/testsuite/gdb.compile/compile-cplus-inherit.exp index 1a5f60a..9ef1e83 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-inherit.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-inherit.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-member.exp b/gdb/testsuite/gdb.compile/compile-cplus-member.exp index 5ffbb30..ac9111c 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-member.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-member.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-method.exp b/gdb/testsuite/gdb.compile/compile-cplus-method.exp index 0a0e0fa..bcbfbb0 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-method.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-method.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-namespace.exp b/gdb/testsuite/gdb.compile/compile-cplus-namespace.exp index 3ab8ece..2abc366 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-namespace.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-namespace.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-nested.exp b/gdb/testsuite/gdb.compile/compile-cplus-nested.exp index 19efd4f..247d270 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-nested.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-nested.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-print.exp b/gdb/testsuite/gdb.compile/compile-cplus-print.exp index 594f94a..e4413f0 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-print.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-print.exp @@ -19,6 +19,8 @@ standard_testfile require is_c_compiler_gcc +require allow_compile_tests + set options {} if [test_compiler_info gcc*] { lappend options additional_flags=-g3 diff --git a/gdb/testsuite/gdb.compile/compile-cplus-virtual.exp b/gdb/testsuite/gdb.compile/compile-cplus-virtual.exp index 8761df5..a770208 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus-virtual.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus-virtual.exp @@ -23,6 +23,8 @@ require allow_cplus_tests require is_c_compiler_gcc +require allow_compile_tests + if {[prepare_for_testing $testfile $testfile $srcfile \ {debug nowarnings c++}]} { return -1 diff --git a/gdb/testsuite/gdb.compile/compile-cplus.exp b/gdb/testsuite/gdb.compile/compile-cplus.exp index 711f299..35ae692 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus.exp @@ -19,6 +19,8 @@ standard_testfile .c compile-shlib.c compile-constvar.S compile-nodebug.c require is_c_compiler_gcc +require allow_compile_tests + set options {} if { [test_compiler_info gcc*] || [test_compiler_info clang*] } { lappend options additional_flags=-g3 diff --git a/gdb/testsuite/gdb.compile/compile-ifunc.exp b/gdb/testsuite/gdb.compile/compile-ifunc.exp index b004bd7..e490890 100644 --- a/gdb/testsuite/gdb.compile/compile-ifunc.exp +++ b/gdb/testsuite/gdb.compile/compile-ifunc.exp @@ -17,6 +17,8 @@ load_lib compile-support.exp require allow_ifunc_tests +require allow_compile_tests + standard_testfile require is_c_compiler_gcc diff --git a/gdb/testsuite/gdb.compile/compile-ops.exp b/gdb/testsuite/gdb.compile/compile-ops.exp index f75e02c..cfbe2b0 100644 --- a/gdb/testsuite/gdb.compile/compile-ops.exp +++ b/gdb/testsuite/gdb.compile/compile-ops.exp @@ -22,6 +22,8 @@ load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. require dwarf2_support +require allow_compile_tests + require is_c_compiler_gcc standard_testfile .c -dbg.S diff --git a/gdb/testsuite/gdb.compile/compile-print.exp b/gdb/testsuite/gdb.compile/compile-print.exp index f8f2297..61ce750 100644 --- a/gdb/testsuite/gdb.compile/compile-print.exp +++ b/gdb/testsuite/gdb.compile/compile-print.exp @@ -19,6 +19,8 @@ standard_testfile require is_c_compiler_gcc +require allow_compile_tests + if { [prepare_for_testing "failed to prepare" "$testfile"] } { return -1 } diff --git a/gdb/testsuite/gdb.compile/compile-setjmp.exp b/gdb/testsuite/gdb.compile/compile-setjmp.exp index f387a05..ad8732b 100644 --- a/gdb/testsuite/gdb.compile/compile-setjmp.exp +++ b/gdb/testsuite/gdb.compile/compile-setjmp.exp @@ -19,6 +19,8 @@ standard_testfile .c compile-setjmp-mod.c require is_c_compiler_gcc +require allow_compile_tests + if { [prepare_for_testing "failed to prepare" $testfile] } { return -1 } diff --git a/gdb/testsuite/gdb.compile/compile-tls.exp b/gdb/testsuite/gdb.compile/compile-tls.exp index 2f8dc5a..45e290e 100644 --- a/gdb/testsuite/gdb.compile/compile-tls.exp +++ b/gdb/testsuite/gdb.compile/compile-tls.exp @@ -19,6 +19,8 @@ standard_testfile .c require is_c_compiler_gcc +require allow_compile_tests + if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ executable {debug}] != "" } { return -1 diff --git a/gdb/testsuite/gdb.compile/compile.exp b/gdb/testsuite/gdb.compile/compile.exp index 2c2e321..5128dc62 100644 --- a/gdb/testsuite/gdb.compile/compile.exp +++ b/gdb/testsuite/gdb.compile/compile.exp @@ -15,6 +15,8 @@ load_lib compile-support.exp +require allow_compile_tests + standard_testfile .c compile-shlib.c compile-constvar.S compile-nodebug.c require is_c_compiler_gcc diff --git a/gdb/testsuite/gdb.mi/mi-dprintf-modified-lib.c b/gdb/testsuite/gdb.mi/mi-dprintf-modified-lib.c new file mode 100644 index 0000000..70fc328 --- /dev/null +++ b/gdb/testsuite/gdb.mi/mi-dprintf-modified-lib.c @@ -0,0 +1,22 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2025 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +int +foo (void) +{ + return 0; +} diff --git a/gdb/testsuite/gdb.mi/mi-dprintf-modified.c b/gdb/testsuite/gdb.mi/mi-dprintf-modified.c new file mode 100644 index 0000000..7a41adbac --- /dev/null +++ b/gdb/testsuite/gdb.mi/mi-dprintf-modified.c @@ -0,0 +1,55 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2025 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include <stdlib.h> + +#ifdef __WIN32__ +#include <windows.h> +#define dlopen(name, mode) LoadLibrary (TEXT (name)) +#ifdef _WIN32_WCE +# define dlsym(handle, func) GetProcAddress (handle, TEXT (func)) +#else +# define dlsym(handle, func) GetProcAddress (handle, func) +#endif +#define dlclose(handle) FreeLibrary (handle) +#else +#include <dlfcn.h> +#endif + +#include <assert.h> + +int +main (void) +{ + int res; + void *handle; + int (*func) (void); + int val = 0; + + handle = dlopen (SHLIB_NAME, RTLD_LAZY); /* Break here. */ + assert (handle != NULL); + + func = (int (*)(void)) dlsym (handle, "foo"); + assert (func != NULL); + + val += func (); + + res = dlclose (handle); + assert (res == 0); + + return val; +} diff --git a/gdb/testsuite/gdb.mi/mi-dprintf-modified.exp b/gdb/testsuite/gdb.mi/mi-dprintf-modified.exp new file mode 100644 index 0000000..c3e1bdf --- /dev/null +++ b/gdb/testsuite/gdb.mi/mi-dprintf-modified.exp @@ -0,0 +1,119 @@ +# Copyright 2025 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Check that GDB doesn't emit a 'breakpoint-modified' notification for +# dprintf breakpoints when the dprintf commands haven't changed. +# +# GDB use to emit a 'breakpoint-modified' dprintf breakpoints each +# time the dprintf_breakpoint::re_set function was called as this +# would re-cacluate the dprintf command string, even though in most +# cases the calculated string was no different from the previous +# value. +# +# Then GDB got smarter and could recognise that the string had not +# changed, and so would skip the 'breakpoint-modified' notification. +# +# This test stops at a dlopen() call in the inferior and creates a +# dprintf breakpoint. Then we 'next' over the dlopen() which triggers +# a call to the ::re_set() functions. We check that there is no +# 'breakpoint-modified' event emitted for the dprintf breakpoint. + +load_lib mi-support.exp +set MIFLAGS "-i=mi" + +standard_testfile .c -lib.c + +# Build the library. +set libname ${testfile}-lib +set libfile [standard_output_file $libname] +if { [build_executable "build shlib" $libfile $srcfile2 {debug shlib}] == -1} { + return +} + +# Build the executable. +set opts [list debug shlib_load additional_flags=-DSHLIB_NAME=\"${libname}\"] +if { [build_executable "build exec" $binfile $srcfile $opts] == -1} { + return +} + +# The line number of the dlopen() call. +set bp_line [gdb_get_line_number "Break here" $srcfile] + +# Start the inferior. +mi_clean_restart $binfile +mi_runto_main + +# Place a breakpoint at the dlopen() line. +mi_create_breakpoint $srcfile:$bp_line "set breakpoint at dlopen call" \ + -disp keep -func main -file "\[^\r\n\]+/$srcfile" -line $bp_line + +# And run to the breakpoint. +mi_execute_to "exec-continue" "breakpoint-hit" main "" ".*/$srcfile" \ + $bp_line { "" "disp=\"keep\"" } "run to breakpoint" + +# Cleanup breakpoints. +mi_delete_breakpoints + +# Setup a dprintf breakpoint. +mi_gdb_test "-dprintf-insert --function main \"in main\"" \ + "\\^done,bkpt={.*}" "dprintf at main" + +set bpnum [mi_get_valueof "/d" "\$bpnum" "INVALID" \ + "get number for dprintf breakpoint"] + +# Use 'next' to step over loading the shared library. +mi_gdb_test "220-exec-next" ".*" "next over dlopen" + +# Now wait for the 'stopped' notification. While we wait we should +# see a 'library-loaded' notification for the loading of the shared +# library. +# +# In older versions of GDB we would also see a 'breakpoint-modified' +# notification for the dprintf breakpoint, but newer versions of GDB +# are smart enough to not emit this unnecessary notification. +set bp_re [mi_make_breakpoint -number $bpnum \ + -type dprintf -disp keep -enabled y -func main] +set saw_bp_modified false +set saw_lib_load false +set saw_stopped false +gdb_test_multiple "" "wait for 'next' to complete" { + -re "^=library-loaded,id=\[^\r\n\]+\r\n" { + set saw_lib_load true + exp_continue + } + + -re "^=breakpoint-modified,$bp_re\r\n" { + set saw_bp_modified true + exp_continue + } + + -re "^\\*stopped,reason=\"end-stepping-range\",\[^\r\n\]+\r\n" { + set saw_stopped true + exp_continue + } + + -re "^$mi_gdb_prompt$" { + gdb_assert { $saw_lib_load } \ + "$gdb_test_name, library was loaded" + gdb_assert { $saw_stopped } \ + "$gdb_test_name, saw stopped message" + gdb_assert { !$saw_bp_modified } \ + "$gdb_test_name, no breakpoint-modified" + } + + -re "^\[^\r\n\]+\r\n" { + exp_continue + } +} diff --git a/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.c b/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.c index af05b13..e22bf12 100644 --- a/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.c +++ b/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.c @@ -97,6 +97,11 @@ thread_fn (void *arg) return NULL; } +static void +setup_done (void) +{ +} + int main (void) { @@ -104,6 +109,8 @@ main (void) global_var++; + setup_done (); + for (i = 0; i < 4; i++) { struct thread_arg *p; diff --git a/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp b/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp index 784f17f..42222c0 100644 --- a/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp +++ b/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp @@ -54,7 +54,7 @@ proc test { non_stop } { clean_restart ${binfile} } - if ![runto_main] { + if ![runto setup_done] { return -1 } @@ -76,7 +76,7 @@ proc test { non_stop } { # Start the second inferior. with_test_prefix "second inferior" { # With stub targets that do reload on run, if we let the new - # inferior share inferior 1's connection, runto_main would + # inferior share inferior 1's connection, runto would # fail because GDB is already connected to something, like # e.g. with --target_board=native-gdbserver: # @@ -86,10 +86,10 @@ proc test { non_stop } { # Already connected to a remote target. Disconnect? (y or n) # # Instead, start the inferior with no connection, and let - # gdb_load/runto_main spawn a new remote connection/gdbserver. + # gdb_load/runto spawn a new remote connection/gdbserver. # # OTOH, with extended-remote, we must let the new inferior - # reuse the current connection, so that runto_main below can + # reuse the current connection, so that runto below can # issue the "run" command, and have the inferior run on the # remote target. If we forced no connection, then "run" would # either fail if "set auto-connect-native-target" is on, like @@ -108,7 +108,7 @@ proc test { non_stop } { gdb_load $binfile - if ![runto_main] { + if ![runto setup_done] { return -1 } } diff --git a/gdb/testsuite/lib/compile-support.exp b/gdb/testsuite/lib/compile-support.exp index aa8aaf3..6d7a4ce 100644 --- a/gdb/testsuite/lib/compile-support.exp +++ b/gdb/testsuite/lib/compile-support.exp @@ -45,6 +45,9 @@ proc _do_check_compile {expr} { # This appears to be a bug in the compiler plugin. set result "apparent compiler plugin bug" } + -re "This command is not supported." { + set result "compiler disabled at configure time" + } -re "\r\n$gdb_prompt $" { } } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 3349da7..59967c7 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2799,6 +2799,12 @@ gdb_caching_proc allow_python_tests {} { return [expr {[string first "--with-python" $output] != -1}] } +# Return a 1 if GDB was configured to support compile commands. +gdb_caching_proc allow_compile_tests {} { + set output [remote_exec host $::GDB "$::INTERNAL_GDBFLAGS -ex \"compile int x = 1\" -batch"] + return [expr {[string first "The program must be running" $output] != -1}] +} + # Return a 1 for configurations that use system readline rather than the # in-repo copy. @@ -3931,13 +3937,16 @@ gdb_caching_proc is_aarch32_target {} { return 0 } - set list {} - foreach reg \ - {r0 r1 r2 r3} { - lappend list "\tmov $reg, $reg" - } + return [gdb_can_simple_compile aarch32 { + int main (void) { + asm ("\tmov r0, r0"); + asm ("\tmov r1, r1"); + asm ("\tmov r2, r2"); + asm ("\tmov r3, r3"); - return [gdb_can_simple_compile aarch32 [join $list \n]] + return 0; + } + }] } # Return 1 if this target is an aarch64, either lp64 or ilp32. @@ -5940,6 +5949,23 @@ proc gdb_compile {source dest type options} { } } + # On AIX systems, until GCC 12 (maybe later), stabs was the default + # debug option, but we'd like to have dwarf instead. + # If we're running on one of those systems and debug was requested, + # but no explicit -g<format> option was given, use -gdwarf to force + # that as the debug info for the inferior. + # This list should be exhaustive: + set debug_format "btf|ctf|stabs|vms|coff|xcoff" + # Since additional_flags is a comma separated list, identify if there + # are other (optional) flags in the list. + set other_options "-\[a-zA-Z0-9\]*," + set full_regexp "^additional_flags=\($other_options\)*-g\($debug_format\)" + if { [istarget *-*-aix*] + && [lsearch -exact $options debug] != -1 + && [lsearch -regexp $options $full_regexp] == -1} { + lappend new_options "additional_flags=-gdwarf" + } + set shlib_found 0 set shlib_load 0 foreach opt $options { diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in index 491882e..d222028 100644 --- a/gdbserver/Makefile.in +++ b/gdbserver/Makefile.in @@ -194,6 +194,7 @@ SFILES = \ $(srcdir)/linux-loongarch-low.cc \ $(srcdir)/linux-low.cc \ $(srcdir)/linux-m68k-low.cc \ + $(srcdir)/linux-microblaze-low.cc \ $(srcdir)/linux-mips-low.cc \ $(srcdir)/linux-or1k-low.cc \ $(srcdir)/linux-ppc-low.cc \ diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv index e8dc8ef..6281cda 100644 --- a/gdbserver/configure.srv +++ b/gdbserver/configure.srv @@ -169,6 +169,13 @@ case "${gdbserver_host}" in srv_linux_regsets=yes srv_linux_thread_db=yes ;; + microblaze*-*-linux*) srv_regobj="microblaze-linux.o" + srv_tgtobj="$srv_linux_obj linux-microblaze-low.o" + srv_xmlfiles="microblaze-linux.xml" + srv_xmlfiles="${srv_xmlfiles} microblaze-core.xml" + srv_linux_usrregs=yes + srv_linux_thread_db=yes + ;; mips*-*-linux*) srv_regobj="mips-linux.o" srv_regobj="${srv_regobj} mips-dsp-linux.o" srv_regobj="${srv_regobj} mips64-linux.o" diff --git a/gdbserver/linux-microblaze-low.cc b/gdbserver/linux-microblaze-low.cc new file mode 100644 index 0000000..2d97eef --- /dev/null +++ b/gdbserver/linux-microblaze-low.cc @@ -0,0 +1,245 @@ +/* GNU/Linux/Microblaze specific low level interface, for the remote server for + GDB. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include "server.h" +#include "linux-low.h" + +#include "elf/common.h" +#include "nat/gdb_ptrace.h" +#include <endian.h> + +#include <asm/ptrace.h> +#include <sys/procfs.h> +#include <sys/ptrace.h> + +#include "gdb_proc_service.h" + + +static int microblaze_regmap[] = + {PT_GPR(0), PT_GPR(1), PT_GPR(2), PT_GPR(3), + PT_GPR(4), PT_GPR(5), PT_GPR(6), PT_GPR(7), + PT_GPR(8), PT_GPR(9), PT_GPR(10), PT_GPR(11), + PT_GPR(12), PT_GPR(13), PT_GPR(14), PT_GPR(15), + PT_GPR(16), PT_GPR(17), PT_GPR(18), PT_GPR(19), + PT_GPR(20), PT_GPR(21), PT_GPR(22), PT_GPR(23), + PT_GPR(24), PT_GPR(25), PT_GPR(26), PT_GPR(27), + PT_GPR(28), PT_GPR(29), PT_GPR(30), PT_GPR(31), + PT_PC, PT_MSR, PT_EAR, PT_ESR, + PT_FSR + }; + + + +class microblaze_target : public linux_process_target +{ +public: + + const regs_info *get_regs_info () override; + + const gdb_byte *sw_breakpoint_from_kind (int kind, int *size) override; + +protected: + + void low_arch_setup () override; + + bool low_cannot_fetch_register (int regno) override; + + bool low_cannot_store_register (int regno) override; + + bool low_supports_breakpoints () override; + + CORE_ADDR low_get_pc (regcache *regcache) override; + + void low_set_pc (regcache *regcache, CORE_ADDR newpc) override; + + bool low_breakpoint_at (CORE_ADDR pc) override; +}; + +/* The singleton target ops object. */ + +static microblaze_target the_microblaze_target; + +constexpr auto microblaze_num_regs + = sizeof (microblaze_regmap) / sizeof (microblaze_regmap[0]); + +/* Defined in auto-generated file microblaze-linux-generated.c. */ +void init_registers_microblaze_linux (); +extern const target_desc *tdesc_microblaze_linux; + +bool +microblaze_target::low_supports_breakpoints () +{ + return true; +} + +bool +microblaze_target::low_cannot_store_register (int regno) +{ + if (microblaze_regmap[regno] == -1 || regno == 0) + return 1; + + return 0; +} + +bool +microblaze_target::low_cannot_fetch_register (int regno) +{ + return 0; +} + +CORE_ADDR +microblaze_target::low_get_pc (regcache *regcache) +{ + unsigned long pc; + + collect_register_by_name (regcache, "rpc", &pc); + return pc; +} + +void +microblaze_target::low_set_pc (regcache *regcache, CORE_ADDR pc) +{ + unsigned long newpc = pc; + + supply_register_by_name (regcache, "rpc", &newpc); +} + +/* dbtrap insn */ +/* brki r16, 0x18; */ +static const uint32_t microblaze_breakpoint = 0xba0c0018; +#define microblaze_breakpoint_len 4 + +const gdb_byte * +microblaze_target::sw_breakpoint_from_kind (int kind, int *size) +{ + *size = microblaze_breakpoint_len; + return reinterpret_cast<const gdb_byte *> (µblaze_breakpoint); +} + +bool +microblaze_target::low_breakpoint_at (CORE_ADDR where) +{ + uint32_t insn; + + read_memory (where, (unsigned char *) &insn, 4); + /* If necessary, recognize more trap instructions here. GDB only uses the + one. */ + return insn == microblaze_breakpoint; +} + +#ifdef HAVE_PTRACE_GETREGS + +static void +microblaze_collect_ptrace_register (struct regcache *regcache, int regno, + char *buf) +{ + memset (buf, 0, sizeof (long)); + + if (__BYTE_ORDER == __LITTLE_ENDIAN) + { + collect_register (regcache, regno, buf); + } + else if (__BYTE_ORDER == __BIG_ENDIAN) + { + int size = register_size (regcache->tdesc, regno); + + if (size < sizeof (long)) + collect_register (regcache, regno, buf + sizeof (long) - size); + else + collect_register (regcache, regno, buf); + } +} + +/* Collect GPRs from REGCACHE into BUF. */ + +static void microblaze_fill_gregset (struct regcache *regcache, void *buf) +{ + int i; + + for (i = 0; i < microblaze_num_regs; i++) + microblaze_collect_ptrace_register (regcache, i, + (char *) buf + microblaze_regmap[i]); +} + +/* Supply GPRs from BUF into REGCACHE. */ + +static void +microblaze_store_gregset (struct regcache *regcache, const void *buf) +{ + int i; + + for (i = 0; i < microblaze_num_regs; i++) + supply_register (regcache, i, (char *) buf + microblaze_regmap[i]); +} + +static struct regset_info microblaze_regsets[] = { + { PTRACE_GETREGS, PTRACE_SETREGS, NT_PRSTATUS, + sizeof (elf_gregset_t), GENERAL_REGS, + microblaze_fill_gregset, microblaze_store_gregset + }, + NULL_REGSET +}; +#endif /* HAVE_PTRACE_GETREGS */ + +static struct usrregs_info microblaze_usrregs_info = + { + microblaze_num_regs, + microblaze_regmap, + }; + +#ifdef HAVE_PTRACE_GETREGS +static struct regsets_info microblaze_regsets_info = + { + microblaze_regsets, /* regsets */ + 0, /* num_regsets */ + nullptr /* disabled_regsets */ + }; +#endif /* HAVE_PTRACE_GETREGS */ + +static struct regs_info microblaze_regs_info = + { + nullptr, /* regset_bitmap */ + µblaze_usrregs_info, +#ifdef HAVE_PTRACE_GETREGS + µblaze_regsets_info +#endif /* HAVE_PTRACE_GETREGS */ + }; + +const regs_info * +microblaze_target::get_regs_info () +{ + return µblaze_regs_info; +} + +void +microblaze_target::low_arch_setup () +{ + current_process ()->tdesc = tdesc_microblaze_linux; +} + +linux_process_target *the_linux_target = &the_microblaze_target; + +void +initialize_low_arch () +{ + init_registers_microblaze_linux (); +#ifdef HAVE_PTRACE_GETREGS + initialize_regsets_info (µblaze_regsets_info); +#endif /* HAVE_PTRACE_GETREGS */ +} diff --git a/gdbserver/tracepoint.cc b/gdbserver/tracepoint.cc index 5e3792e..97e41c0 100644 --- a/gdbserver/tracepoint.cc +++ b/gdbserver/tracepoint.cc @@ -948,7 +948,7 @@ struct ipa_trace_buffer_control who wrote last to the buffer control structure. We need to freeze any inferior writing to the buffer while GDBserver touches memory, so that the inferior can correctly detect that GDBserver had been - there, otherwise, it could mistakingly think its commit was + there, otherwise, it could mistakenly think its commit was successful; that's implemented by simply having GDBserver set a breakpoint the inferior hits if it is the critical region. diff --git a/gdbsupport/common-debug.h b/gdbsupport/common-debug.h index 6c793dc..547ea47 100644 --- a/gdbsupport/common-debug.h +++ b/gdbsupport/common-debug.h @@ -106,7 +106,7 @@ struct scoped_debug_start_end If the FMT format string is non-nullptr, then a `: ` is appended to the messages, followed by the rendering of that format string with ARGS. - The format string is rendered during construction and is re-used as is + The format string is rendered during construction and is reused as is for the message on exit. */ scoped_debug_start_end (PT &debug_enabled, const char *module, @@ -215,7 +215,7 @@ private: bool m_disabled = false; }; -/* Implementation of is_debug_enabled when PT is an invokable type. */ +/* Implementation of is_debug_enabled when PT is an invocable type. */ template<typename PT> inline bool diff --git a/gdbsupport/common-inferior.cc b/gdbsupport/common-inferior.cc index 4b86829..d2fd348 100644 --- a/gdbsupport/common-inferior.cc +++ b/gdbsupport/common-inferior.cc @@ -59,7 +59,7 @@ escape_characters (const char *arg, const char *special) #ifdef __MINGW32__ bool quoted = false; - if (strpbrk (argv[i], special)) + if (strpbrk (arg, special) != nullptr) { quoted = true; result += quote; diff --git a/gdbsupport/event-loop.cc b/gdbsupport/event-loop.cc index 4f7ad36..64cdb1f 100644 --- a/gdbsupport/event-loop.cc +++ b/gdbsupport/event-loop.cc @@ -81,7 +81,7 @@ struct file_handler #ifdef HAVE_POLL /* Do we use poll or select? Some systems have poll, but then it's - not useable with all kinds of files. We probe that whenever a new + not usable with all kinds of files. We probe that whenever a new file handler is added. */ static bool use_poll = true; #endif diff --git a/gdbsupport/gdb_tilde_expand.cc b/gdbsupport/gdb_tilde_expand.cc index 4a0a573..f009979 100644 --- a/gdbsupport/gdb_tilde_expand.cc +++ b/gdbsupport/gdb_tilde_expand.cc @@ -51,7 +51,7 @@ public: } /* Return the GL_PATHC component of M_GLOB. */ - int pathc () const + int pathc () const /* codespell:ignore */ { return m_glob.gl_pathc; } @@ -96,6 +96,6 @@ gdb_tilde_expand (const char *dir) const gdb_glob glob (to_expand.c_str (), GLOB_TILDE_CHECK, nullptr); - gdb_assert (glob.pathc () == 1); + gdb_assert (glob.pathc () == 1); /* codespell:ignore */ return std::string (glob.pathv ()[0]) + remainder; } diff --git a/gdbsupport/setup.cfg b/gdbsupport/setup.cfg deleted file mode 100644 index e3e9298..0000000 --- a/gdbsupport/setup.cfg +++ /dev/null @@ -1,4 +0,0 @@ -[codespell] -# Skip ChangeLogs and generated files. -skip = ChangeLog*,Makefile.in,configure -ignore-words = gdb/contrib/codespell-ignore-words.txt diff --git a/gprof/testsuite/Makefile.am b/gprof/testsuite/Makefile.am index c4d6c41..0c80b12 100644 --- a/gprof/testsuite/Makefile.am +++ b/gprof/testsuite/Makefile.am @@ -6,12 +6,12 @@ GPROF = ../gprof$(EXEEXT) # NB: -O2 -fno-omit-frame-pointer is needed for expected call graph. See # https://sourceware.org/bugzilla/show_bug.cgi?id=32768 -GPROF_FLAGS = -O2 -fno-omit-frame-pointer -pg +# -g is needed for line number info checked by tst-gmon-gprof-l.sh. See +# https://sourceware.org/bugzilla/show_bug.cgi?id=32779 +GPROF_FLAGS = -O2 -fno-omit-frame-pointer -pg -g -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(GPROF_FLAGS) -LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) $(GPROF_FLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(AM_CFLAGS) $(GPROF_FLAGS) +LINK = $(CC) $(AM_CFLAGS) $(GPROF_FLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ # We will add to these later, for each individual test. Note # that we add each test under check_SCRIPTS; diff --git a/gprof/testsuite/Makefile.in b/gprof/testsuite/Makefile.in index 008f6be..2ac5f24 100644 --- a/gprof/testsuite/Makefile.in +++ b/gprof/testsuite/Makefile.in @@ -496,13 +496,11 @@ GPROF = ../gprof$(EXEEXT) # NB: -O2 -fno-omit-frame-pointer is needed for expected call graph. See # https://sourceware.org/bugzilla/show_bug.cgi?id=32768 -GPROF_FLAGS = -O2 -fno-omit-frame-pointer -pg -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(GPROF_FLAGS) - -LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) $(GPROF_FLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ - +# -g is needed for line number info checked by tst-gmon-gprof-l.sh. See +# https://sourceware.org/bugzilla/show_bug.cgi?id=32779 +GPROF_FLAGS = -O2 -fno-omit-frame-pointer -pg -g +COMPILE = $(CC) $(AM_CFLAGS) $(GPROF_FLAGS) +LINK = $(CC) $(AM_CFLAGS) $(GPROF_FLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ # We will add to these later, for each individual test. Note # that we add each test under check_SCRIPTS; diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh index 72616b5..aa051c7 100644 --- a/ld/emulparams/aarch64elf.sh +++ b/ld/emulparams/aarch64elf.sh @@ -18,6 +18,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ENTRY=_start EMBEDDED=yes diff --git a/ld/emulparams/aarch64elf32.sh b/ld/emulparams/aarch64elf32.sh index 45bf31a..0565b7a 100644 --- a/ld/emulparams/aarch64elf32.sh +++ b/ld/emulparams/aarch64elf32.sh @@ -18,6 +18,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ENTRY=_start EMBEDDED=yes diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 4e72f1b..de1cfaf 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -381,6 +381,7 @@ static const autofilter_entry_type autofilter_liblist[] = { STRING_COMMA_LEN ("libmsvcrt") }, { STRING_COMMA_LEN ("libmsvcrt-os") }, { STRING_COMMA_LEN ("libucrt") }, + { STRING_COMMA_LEN ("libucrtapp") }, { STRING_COMMA_LEN ("libucrtbase") }, { STRING_COMMA_LEN ("libpthread") }, { STRING_COMMA_LEN ("libwinpthread") }, diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index bf8952a..09669b5 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -1618,12 +1618,12 @@ if { [istarget *-*-linux*] ] \ [list \ "Run pr21964-4" \ - "" \ + "$NOPIE_LDFLAGS" \ "" \ {pr21964-4.c} \ "pr21964-4" \ "pass.out" \ - "" \ + "$NOPIE_CFLAGS" \ "" \ "" \ "-ldl" \ @@ -1664,7 +1664,7 @@ proc mix_pic_and_non_pic {xfails cflags ldflags exe} { run_ld_link_exec_tests [list \ [list \ - "Run $exe fun defined" \ + "Run $exe fun undefined" \ "-Wl,--no-as-needed,-rpath,tmpdir $ldflags tmpdir/libpr19719b.o tmpdir/libpr19719.so" \ "" \ { pr19719a.c pr19719c.c } \ @@ -1682,19 +1682,19 @@ proc mix_pic_and_non_pic {xfails cflags ldflags exe} { } if ![isnative] { - unsupported "Run $exe fun undefined" + unsupported "Run $exe fun defined" return } set exec_output [run_host_cmd "tmpdir/$exe" ""] if {![string match "PASS\n" $exec_output]} { - fail "Run $exe fun undefined" + fail "Run $exe fun defined" } else { - pass "Run $exe fun undefined" + pass "Run $exe fun defined" } } -mix_pic_and_non_pic [list "arm*-*-*"] "" "" "pr19719" +mix_pic_and_non_pic [list "arm*-*-*"] "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" "pr19719" mix_pic_and_non_pic [] "-fPIE" "-pie" "pr19719pie" set AFLAGS_PIE "" diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp index bdbe9a9..a8ddac2 100644 --- a/ld/testsuite/ld-shared/shared.exp +++ b/ld/testsuite/ld-shared/shared.exp @@ -121,6 +121,7 @@ proc shared_test { progname testname main sh1 sh2 dat args } { global tmpdir if [llength $args] { set shldflags [lindex $args 0] } else { set shldflags "" } + if { [llength $args] >= 2 } { set ldflags [lindex $args 1] } else { set ldflags "" } # Build the shared library. set shared -shared @@ -146,7 +147,7 @@ proc shared_test { progname testname main sh1 sh2 dat args } { set rpath /lib:$tmpdir set exportflag " -Wl,-bexpall" } - if ![ld_link $CC_FOR_TARGET $tmpdir/$progname "-Wl,-rpath,$rpath $tmpdir/$main $tmpdir/$progname.so $exportflag"] { + if ![ld_link $CC_FOR_TARGET $tmpdir/$progname "-Wl,-rpath,$rpath $ldflags $tmpdir/$main $tmpdir/$progname.so $exportflag"] { fail "$testname" return } @@ -205,7 +206,9 @@ if { [istarget mips*-*-*] && ! [at_least_gcc_version 4 3] } then { verbose "Using $picflag to compile PIC code" # Compile the main program. -if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { +global PLT_CFLAGS NOPIE_CFLAGS NOPIE_LDFLAGS +verbose "Using $NOPIE_CFLAGS to compile and $NOPIE_LDFLAGS to link non PIC code" +if ![ld_compile "$CC_FOR_TARGET $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { unsupported "shared (non PIC)" unsupported "shared" } else { @@ -215,12 +218,11 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp. # will need to do more relocation work. However, note that not # using -fpic will cause some of the tests to return different # results. Make sure that PLT is used since PLT is expected. - global PLT_CFLAGS NOPIE_CFLAGS if { ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] - || ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $SHCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { + || ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { unsupported "shared (non PIC)" } else { if { [is_xcoff_format] } { - shared_test shnp "shared (nonPIC)" mainnp.o sh1np.o sh2np.o xcoff + shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o xcoff "" $NOPIE_LDFLAGS } else { # Solaris defaults to -z text. setup_xfail "*-*-solaris2*" @@ -243,7 +245,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp. setup_xfail "arm*-*-linux*" } setup_xfail "aarch64*-*-linux*" - shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared + shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared "" $NOPIE_LDFLAGS # Test ELF shared library relocations with a non-zero load # address for the library. Near as I can tell, the R_*_RELATIVE @@ -273,7 +275,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp. setup_xfail "*-*-solaris2*" shared_test shnp "shared (non PIC, load offset)" \ mainnp.o sh1np.o sh2np.o shared \ - "-Wl,-T,$srcdir/$subdir/elf-offset.ld,--hash-style=sysv" + "-Wl,-T,$srcdir/$subdir/elf-offset.ld,--hash-style=sysv" $NOPIE_LDFLAGS } } # Now compile the code using -fpic. @@ -283,13 +285,13 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp. unsupported "shared" } else { if { [is_xcoff_format] } { - shared_test shp "shared" mainnp.o sh1p.o sh2p.o xcoff + shared_test shp "shared" mainnp.o sh1p.o sh2p.o xcoff "" $NOPIE_LDFLAGS } else { - shared_test shp "shared" mainnp.o sh1p.o sh2p.o shared - ld_compile "$CC_FOR_TARGET -DSYMBOLIC_TEST $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o + shared_test shp "shared" mainnp.o sh1p.o sh2p.o shared "" $NOPIE_LDFLAGS + ld_compile "$CC_FOR_TARGET $NOPIE_CFLAGS -DSYMBOLIC_TEST $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o ld_compile "$CC_FOR_TARGET -DSYMBOLIC_TEST $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o - shared_test shp "shared -Bsymbolic" mainnp.o sh1p.o sh2p.o symbolic "-Bsymbolic" - ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o + shared_test shp "shared -Bsymbolic" mainnp.o sh1p.o sh2p.o symbolic "-Bsymbolic" $NOPIE_LDFLAGS + ld_compile "$CC_FOR_TARGET $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o } } @@ -302,7 +304,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi } else { if { [file exists $tmpdir/sh1np.o ] && [ file exists $tmpdir/sh2np.o ] } { if { [is_xcoff_format] } { - shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o xcoff + shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o xcoff "" $NOPIE_LDFLAGS } else { # Solaris defaults to -z text. setup_xfail "*-*-solaris2*" @@ -325,7 +327,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi setup_xfail "arm*-*-linux*" } setup_xfail "aarch64*-*-linux*" - shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared + shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared "" $NOPIE_LDFLAGS } } else { unsupported "shared (PIC main, non PIC so)" @@ -333,9 +335,9 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi if { [file exists $tmpdir/sh1p.o ] && [ file exists $tmpdir/sh2p.o ] } { if { [is_xcoff_format] } { - shared_test shmpp "shared (PIC main)" mainp.o sh1p.o sh2p.o xcoff + shared_test shmpp "shared (PIC main)" mainp.o sh1p.o sh2p.o xcoff "" $NOPIE_LDFLAGS } else { - shared_test shmpp "shared (PIC main)" mainp.o sh1p.o sh2p.o shared + shared_test shmpp "shared (PIC main)" mainp.o sh1p.o sh2p.o shared "" $NOPIE_LDFLAGS } } else { unsupported "shared (PIC main)" diff --git a/ld/testsuite/ld-vsb/vsb.exp b/ld/testsuite/ld-vsb/vsb.exp index 9a61e9d..e44ac39 100644 --- a/ld/testsuite/ld-vsb/vsb.exp +++ b/ld/testsuite/ld-vsb/vsb.exp @@ -134,6 +134,7 @@ proc visibility_test { visibility progname testname main sh1 sh2 dat args } { global tmpdir if [llength $args] { set shldflags [lindex $args 0] } else { set shldflags "" } + if { [llength $args] >= 2 } { set ldflags [lindex $args 1] } else { set ldflags "" } # Build the shared library. set shared -shared @@ -169,7 +170,7 @@ proc visibility_test { visibility progname testname main sh1 sh2 dat args } { set rpath /lib:$tmpdir set exportflag " -Wl,-bexpall" } - if ![ld_link $CC_FOR_TARGET $tmpdir/$progname "-Wl,-rpath,$rpath $tmpdir/$main $tmpdir/$progname.so $exportflag"] { + if ![ld_link $CC_FOR_TARGET $tmpdir/$progname "-Wl,-rpath,$rpath $ldflags $tmpdir/$main $tmpdir/$progname.so $exportflag"] { if { [ string match $visibility "hidden" ] && [regexp "undefined reference to \`\.?visibility\'" $link_output] && [regexp "undefined reference to \`visibility_var\'" $link_output] } { @@ -235,6 +236,7 @@ proc visibility_run {visibility} { global shared_needs_pic global PLT_CFLAGS global NOPIE_CFLAGS + global NOPIE_LDFLAGS global COMPRESS_LDFLAG global NOSANITIZE_CFLAGS global NOLTO_CFLAGS @@ -284,7 +286,7 @@ proc visibility_run {visibility} { } else { # Compile the main program. Make sure that PLT is used since PLT # is expected. - if ![ld_compile "$CC_FOR_TARGET -g $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { + if ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { unsupported "visibility ($visibility) (non PIC)" unsupported "visibility ($visibility)" } else { @@ -343,7 +345,7 @@ proc visibility_run {visibility} { setup_xfail "*-*-beos*" } - visibility_test $visibility vnp "visibility ($visibility) (non PIC)" mainnp.o sh1np.o sh2np.o $datfile + visibility_test $visibility vnp "visibility ($visibility) (non PIC)" mainnp.o sh1np.o sh2np.o $datfile "" $NOPIE_LDFLAGS # Test ELF shared library relocations with a non-zero load # address for the library. Near as I can tell, the R_*_RELATIVE @@ -395,7 +397,7 @@ proc visibility_run {visibility} { if { ![is_xcoff_format] } { visibility_test $visibility vnp "visibility ($visibility) (non PIC, load offset)" \ mainnp.o sh1np.o sh2np.o $datfile \ - "-Wl,-T,$srcdir/$subdir/elf-offset.ld,--hash-style=sysv" + "-Wl,-T,$srcdir/$subdir/elf-offset.ld,--hash-style=sysv" $NOPIE_LDFLAGS } } @@ -411,7 +413,7 @@ proc visibility_run {visibility} { setup_xfail $target_triplet } } - visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o $datfile $COMPRESS_LDFLAG + visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o $datfile $COMPRESS_LDFLAG $NOPIE_LDFLAGS } }} @@ -466,7 +468,7 @@ proc visibility_run {visibility} { setup_xfail "*-*-beos*" } - visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o $datfile + visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o $datfile "" $NOPIE_LDFLAGS } else { unsupported "visibility (PIC main, non PIC so)" } @@ -488,7 +490,7 @@ proc visibility_run {visibility} { setup_xfail "*-*-beos*" } - visibility_test $visibility vmpp "visibility ($visibility) (PIC main)" mainp.o sh1p.o sh2p.o $datfile + visibility_test $visibility vmpp "visibility ($visibility) (PIC main)" mainp.o sh1p.o sh2p.o $datfile "" $NOPIE_LDFLAGS } else { unsupported "visibility ($visibility) (PIC main)" } diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 01d6459..52c4d5e 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -2168,9 +2168,9 @@ if { [isnative] && [check_compiler_available] } { } undefined_weak "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" - undefined_weak "-fPIE" "" + undefined_weak "-fPIE" "$NOPIE_LDFLAGS" undefined_weak "-fPIE" "-pie" - undefined_weak "-fPIE" "-Wl,-z,nodynamic-undefined-weak" + undefined_weak "-fPIE" "$NOPIE_LDFLAGS -Wl,-z,nodynamic-undefined-weak" undefined_weak "-fPIE" "-pie -Wl,-z,nodynamic-undefined-weak" } diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 9cf6de4..703f09d 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -230,7 +230,6 @@ struct instr_info bool b; bool no_broadcast; bool nf; - bool u; } vex; @@ -9452,8 +9451,6 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) if (!(*ins->codep & 0x4)) ins->rex2 |= REX_X; - ins->vex.u = *ins->codep & 0x4; - switch ((*ins->codep & 0x3)) { case 0: @@ -9488,8 +9485,8 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) { /* Report bad for !evex_default and when two fixed values of evex change. */ - if (ins->evex_type != evex_default || (ins->rex2 & REX_B) - || ((ins->rex2 & REX_X) && (ins->modrm.mod != 3))) + if (ins->evex_type != evex_default + || (ins->rex2 & (REX_B | REX_X))) return &bad_opcode; /* In 16/32-bit mode silently ignore following bits. */ ins->rex &= ~REX_B; @@ -9513,22 +9510,14 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) if (!fetch_modrm (ins)) return &err_opcode; - /* When modrm.mod != 3, the U bit is used by APX for bit X4. - When modrm.mod == 3, the U bit is used by AVX10. The U bit and - the b bit should not be zero at the same time. */ - if (ins->modrm.mod == 3 && !ins->vex.u && !ins->vex.b) + if (ins->modrm.mod == 3 && (ins->rex2 & REX_X)) return &bad_opcode; /* Set vector length. For EVEX-promoted instructions, evex.ll == 0b00, which has the same encoding as vex.length == 128 and they can share the same processing with vex.length in OP_VEX. */ if (ins->modrm.mod == 3 && ins->vex.b && ins->evex_type != evex_from_legacy) - { - if (ins->vex.u) - ins->vex.length = 512; - else - ins->vex.length = 256; - } + ins->vex.length = 512; else { switch (ins->vex.ll) diff --git a/opcodes/i386-mnem.h b/opcodes/i386-mnem.h index 312c9e3..3e69415 100644 --- a/opcodes/i386-mnem.h +++ b/opcodes/i386-mnem.h @@ -2624,7 +2624,8 @@ extern const char i386_mnemonics[]; #define MN__store_ 0x5060 #define MN__nooptimize_ 0x5068 #define MN__nf_ 0x5075 -#define MN__rex_ 0x507a -#define MN__evex_ 0x5080 -#define MN__vex_ 0x5087 -#define MN__insn 0x508d +#define MN__noimm8s_ 0x507a +#define MN__rex_ 0x5084 +#define MN__evex_ 0x508a +#define MN__vex_ 0x5091 +#define MN__insn 0x5097 diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index f861cdc..fac0371 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -1074,6 +1074,7 @@ typedef struct insn_template #define Prefix_REX2 9 /* {rex2} */ #define Prefix_NoOptimize 10 /* {nooptimize} */ #define Prefix_NF 11 /* {nf} */ +#define Prefix_NoImm8s 12 /* {noimm8s} */ /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 5b26fe8..bc71987 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -947,7 +947,7 @@ rex.wrxb, 0x4f, x64, NoSuf|IsPrefix, {} load:Load:0, store:Store:0, + vex:VEX:0, vex2:VEX:0, vex3:VEX3:0, evex:EVEX:0, + rex:REX:x64, rex2:REX2:APX_F, nf:NF:APX_F, + - nooptimize:NoOptimize:0> + nooptimize:NoOptimize:0, noimm8s:NoImm8s:0> {<pseudopfx>}, PSEUDO_PREFIX/Prefix_<pseudopfx:ident>, <pseudopfx:cpu>, NoSuf|IsPrefix, {} @@ -2242,10 +2242,10 @@ vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ&(AVX|AVX512F), Modrm|Space0F3A|Vex|EVexDY // continue to work. <Exy:vl:attr:sr:sae:src:dst, + $z::EVex512|Disp8MemShift=6:StaticRounding|SAE:SAE:RegZMM|Unspecified|BaseIndex:RegYMM, + - $i:AVX512VL:Disp8ShiftVL|IntelSyntax:StaticRounding|SAE:SAE:RegXMM|RegYMM|Unspecified|BaseIndex:RegXMM, + - $a:AVX512VL:Disp8ShiftVL|ATTSyntax:StaticRounding|SAE:SAE:RegXMM|RegYMM|BaseIndex:RegXMM, + + $i:AVX512VL:Disp8ShiftVL|IntelSyntax:::RegXMM|RegYMM|Unspecified|BaseIndex:RegXMM, + + $a:AVX512VL:Disp8ShiftVL|ATTSyntax:::RegXMM|RegYMM|BaseIndex:RegXMM, + x:AVX512VL:EVex128|Disp8MemShift=4|ATTSyntax:::RegXMM|Unspecified|BaseIndex:RegXMM, + - y:AVX512VL:EVex256|Disp8MemShift=5|ATTSyntax:StaticRounding|SAE:SAE:RegYMM|Unspecified|BaseIndex:RegXMM> + y:AVX512VL:EVex256|Disp8MemShift=5|ATTSyntax:::RegYMM|Unspecified|BaseIndex:RegXMM> kand<bw>, 0x<bw:kpfx>41, <bw:kcpu>, Modrm|Vex256|Space0F|Src1VVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } kandn<bw>, 0x<bw:kpfx>42, <bw:kcpu>, Modrm|Vex256|Space0F|Src1VVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } @@ -2640,10 +2640,10 @@ vcvtudq2pd, 0xF37A, AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp vcvtudq2pd, 0xF37A, AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtph2ps, 0x6613, AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } -vcvtph2ps, 0x6613, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Unspecified|BaseIndex, RegYMM } +vcvtph2ps, 0x6613, AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } vcvtps2pd, 0x5A, AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } -vcvtps2pd, 0x5A, AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +vcvtps2pd, 0x5A, AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtps2ph, 0x661D, AVX512VL, Modrm|EVex128|Masking|Space0F3A|VexW0|Disp8MemShift=3|NoSuf, { Imm8, RegXMM, RegXMM|Qword|Unspecified|BaseIndex } vcvtps2ph, 0x661D, AVX512VL, Modrm|EVex256|Masking|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, RegXMM|Unspecified|BaseIndex } @@ -2797,7 +2797,7 @@ vptestnm<bw>, 0xf326, AVX512BW, Modrm|Masking|Space0F38|Src1VVVV|<bw:vexw>|Disp8 $a::Disp8ShiftVL|ATTSyntax:StaticRounding|SAE::RegXMM|RegYMM|RegZMM|BaseIndex, + z::EVex512|Disp8MemShift=6:StaticRounding|SAE:ATTSyntax:RegZMM|Unspecified|BaseIndex, + x:AVX512VL:EVex128|Disp8MemShift=4::ATTSyntax:RegXMM|Unspecified|BaseIndex, + - y:AVX512VL:EVex256|Disp8MemShift=5:StaticRounding|SAE:ATTSyntax:RegYMM|Unspecified|BaseIndex> + y:AVX512VL:EVex256|Disp8MemShift=5::ATTSyntax:RegYMM|Unspecified|BaseIndex> kadd<bw>, 0x<bw:kpfx>4A, AVX512DQ, Modrm|Vex256|Space0F|Src1VVVV|VexW0|NoSuf, { RegMask, RegMask, RegMask } ktest<bw>, 0x<bw:kpfx>99, AVX512DQ, Modrm|Vex128|Space0F|VexW0|NoSuf, { RegMask, RegMask } @@ -2817,10 +2817,10 @@ vcvtpd2uqq, 0x6679, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL vcvtps2qq, 0x667B, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } vcvtps2qq, 0x667B, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } -vcvtps2qq, 0x667B, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +vcvtps2qq, 0x667B, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtps2uqq, 0x6679, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } vcvtps2uqq, 0x6679, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } -vcvtps2uqq, 0x6679, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +vcvtps2uqq, 0x6679, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtqq2pd, 0xF3E6, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } vcvtuqq2pd, 0xF37A, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } @@ -2832,10 +2832,10 @@ vcvttpd2uqq, 0x6678, AVX512DQ, Modrm|Masking|Space0F|VexW1|Broadcast|Disp8ShiftV vcvttps2qq, 0x667A, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } vcvttps2qq, 0x667A, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } -vcvttps2qq, 0x667A, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +vcvttps2qq, 0x667A, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvttps2uqq, 0x6678, AVX512DQ, Modrm|EVex512|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } vcvttps2uqq, 0x6678, AVX512DQ&AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } -vcvttps2uqq, 0x6678, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +vcvttps2uqq, 0x6678, AVX512DQ&AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtuqq2ps<Exy>, 0xf27a, AVX512DQ&<Exy:vl>, Modrm|<Exy:attr>|Masking|Space0F|VexW1|Broadcast|NoSuf|<Exy:sr>, { <Exy:src>|Qword, <Exy:dst> } @@ -3356,23 +3356,23 @@ vcvtw2ph, 0xf37d, AVX512_FP16, Modrm|Masking|Map5|VexW0|Broadcast|Disp8ShiftVL|C vcvtuw2ph, 0xf27d, AVX512_FP16, Modrm|Masking|Map5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } vcvtph2dq, 0x665b, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } -vcvtph2dq, 0x665b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } +vcvtph2dq, 0x665b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } vcvtph2dq, 0x665b, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } vcvtph2udq, 0x79, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } -vcvtph2udq, 0x79, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } +vcvtph2udq, 0x79, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } vcvtph2udq, 0x79, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|StaticRounding|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } vcvtph2qq, 0x667b, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } -vcvtph2qq, 0x667b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf|StaticRounding|SAE, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } +vcvtph2qq, 0x667b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } vcvtph2qq, 0x667b, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } vcvtph2uqq, 0x6679, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } -vcvtph2uqq, 0x6679, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf|StaticRounding|SAE, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } +vcvtph2uqq, 0x6679, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } vcvtph2uqq, 0x6679, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } vcvtph2pd, 0x5a, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } -vcvtph2pd, 0x5a, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf|SAE, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } +vcvtph2pd, 0x5a, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } vcvtph2pd, 0x5a, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } vcvtph2w, 0x667d, AVX512_FP16, Modrm|Masking|Map5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } @@ -3393,23 +3393,23 @@ vcvtsh2ss, 0x13, AVX512_FP16, Modrm|EVexLIG|Masking|Map6|Src1VVVV|VexW0|Disp8Mem vcvtsh2si, 0xf32d, AVX512_FP16, Modrm|EVexLIG|Map5|Disp8MemShift=1|NoSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, Reg32|Reg64 } vcvttph2dq, 0xf35b, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } -vcvttph2dq, 0xf35b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } +vcvttph2dq, 0xf35b, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } vcvttph2dq, 0xf35b, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } vcvttph2udq, 0x78, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } -vcvttph2udq, 0x78, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } +vcvttph2udq, 0x78, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } vcvttph2udq, 0x78, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } vcvttph2qq, 0x667a, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } -vcvttph2qq, 0x667a, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf|SAE, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } +vcvttph2qq, 0x667a, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } vcvttph2qq, 0x667a, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } vcvttph2uqq, 0x6678, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map5|VexW0|Broadcast|Disp8MemShift=2|NoSuf, { RegXMM|Word|Dword|Unspecified|BaseIndex, RegXMM } -vcvttph2uqq, 0x6678, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf|SAE, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } +vcvttph2uqq, 0x6678, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map5|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegYMM } vcvttph2uqq, 0x6678, AVX512_FP16, Modrm|EVex512|Masking|Map5|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegZMM } vcvtph2psx, 0x6613, AVX512_FP16&AVX512VL, Modrm|EVex128|Masking|Map6|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Word|Qword|Unspecified|BaseIndex, RegXMM } -vcvtph2psx, 0x6613, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map6|VexW0|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } +vcvtph2psx, 0x6613, AVX512_FP16&AVX512VL, Modrm|EVex256|Masking|Map6|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegYMM } vcvtph2psx, 0x6613, AVX512_FP16, Modrm|EVex512|Masking|Map6|VexW0|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Word|Unspecified|BaseIndex, RegZMM } vcvttph2w, 0x667c, AVX512_FP16, Modrm|Masking|Map5|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } @@ -3575,7 +3575,7 @@ vcvttpd2<sign>dqs<Exy>, 0x<sign:opc>, AVX10_2, Modrm|Map5|<Exy:attr>|VexW1|Maski vcvttpd2<sign>qqs, 0x66<sign:opc>, AVX10_2, Modrm|Map5|VexW1|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } vcvttps2<sign>dqs, 0x<sign:opc>, AVX10_2, Modrm|Map5|VexW0|Masking|Broadcast|Disp8ShiftVL|Broadcast|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } vcvttps2<sign>qqs, 0x66<sign:opc>, AVX10_2, Modrm|Map5|EVex128|VexW0|Masking|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } -vcvttps2<sign>qqs, 0x66<sign:opc>, AVX10_2, Modrm|Map5|EVex256|VexW0|Masking|Broadcast|Disp8MemShift=4|NoSuf|SAE, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } +vcvttps2<sign>qqs, 0x66<sign:opc>, AVX10_2, Modrm|Map5|EVex256|VexW0|Masking|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } vcvttps2<sign>qqs, 0x66<sign:opc>, AVX10_2, Modrm|Map5|EVex512|VexW0|Masking|Broadcast|Disp8MemShift=5|NoSuf|SAE, { RegYMM|Dword|Unspecified|BaseIndex, RegZMM } vcvttsd2<sign>sis, 0xf2<sign:opc>, AVX10_2, Modrm|Map5|EVexLIG|Disp8MemShift=3|NoSuf|SAE, { RegXMM|Qword|Unspecified|BaseIndex, Reg32|Reg64 } diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index 6fe5873..c7d2912 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -8780,6 +8780,14 @@ static const insn_template i386_optab[] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { { 0, 0, 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__noimm8s_, 0x00, 0, SPACE_BASE, Prefix_NoImm8s, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { { { 0, 0, 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_xadd, 0xc0, 2, SPACE_0F, None, { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -25372,7 +25380,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25382,7 +25390,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25422,7 +25430,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25462,7 +25470,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25472,7 +25480,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25512,7 +25520,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25582,7 +25590,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25830,7 +25838,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25840,7 +25848,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -25880,7 +25888,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -31694,7 +31702,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -37236,7 +37244,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -37246,7 +37254,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -37266,7 +37274,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2udqy, 0x79, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -37388,7 +37396,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -37398,7 +37406,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -37418,7 +37426,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2udqy, 0x78, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40702,7 +40710,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 1, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40732,7 +40740,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 1, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40772,7 +40780,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40782,7 +40790,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40802,7 +40810,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtqq2psy, 0x5b, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40852,7 +40860,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40882,7 +40890,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40902,7 +40910,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40912,7 +40920,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -40932,7 +40940,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtuqq2psy, 0x7a, 2, SPACE_0F, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -44982,7 +44990,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtdq2ph, 0x5b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -44992,7 +45000,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtdq2ph, 0x5b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45012,7 +45020,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtdq2phy, 0x5b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45032,7 +45040,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtudq2ph, 0x7a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45042,7 +45050,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtudq2ph, 0x7a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 3, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45062,7 +45070,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtudq2phy, 0x7a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 3, 1, 3, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 3, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45112,7 +45120,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtqq2phy, 0x5b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45162,7 +45170,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtuqq2phy, 0x7a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45212,7 +45220,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtpd2phy, 0x5a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45232,7 +45240,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvtps2phx, 0x1d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45242,7 +45250,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtps2phx, 0x1d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 1, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 1, 3, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45262,7 +45270,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtps2phxy, 0x1d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 1, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45302,7 +45310,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2dq, 0x5b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45332,7 +45340,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2udq, 0x79, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 1, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45362,7 +45370,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2qq, 0x7b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 1, 1, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45392,7 +45400,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2uqq, 0x79, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 1, 1, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45422,7 +45430,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2pd, 0x5a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 1, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45578,7 +45586,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttph2dq, 0x5b, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45608,7 +45616,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttph2udq, 0x78, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45638,7 +45646,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttph2qq, 0x7a, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 1, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45668,7 +45676,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttph2uqq, 0x78, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 1, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -45698,7 +45706,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvtph2psx, 0x13, 2, SPACE_MAP6, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47408,7 +47416,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvttpd2dqs, 0x6d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47418,7 +47426,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2dqs, 0x6d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47438,7 +47446,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2dqsy, 0x6d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47458,7 +47466,7 @@ static const insn_template i386_optab[] = 0, 1, 0, 0, 0, 0 } } } }, { MN_vcvttpd2udqs, 0x6c, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 1, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47468,7 +47476,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2udqs, 0x6c, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 1, 7, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 1, 4, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47488,7 +47496,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttpd2udqsy, 0x6c, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 5, 0, 2, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47548,7 +47556,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttps2qqs, 0x6d, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47578,7 +47586,7 @@ static const insn_template i386_optab[] = 1, 0, 0, 0, 0, 0 } } } }, { MN_vcvttps2uqqs, 0x6c, 2, SPACE_MAP5, None, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 1, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 1, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -47926,122 +47934,122 @@ static const i386_op_off_t i386_op_sets[] = 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 981, 982, 984, - 986, 987, 988, 989, 990, 991, 992, 993, - 994, 995, 996, 998, 1000, 1002, 1004, 1006, - 1008, 1010, 1012, 1014, 1016, 1018, 1020, 1022, - 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, - 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, - 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, - 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, - 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, - 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1117, + 975, 976, 977, 978, 979, 980, 982, 983, + 985, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 999, 1001, 1003, 1005, + 1007, 1009, 1011, 1013, 1015, 1017, 1019, 1021, + 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037, + 1039, 1041, 1043, 1045, 1047, 1049, 1051, 1053, + 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069, + 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1085, + 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, + 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, - 1126, 1127, 1128, 1131, 1134, 1137, 1140, 1143, - 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1158, - 1168, 1172, 1176, 1180, 1184, 1188, 1191, 1195, - 1199, 1203, 1207, 1211, 1214, 1217, 1220, 1223, - 1226, 1229, 1232, 1235, 1239, 1243, 1247, 1250, - 1258, 1264, 1272, 1280, 1286, 1294, 1300, 1308, - 1312, 1316, 1319, 1323, 1327, 1331, 1335, 1339, - 1343, 1347, 1350, 1354, 1358, 1361, 1364, 1366, - 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, - 1384, 1386, 1388, 1391, 1394, 1397, 1400, 1402, - 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, - 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, - 1436, 1438, 1439, 1440, 1446, 1448, 1449, 1451, - 1453, 1454, 1456, 1458, 1461, 1463, 1466, 1468, - 1470, 1471, 1473, 1476, 1478, 1482, 1486, 1495, - 1501, 1505, 1509, 1513, 1517, 1520, 1524, 1525, - 1526, 1527, 1528, 1532, 1533, 1536, 1539, 1542, - 1545, 1546, 1548, 1550, 1552, 1554, 1556, 1558, - 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, - 1584, 1587, 1590, 1593, 1596, 1599, 1602, 1605, - 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, - 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638, - 1640, 1642, 1644, 1647, 1650, 1656, 1659, 1664, - 1669, 1671, 1674, 1679, 1682, 1685, 1688, 1691, - 1694, 1697, 1700, 1702, 1705, 1707, 1708, 1711, - 1713, 1715, 1717, 1720, 1722, 1723, 1725, 1728, - 1730, 1732, 1734, 1736, 1737, 1738, 1742, 1744, - 1747, 1750, 1753, 1756, 1759, 1762, 1764, 1766, - 1768, 1770, 1772, 1774, 1777, 1780, 1782, 1784, - 1786, 1787, 1788, 1791, 1793, 1794, 1795, 1796, - 1797, 1798, 1799, 1801, 1803, 1804, 1805, 1806, - 1807, 1810, 1813, 1816, 1819, 1822, 1825, 1828, - 1831, 1834, 1838, 1842, 1846, 1849, 1852, 1855, - 1859, 1863, 1867, 1870, 1872, 1874, 1878, 1882, - 1884, 1886, 1890, 1892, 1894, 1896, 1899, 1903, - 1905, 1907, 1913, 1916, 1919, 1921, 1927, 1930, - 1933, 1936, 1938, 1940, 1943, 1946, 1948, 1950, - 1953, 1956, 1959, 1961, 1963, 1965, 1967, 1969, - 1971, 1973, 1975, 1977, 1979, 1982, 1984, 1986, - 1989, 1991, 1994, 1996, 1998, 2002, 2006, 2008, - 2010, 2014, 2015, 2016, 2017, 2018, 2019, 2020, - 2021, 2022, 2024, 2026, 2028, 2030, 2032, 2034, - 2036, 2038, 2040, 2042, 2044, 2046, 2048, 2050, - 2052, 2054, 2056, 2058, 2060, 2062, 2064, 2066, - 2068, 2070, 2072, 2074, 2076, 2078, 2080, 2082, - 2084, 2086, 2088, 2090, 2092, 2094, 2096, 2098, - 2099, 2100, 2102, 2104, 2106, 2108, 2110, 2112, - 2114, 2116, 2117, 2118, 2119, 2120, 2121, 2124, - 2126, 2128, 2130, 2132, 2134, 2136, 2138, 2140, - 2142, 2144, 2146, 2148, 2150, 2152, 2154, 2156, - 2158, 2160, 2162, 2164, 2166, 2168, 2170, 2172, - 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2188, - 2190, 2192, 2194, 2196, 2198, 2200, 2202, 2204, - 2206, 2208, 2210, 2212, 2214, 2216, 2218, 2220, - 2222, 2224, 2226, 2228, 2230, 2232, 2234, 2236, - 2238, 2240, 2242, 2244, 2246, 2248, 2250, 2252, - 2254, 2256, 2258, 2260, 2262, 2264, 2266, 2268, - 2270, 2272, 2274, 2276, 2278, 2280, 2282, 2284, - 2286, 2288, 2290, 2292, 2294, 2296, 2298, 2300, - 2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, - 2318, 2320, 2322, 2324, 2326, 2328, 2330, 2332, - 2334, 2336, 2338, 2340, 2342, 2344, 2346, 2348, - 2350, 2352, 2354, 2356, 2358, 2360, 2362, 2364, - 2366, 2368, 2370, 2372, 2374, 2376, 2378, 2380, - 2382, 2384, 2386, 2388, 2390, 2392, 2394, 2396, - 2398, 2400, 2402, 2404, 2406, 2408, 2410, 2412, - 2414, 2416, 2418, 2420, 2422, 2424, 2426, 2428, - 2430, 2432, 2434, 2436, 2438, 2440, 2442, 2444, - 2446, 2448, 2450, 2452, 2454, 2456, 2458, 2460, - 2462, 2464, 2466, 2468, 2470, 2472, 2474, 2476, - 2478, 2480, 2482, 2484, 2486, 2488, 2490, 2492, - 2494, 2496, 2498, 2500, 2502, 2504, 2506, 2511, - 2513, 2518, 2520, 2522, 2527, 2529, 2531, 2533, - 2538, 2540, 2542, 2544, 2548, 2554, 2556, 2561, - 2563, 2565, 2567, 2569, 2571, 2572, 2573, 2574, - 2576, 2577, 2578, 2579, 2580, 2581, 2583, 2584, - 2585, 2586, 2588, 2590, 2592, 2594, 2598, 2602, - 2603, 2604, 2606, 2610, 2614, 2616, 2620, 2624, - 2625, 2626, 2628, 2630, 2632, 2634, 2639, 2643, - 2647, 2649, 2651, 2653, 2655, 2657, 2659, 2661, - 2663, 2665, 2667, 2669, 2671, 2673, 2675, 2677, - 2679, 2681, 2683, 2685, 2687, 2689, 2690, 2691, - 2693, 2695, 2696, 2697, 2700, 2703, 2706, 2709, - 2711, 2713, 2715, 2717, 2719, 2721, 2722, 2723, - 2724, 2726, 2730, 2732, 2734, 2740, 2744, 2745, - 2746, 2747, 2748, 2749, 2750, 2751, 2755, 2757, - 2759, 2763, 2765, 2767, 2769, 2771, 2773, 2775, - 2777, 2779, 2781, 2783, 2785, 2787, 2789, 2791, - 2792, 2795, 2798, 2801, 2804, 2809, 2814, 2819, - 2824, 2827, 2830, 2833, 2836, 2838, 2840, 2842, - 2844, 2846, 2848, 2850, 2851, 2853, 2855, 2857, - 2859, 2861, 2862, 2863, 2864, 2868, 2872, 2874, - 2878, 2882, 2886, 2890, 2894, 2896, 2900, 2902, - 2904, 2906, 2908, 2910, 2912, 2914, 2916, 2917, - 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, + 1126, 1127, 1128, 1129, 1132, 1135, 1138, 1141, + 1144, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1159, 1169, 1173, 1177, 1181, 1185, 1189, 1192, + 1196, 1200, 1204, 1208, 1212, 1215, 1218, 1221, + 1224, 1227, 1230, 1233, 1236, 1240, 1244, 1248, + 1251, 1259, 1265, 1273, 1281, 1287, 1295, 1301, + 1309, 1313, 1317, 1320, 1324, 1328, 1332, 1336, + 1340, 1344, 1348, 1351, 1355, 1359, 1362, 1365, + 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381, + 1383, 1385, 1387, 1389, 1392, 1395, 1398, 1401, + 1403, 1405, 1407, 1409, 1411, 1413, 1415, 1417, + 1419, 1421, 1423, 1425, 1427, 1429, 1431, 1433, + 1435, 1437, 1439, 1440, 1441, 1447, 1449, 1450, + 1452, 1454, 1455, 1457, 1459, 1462, 1464, 1467, + 1469, 1471, 1472, 1474, 1477, 1479, 1483, 1487, + 1496, 1502, 1506, 1510, 1514, 1518, 1521, 1525, + 1526, 1527, 1528, 1529, 1533, 1534, 1537, 1540, + 1543, 1546, 1547, 1549, 1551, 1553, 1555, 1557, + 1559, 1561, 1564, 1567, 1570, 1573, 1576, 1579, + 1582, 1585, 1588, 1591, 1594, 1597, 1600, 1603, + 1606, 1609, 1611, 1613, 1615, 1617, 1619, 1621, + 1623, 1625, 1627, 1629, 1631, 1633, 1635, 1637, + 1639, 1641, 1643, 1645, 1648, 1651, 1657, 1660, + 1665, 1670, 1672, 1675, 1680, 1683, 1686, 1689, + 1692, 1695, 1698, 1701, 1703, 1706, 1708, 1709, + 1712, 1714, 1716, 1718, 1721, 1723, 1724, 1726, + 1729, 1731, 1733, 1735, 1737, 1738, 1739, 1743, + 1745, 1748, 1751, 1754, 1757, 1760, 1763, 1765, + 1767, 1769, 1771, 1773, 1775, 1778, 1781, 1783, + 1785, 1787, 1788, 1789, 1792, 1794, 1795, 1796, + 1797, 1798, 1799, 1800, 1802, 1804, 1805, 1806, + 1807, 1808, 1811, 1814, 1817, 1820, 1823, 1826, + 1829, 1832, 1835, 1839, 1843, 1847, 1850, 1853, + 1856, 1860, 1864, 1868, 1871, 1873, 1875, 1879, + 1883, 1885, 1887, 1891, 1893, 1895, 1897, 1900, + 1904, 1906, 1908, 1914, 1917, 1920, 1922, 1928, + 1931, 1934, 1937, 1939, 1941, 1944, 1947, 1949, + 1951, 1954, 1957, 1960, 1962, 1964, 1966, 1968, + 1970, 1972, 1974, 1976, 1978, 1980, 1983, 1985, + 1987, 1990, 1992, 1995, 1997, 1999, 2003, 2007, + 2009, 2011, 2015, 2016, 2017, 2018, 2019, 2020, + 2021, 2022, 2023, 2025, 2027, 2029, 2031, 2033, + 2035, 2037, 2039, 2041, 2043, 2045, 2047, 2049, + 2051, 2053, 2055, 2057, 2059, 2061, 2063, 2065, + 2067, 2069, 2071, 2073, 2075, 2077, 2079, 2081, + 2083, 2085, 2087, 2089, 2091, 2093, 2095, 2097, + 2099, 2100, 2101, 2103, 2105, 2107, 2109, 2111, + 2113, 2115, 2117, 2118, 2119, 2120, 2121, 2122, + 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139, + 2141, 2143, 2145, 2147, 2149, 2151, 2153, 2155, + 2157, 2159, 2161, 2163, 2165, 2167, 2169, 2171, + 2173, 2175, 2177, 2179, 2181, 2183, 2185, 2187, + 2189, 2191, 2193, 2195, 2197, 2199, 2201, 2203, + 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, + 2221, 2223, 2225, 2227, 2229, 2231, 2233, 2235, + 2237, 2239, 2241, 2243, 2245, 2247, 2249, 2251, + 2253, 2255, 2257, 2259, 2261, 2263, 2265, 2267, + 2269, 2271, 2273, 2275, 2277, 2279, 2281, 2283, + 2285, 2287, 2289, 2291, 2293, 2295, 2297, 2299, + 2301, 2303, 2305, 2307, 2309, 2311, 2313, 2315, + 2317, 2319, 2321, 2323, 2325, 2327, 2329, 2331, + 2333, 2335, 2337, 2339, 2341, 2343, 2345, 2347, + 2349, 2351, 2353, 2355, 2357, 2359, 2361, 2363, + 2365, 2367, 2369, 2371, 2373, 2375, 2377, 2379, + 2381, 2383, 2385, 2387, 2389, 2391, 2393, 2395, + 2397, 2399, 2401, 2403, 2405, 2407, 2409, 2411, + 2413, 2415, 2417, 2419, 2421, 2423, 2425, 2427, + 2429, 2431, 2433, 2435, 2437, 2439, 2441, 2443, + 2445, 2447, 2449, 2451, 2453, 2455, 2457, 2459, + 2461, 2463, 2465, 2467, 2469, 2471, 2473, 2475, + 2477, 2479, 2481, 2483, 2485, 2487, 2489, 2491, + 2493, 2495, 2497, 2499, 2501, 2503, 2505, 2507, + 2512, 2514, 2519, 2521, 2523, 2528, 2530, 2532, + 2534, 2539, 2541, 2543, 2545, 2549, 2555, 2557, + 2562, 2564, 2566, 2568, 2570, 2572, 2573, 2574, + 2575, 2577, 2578, 2579, 2580, 2581, 2582, 2584, + 2585, 2586, 2587, 2589, 2591, 2593, 2595, 2599, + 2603, 2604, 2605, 2607, 2611, 2615, 2617, 2621, + 2625, 2626, 2627, 2629, 2631, 2633, 2635, 2640, + 2644, 2648, 2650, 2652, 2654, 2656, 2658, 2660, + 2662, 2664, 2666, 2668, 2670, 2672, 2674, 2676, + 2678, 2680, 2682, 2684, 2686, 2688, 2690, 2691, + 2692, 2694, 2696, 2697, 2698, 2701, 2704, 2707, + 2710, 2712, 2714, 2716, 2718, 2720, 2722, 2723, + 2724, 2725, 2727, 2731, 2733, 2735, 2741, 2745, + 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2756, + 2758, 2760, 2764, 2766, 2768, 2770, 2772, 2774, + 2776, 2778, 2780, 2782, 2784, 2786, 2788, 2790, + 2792, 2793, 2796, 2799, 2802, 2805, 2810, 2815, + 2820, 2825, 2828, 2831, 2834, 2837, 2839, 2841, + 2843, 2845, 2847, 2849, 2851, 2852, 2854, 2856, + 2858, 2860, 2862, 2863, 2864, 2865, 2869, 2873, + 2875, 2879, 2883, 2887, 2891, 2895, 2897, 2901, + 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917, + 2918, 2920, 2922, 2924, 2926, 2928, 2930, 2932, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, - 2942, 2944, 2946, 2948, 2950, 2952, 2954, 2955, - 2956, 2957, 2959, 2961, 2963, 2965, 2967, 2969, - 2970, 2971, 2972, 2973, 2976, 2979, 2981, 2984, - 2985, 2986, 2988, 2989, 2991, 2992, 2993, 2995, - 2997, 2998, 2999, 3000, 3001, 3002, 3005, 3010, - 3015, 3020, 3025, 3028, 3033, 3038, 3040, 3042, - 3044, 3046, 3047, 3048, 3050, 3052, 3054, 3056, - 3058, 3060, 3062, 3063, 3064, 3065, 3066, 3067, - 3068, 3073, 3078, 3079, 3080, 3081, 3082, 3083, + 2942, 2943, 2945, 2947, 2949, 2951, 2953, 2955, + 2956, 2957, 2958, 2960, 2962, 2964, 2966, 2968, + 2970, 2971, 2972, 2973, 2974, 2977, 2980, 2982, + 2985, 2986, 2987, 2989, 2990, 2992, 2993, 2994, + 2996, 2998, 2999, 3000, 3001, 3002, 3003, 3006, + 3011, 3016, 3021, 3026, 3029, 3034, 3039, 3041, + 3043, 3045, 3047, 3048, 3049, 3051, 3053, 3055, + 3057, 3059, 3061, 3063, 3064, 3065, 3066, 3067, + 3068, 3069, 3074, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, @@ -48066,28 +48074,28 @@ static const i386_op_off_t i386_op_sets[] = 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, 3281, 3283, 3284, 3285, + 3276, 3277, 3278, 3279, 3280, 3282, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, - 3310, 3311, 3313, 3315, 3317, 3319, 3320, 3321, + 3310, 3311, 3312, 3314, 3316, 3318, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, - 3330, 3331, 3332, 3334, 3335, 3336, 3337, 3339, + 3330, 3331, 3332, 3333, 3335, 3336, 3337, 3338, 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, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, - 3380, 3382, 3384, 3385, 3386, 3388, 3389, 3391, - 3393, 3394, 3395, 3397, 3399, 3401, 3403, 3404, + 3380, 3381, 3383, 3385, 3386, 3387, 3389, 3390, + 3392, 3394, 3395, 3396, 3398, 3400, 3402, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, - 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3430, - 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3441, - 3443, 3445, 3446, 3447, 3448, 3449, 3450, 3451, - 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, - 3461, 3463, 3465, 3466, 3467, 3468, 3469, 3470, - 3471, 3472, 3473, 3474, 3475, 3478, 3481, 3482, + 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, + 3431, 3434, 3435, 3436, 3437, 3438, 3439, 3440, + 3442, 3444, 3446, 3447, 3448, 3449, 3450, 3451, + 3452, 3454, 3455, 3456, 3457, 3458, 3459, 3460, + 3461, 3462, 3464, 3466, 3467, 3468, 3469, 3470, + 3471, 3472, 3473, 3474, 3475, 3476, 3479, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, @@ -48095,23 +48103,23 @@ static const i386_op_off_t i386_op_sets[] = 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, - 3539, 3542, 3544, 3547, 3550, 3552, 3555, 3558, - 3561, 3564, 3565, 3568, 3569, 3570, 3571, 3572, - 3573, 3577, 3579, 3582, 3583, 3584, 3585, 3586, + 3539, 3540, 3543, 3545, 3548, 3551, 3553, 3556, + 3559, 3562, 3565, 3566, 3569, 3570, 3571, 3572, + 3573, 3574, 3578, 3580, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3626, - 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3635, + 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667, - 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3677, - 3680, 3683, 3686, 3689, 3692, 3695, 3698, 3701, - 3704, 3707, 3710, 3713, 3716, 3719, 3720, 3721, - 3722, 3723, 3725, 3726, 3727, 3728, 3729, 3730, + 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, + 3678, 3681, 3684, 3687, 3690, 3693, 3696, 3699, + 3702, 3705, 3708, 3711, 3714, 3717, 3720, 3721, + 3722, 3723, 3724, 3726, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, @@ -48119,7 +48127,7 @@ static const i386_op_off_t i386_op_sets[] = 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, - 3789, 3792, 3793, 3794, 3795, 3796, 3797, 3798, + 3787, 3790, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, @@ -48127,34 +48135,34 @@ static const i386_op_off_t i386_op_sets[] = 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, - 3857, 3860, 3863, 3864, 3865, 3866, 3867, 3868, + 3855, 3858, 3861, 3864, 3865, 3866, 3867, 3868, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, - 3877, 3878, 3879, 3882, 3885, 3886, 3887, 3890, - 3891, 3892, 3893, 3894, 3897, 3900, 3903, 3904, + 3877, 3878, 3879, 3880, 3883, 3886, 3887, 3888, + 3891, 3892, 3893, 3894, 3895, 3898, 3901, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, - 3913, 3915, 3916, 3917, 3918, 3920, 3921, 3922, + 3913, 3914, 3916, 3917, 3918, 3919, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, - 3939, 3940, 3941, 3942, 3944, 3946, 3947, 3948, + 3939, 3940, 3941, 3942, 3943, 3945, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, - 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3973, - 3975, 3977, 3979, 3981, 3983, 3985, 3987, 3989, - 3991, 3993, 3995, 3997, 3999, 4001, 4003, 4004, - 4005, 4006, 4008, 4009, 4011, 4014, 4016, 4017, - 4018, 4020, 4022, 4023, 4024, 4025, 4026, 4027, - 4028, 4030, 4032, 4034, 4036, 4037, 4038, 4039, - 4040, 4041, 4042, 4043, 4044, 4045, 4047, 4049, - 4050, 4052, 4054, 4055, 4060, 4062, 4064, 4065, - 4066, 4067, 4068, 4069, 4070, 4071, 4073, 4075, - 4076, 4077, 4078, 4080, 4083, 4087, 4090, 4092, + 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, + 3974, 3976, 3978, 3980, 3982, 3984, 3986, 3988, + 3990, 3992, 3994, 3996, 3998, 4000, 4002, 4004, + 4005, 4006, 4007, 4009, 4010, 4012, 4015, 4017, + 4018, 4019, 4021, 4023, 4024, 4025, 4026, 4027, + 4028, 4029, 4031, 4033, 4035, 4037, 4038, 4039, + 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4048, + 4050, 4051, 4053, 4055, 4056, 4061, 4063, 4065, + 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4074, + 4076, 4077, 4078, 4079, 4081, 4084, 4088, 4091, 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, - 4133, 4134, 4135, 4137, 4139, 4141, 4143, 4145, - 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, + 4133, 4134, 4135, 4136, 4138, 4140, 4142, 4144, + 4146, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, @@ -48169,32 +48177,33 @@ static const i386_op_off_t i386_op_sets[] = 4243, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, - 4267, 4268, 4269, 4270, 4273, 4274, 4275, 4278, - 4279, 4280, 4282, 4283, 4284, 4285, 4287, 4288, - 4289, 4290, 4292, 4293, 4294, 4295, 4298, 4299, - 4300, 4301, 4302, 4305, 4308, 4311, 4314, 4317, - 4318, 4319, 4320, 4321, 4323, 4325, 4326, 4327, - 4328, 4331, 4334, 4337, 4340, 4343, 4344, 4345, - 4346, 4348, 4349, 4350, 4351, 4354, 4355, 4356, + 4267, 4268, 4269, 4270, 4271, 4274, 4275, 4276, + 4279, 4280, 4281, 4283, 4284, 4285, 4286, 4288, + 4289, 4290, 4291, 4293, 4294, 4295, 4296, 4299, + 4300, 4301, 4302, 4303, 4306, 4309, 4312, 4315, + 4318, 4319, 4320, 4321, 4322, 4324, 4326, 4327, + 4328, 4329, 4332, 4335, 4338, 4341, 4344, 4345, + 4346, 4347, 4349, 4350, 4351, 4352, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, 4376, 4377, 4378, 4379, 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388, - 4389, 4390, 4392, 4393, 4394, 4396, 4398, 4400, - 4402, 4404, 4405, 4406, 4409, 4412, 4413, 4414, - 4415, 4416, 4417, 4418, 4420, 4422, 4424, 4426, - 4427, 4428, 4429, 4430, 4433, 4434, 4435, 4438, - 4439, 4440, 4443, 4444, 4445, 4448, 4449, 4450, - 4453, 4454, 4455, 4456, 4457, 4458, 4459, 4460, + 4389, 4390, 4391, 4393, 4394, 4395, 4397, 4399, + 4401, 4403, 4405, 4406, 4407, 4410, 4413, 4414, + 4415, 4416, 4417, 4418, 4419, 4421, 4423, 4425, + 4427, 4428, 4429, 4430, 4431, 4434, 4435, 4436, + 4439, 4440, 4441, 4444, 4445, 4446, 4449, 4450, + 4451, 4454, 4455, 4456, 4457, 4458, 4459, 4460, 4461, 4462, 4463, 4464, 4465, 4466, 4467, 4468, 4469, 4470, 4471, 4472, 4473, 4474, 4475, 4476, 4477, 4478, 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4490, 4491, 4492, - 4493, 4494, 4495, 4496, 4497, 4500, 4501, 4502, - 4505, 4506, 4507, 4508, 4509, 4510, 4511, 4514, - 4517, 4518, 4519, 4520, 4521, 4522, 4523, 4524, + 4493, 4494, 4495, 4496, 4497, 4498, 4501, 4502, + 4503, 4506, 4507, 4508, 4509, 4510, 4511, 4512, + 4515, 4518, 4519, 4520, 4521, 4522, 4523, 4524, 4525, 4526, 4527, 4528, 4529, 4530, 4531, 4532, - 4533, 4534, 4535, 4537, 4538, 4539, 4540, 4541 + 4533, 4534, 4535, 4536, 4538, 4539, 4540, 4541, + 4542 }; /* i386 mnemonics table. */ @@ -50414,6 +50423,7 @@ const char i386_mnemonics[] = "\0""{store}" "\0""{nooptimize}" "\0""{nf}" + "\0""{noimm8s}" "\0""{rex}" "\0""{evex}" "\0""{vex}" diff --git a/opcodes/loongarch-dis.c b/opcodes/loongarch-dis.c index cc4a48c..2e59bf8 100644 --- a/opcodes/loongarch-dis.c +++ b/opcodes/loongarch-dis.c @@ -95,13 +95,18 @@ static int parse_loongarch_dis_option (const char *option) { if (strcmp (option, "no-aliases") == 0) - loongarch_dis_show_aliases = false; + { + loongarch_dis_show_aliases = false; + return 0; + } if (strcmp (option, "numeric") == 0) { loongarch_r_disname = loongarch_r_normal_name; loongarch_f_disname = loongarch_f_normal_name; + return 0; } + return -1; } diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c index c341a0f..f862ef2 100644 --- a/opcodes/riscv-dis.c +++ b/opcodes/riscv-dis.c @@ -37,6 +37,9 @@ disassemble_info::fprintf_func which is for unstyled output. */ #define fprintf_func please_use_fprintf_styled_func_instead +/* The earliest privilege spec supported by disassembler. */ +#define PRIV_SPEC_EARLIEST PRIV_SPEC_CLASS_1P10 + struct riscv_private_data { bfd_vma gp; @@ -139,7 +142,7 @@ parse_riscv_dis_option (const char *option, struct disassemble_info *info) const char *name = NULL; RISCV_GET_PRIV_SPEC_CLASS (value, priv_spec); - if (priv_spec == PRIV_SPEC_CLASS_NONE) + if (priv_spec < PRIV_SPEC_EARLIEST) opcodes_error_handler (_("unknown privileged spec set by %s=%s"), option, value); else if (pd->default_priv_spec == PRIV_SPEC_CLASS_NONE) @@ -1608,12 +1611,12 @@ disassembler_options_riscv (void) args = XNEWVEC (disasm_option_arg_t, num_args + 1); args[RISCV_OPTION_ARG_PRIV_SPEC].name = "SPEC"; - priv_spec_count = PRIV_SPEC_CLASS_DRAFT - PRIV_SPEC_CLASS_NONE - 1; + priv_spec_count = PRIV_SPEC_CLASS_DRAFT - PRIV_SPEC_EARLIEST; args[RISCV_OPTION_ARG_PRIV_SPEC].values = XNEWVEC (const char *, priv_spec_count + 1); for (i = 0; i < priv_spec_count; i++) args[RISCV_OPTION_ARG_PRIV_SPEC].values[i] - = riscv_priv_specs[i].name; + = riscv_priv_specs[PRIV_SPEC_EARLIEST - PRIV_SPEC_CLASS_NONE - 1 + i].name; /* The array we return must be NULL terminated. */ args[RISCV_OPTION_ARG_PRIV_SPEC].values[i] = NULL; |