public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  users/jkratoch/dwarf5gcc-gdb: Merge branch 'dwarf5gcc' into dwarf5gcc-gdb
Date: Wed, 02 Nov 2016 20:55:00 -0000	[thread overview]
Message-ID: <20161102205547.19939.qmail@sourceware.org> (raw)

The branch, users/jkratoch/dwarf5gcc-gdb has been updated
       via  3339a3d5dadae7d79ba6a0773debbd8a193e2596 (commit)
       via  02e0217ac3479b8a6b3a41a57aafcfa5c496a628 (commit)
       via  47acf0bd9faef8634d242e19ec3b7f784d10ba76 (commit)
       via  920d2ddccb72a366140ed28283165b274f7a9045 (commit)
       via  95dc74aa02352505785bb70ba60b706e70c74584 (commit)
       via  af955fe696088e69b436947b4a6f134567d31793 (commit)
      from  c798ab9a523c411797894d7085f825d69fd5bfc8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 3339a3d5dadae7d79ba6a0773debbd8a193e2596
Merge: c798ab9 02e0217
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Nov 2 21:54:32 2016 +0100

    Merge branch 'dwarf5gcc' into dwarf5gcc-gdb

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |    5 +
 bfd/reloc.c                                        |    1 +
 bfd/version.h                                      |    2 +-
 gas/ChangeLog                                      |   47 +
 gas/config/tc-i386.c                               |   25 +
 gas/doc/c-i386.texi                                |   10 +-
 gas/testsuite/gas/i386/avx512_4fmaps-intel.d       |   79 +
 gas/testsuite/gas/i386/avx512_4fmaps-warn.l        |   13 +
 gas/testsuite/gas/i386/avx512_4fmaps-warn.s        |   23 +
 gas/testsuite/gas/i386/avx512_4fmaps.d             |   79 +
 gas/testsuite/gas/i386/avx512_4fmaps.s             |   75 +
 gas/testsuite/gas/i386/avx512_4fmaps_vl-intel.d    |   78 +
 gas/testsuite/gas/i386/avx512_4fmaps_vl-warn.l     |   13 +
 gas/testsuite/gas/i386/avx512_4fmaps_vl-warn.s     |   23 +
 gas/testsuite/gas/i386/avx512_4fmaps_vl.d          |   78 +
 gas/testsuite/gas/i386/avx512_4fmaps_vl.s          |   74 +
 gas/testsuite/gas/i386/avx512_4vnniw-intel.d       |   45 +
 gas/testsuite/gas/i386/avx512_4vnniw.d             |   45 +
 gas/testsuite/gas/i386/avx512_4vnniw.s             |   41 +
 gas/testsuite/gas/i386/avx512_4vnniw_vl-intel.d    |   79 +
 gas/testsuite/gas/i386/avx512_4vnniw_vl.d          |   79 +
 gas/testsuite/gas/i386/avx512_4vnniw_vl.s          |   75 +
 gas/testsuite/gas/i386/i386.exp                    |   20 +
 .../gas/i386/x86-64-avx512_4fmaps-intel.d          |   79 +
 gas/testsuite/gas/i386/x86-64-avx512_4fmaps-warn.l |    7 +
 gas/testsuite/gas/i386/x86-64-avx512_4fmaps-warn.s |   13 +
 gas/testsuite/gas/i386/x86-64-avx512_4fmaps.d      |   79 +
 gas/testsuite/gas/i386/x86-64-avx512_4fmaps.s      |   75 +
 .../gas/i386/x86-64-avx512_4fmaps_vl-intel.d       |   79 +
 .../gas/i386/x86-64-avx512_4fmaps_vl-warn.l        |   13 +
 .../gas/i386/x86-64-avx512_4fmaps_vl-warn.s        |   23 +
 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl.d   |   79 +
 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl.s   |   75 +
 .../gas/i386/x86-64-avx512_4vnniw-intel.d          |   45 +
 gas/testsuite/gas/i386/x86-64-avx512_4vnniw.d      |   45 +
 gas/testsuite/gas/i386/x86-64-avx512_4vnniw.s      |   41 +
 .../gas/i386/x86-64-avx512_4vnniw_vl-intel.d       |   79 +
 gas/testsuite/gas/i386/x86-64-avx512_4vnniw_vl.d   |   79 +
 gas/testsuite/gas/i386/x86-64-avx512_4vnniw_vl.s   |   75 +
 opcodes/ChangeLog                                  |   30 +
 opcodes/i386-dis-evex.h                            |   22 +-
 opcodes/i386-dis.c                                 |    2 +
 opcodes/i386-gen.c                                 |   13 +-
 opcodes/i386-init.h                                |  284 +-
 opcodes/i386-opc.h                                 |   12 +
 opcodes/i386-opc.tbl                               |   28 +
 opcodes/i386-tbl.h                                 |21130 ++++++++++----------
 47 files changed, 12849 insertions(+), 10567 deletions(-)
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps-intel.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps-warn.l
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps-warn.s
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps.s
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps_vl-intel.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps_vl-warn.l
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps_vl-warn.s
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps_vl.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4fmaps_vl.s
 create mode 100644 gas/testsuite/gas/i386/avx512_4vnniw-intel.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4vnniw.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4vnniw.s
 create mode 100644 gas/testsuite/gas/i386/avx512_4vnniw_vl-intel.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4vnniw_vl.d
 create mode 100644 gas/testsuite/gas/i386/avx512_4vnniw_vl.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps-warn.l
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps-warn.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.l
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4fmaps_vl.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4vnniw-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4vnniw.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4vnniw.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4vnniw_vl-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4vnniw_vl.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_4vnniw_vl.s

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 75ffab5..49d490d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-01  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
+	not fall through to the default case.
+
 2016-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
 	    Andrew Waterman <andrew@sifive.com>
 
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 7c67eeb..56cd79b 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -7859,6 +7859,7 @@ bfd_default_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
 	default:
 	  BFD_FAIL ();
 	}
+      break;
     default:
       BFD_FAIL ();
     }
diff --git a/bfd/version.h b/bfd/version.h
index 0f1c767..5a906cd 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20161101
+#define BFD_VERSION_DATE 20161102
 #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/gas/ChangeLog b/gas/ChangeLog
index 8eabfd5..98aa749 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,50 @@
+2016-11-02  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* config/tc-i386.c: (cpu_arch) Add .avx512_4vnniw.
+	(cpu_noarch): Add noavx512_4vnniw.
+	* doc/c-i386.texi: Document avx512_4vnniw, noavx512_4vnniw.
+	* testsuite/gas/i386/i386.exp: Run AVX512_4VNNIW tests.
+	* testsuite/gas/i386/avx512_4vnniwd_vl-intel.d: New test.
+	* testsuite/gas/i386/avx512_4vnniwd_vl.d: Ditto.
+	* testsuite/gas/i386/avx512_4vnniwd_vl.s: Ditto.
+	* testsuite/gas/i386/avx512_4vnniwd-intel.d: Ditto.
+	* testsuite/gas/i386/avx512_4vnniwd.d: Ditto.
+	* testsuite/gas/i386/avx512_4vnniwd.s: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl-intel.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl.s: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4vnniwd-intel.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4vnniwd.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4vnniwd.s: Ditto.
+
+2016-11-02  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* config/tc-i386.c (cpu_arch): Add .avx512_4fmaps.
+	(cpu_noarch): Add noavx512_4fmaps.
+	(process_operands): Handle implicit quad group.
+	* doc/c-i386.texi: Document avx512_4fmaps, noavx512_4fmaps.
+	* testsuite/gas/i386/i386.exp: Add AVX512_4FMAPS tests.
+	* testsuite/gas/i386/avx512_4fmaps_vl-intel.d: New test.
+	* testsuite/gas/i386/avx512_4fmaps_vl.d: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps_vl.s: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps-intel.d: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps.d: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps.s: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps-warn.l: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps-warn.s: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps_vl-warn.l: Ditto.
+	* testsuite/gas/i386/avx512_4fmaps_vl-warn.s: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-intel.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl.s: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps-intel.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps.d: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps.s: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps-warn.l: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps-warn.s: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.l: Ditto.
+	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.s: Ditto.
+
 2016-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
 	    Andrew Waterman <andrew@sifive.com>
 
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 6724bca..ca26127 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -962,6 +962,10 @@ static const arch_entry cpu_arch[] =
     CPU_AVX512IFMA_FLAGS, 0 },
   { STRING_COMMA_LEN (".avx512vbmi"), PROCESSOR_UNKNOWN,
     CPU_AVX512VBMI_FLAGS, 0 },
+  { STRING_COMMA_LEN (".avx512_4fmaps"), PROCESSOR_UNKNOWN,
+    CPU_AVX512_4FMAPS_FLAGS, 0 },
+  { STRING_COMMA_LEN (".avx512_4vnniw"), PROCESSOR_UNKNOWN,
+    CPU_AVX512_4VNNIW_FLAGS, 0 },
   { STRING_COMMA_LEN (".clzero"), PROCESSOR_UNKNOWN,
     CPU_CLZERO_FLAGS, 0 },
   { STRING_COMMA_LEN (".mwaitx"), PROCESSOR_UNKNOWN,
@@ -999,6 +1003,8 @@ static const noarch_entry cpu_noarch[] =
   { STRING_COMMA_LEN ("noavx512vl"), CPU_ANY_AVX512VL_FLAGS },
   { STRING_COMMA_LEN ("noavx512ifma"), CPU_ANY_AVX512IFMA_FLAGS },
   { STRING_COMMA_LEN ("noavx512vbmi"), CPU_ANY_AVX512VBMI_FLAGS },
+  { STRING_COMMA_LEN ("noavx512_4fmaps"), CPU_ANY_AVX512_4FMAPS_FLAGS },
+  { STRING_COMMA_LEN ("noavx512_4vnniw"), CPU_ANY_AVX512_4VNNIW_FLAGS },
 };
 
 #ifdef I386COFF
@@ -5966,6 +5972,25 @@ duplicate:
       i.reg_operands--;
       i.tm.operands--;
     }
+  else if (i.tm.opcode_modifier.implicitquadgroup)
+    {
+      /* The second operand must be {x,y,z}mmN, where N is a multiple of 4. */
+      gas_assert (i.operands >= 2
+          && (operand_type_equal (&i.types[1], &regxmm)
+              || operand_type_equal (&i.types[1], &regymm)
+              || operand_type_equal (&i.types[1], &regzmm)));
+      unsigned int regnum = register_number (i.op[1].regs);
+      unsigned int first_reg_in_group = regnum & ~3;
+      unsigned int last_reg_in_group = first_reg_in_group + 3;
+      if (regnum != first_reg_in_group) {
+        as_warn (_("the second source register `%s%s' implicitly denotes"
+            " `%s%.3s%d' to `%s%.3s%d' source group in `%s'"),
+            register_prefix, i.op[1].regs->reg_name,
+            register_prefix, i.op[1].regs->reg_name, first_reg_in_group,
+            register_prefix, i.op[1].regs->reg_name, last_reg_in_group,
+            i.tm.name);
+      }
+	}
   else if (i.tm.opcode_modifier.regkludge)
     {
       /* The imul $imm, %reg instruction is converted into
diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
index 43b4008..c3c632d 100644
--- a/gas/doc/c-i386.texi
+++ b/gas/doc/c-i386.texi
@@ -180,6 +180,8 @@ accept various extension mnemonics.  For example,
 @code{avx512dq},
 @code{avx512ifma},
 @code{avx512vbmi},
+@code{avx512_4fmaps},
+@code{avx512_4vnniw},
 @code{noavx512f},
 @code{noavx512cd},
 @code{noavx512er},
@@ -189,6 +191,8 @@ accept various extension mnemonics.  For example,
 @code{noavx512dq},
 @code{noavx512ifma},
 @code{noavx512vbmi},
+@code{noavx512_4fmaps},
+@code{noavx512_4vnniw},
 @code{vmx},
 @code{vmfunc},
 @code{smx},
@@ -1190,12 +1194,12 @@ supported on the CPU specified.  The choices for @var{cpu_type} are:
 @item @samp{.clflushopt} @tab @samp{.xsavec} @tab @samp{.xsaves} @tab @samp{.se1}
 @item @samp{.avx512f} @tab @samp{.avx512cd} @tab @samp{.avx512er} @tab @samp{.avx512pf}
 @item @samp{.avx512vl} @tab @samp{.avx512bw} @tab @samp{.avx512dq} @tab @samp{.avx512ifma}
-@item @samp{.avx512vbmi} @tab @samp{.clwb}
+@item @samp{.avx512vbmi} @tab @samp{.avx512_4fmaps} @tab @samp{.avx512_4vnniw}
+@item @samp{.clwb} @tab @samp{.rdpid} @tab @samp{.ptwrite}
 @item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5}
 @item @samp{.syscall} @tab @samp{.rdtscp} @tab @samp{.svme} @tab @samp{.abm}
 @item @samp{.lwp} @tab @samp{.fma4} @tab @samp{.xop} @tab @samp{.cx16}
-@item @samp{.padlock} @tab @samp{.clzero} @tab @samp{.mwaitx} @tab @samp{.rdpid}
-@item @samp{.ptwrite}
+@item @samp{.padlock} @tab @samp{.clzero} @tab @samp{.mwaitx}
 @end multitable
 
 Apart from the warning, there are only two other effects on
diff --git a/gas/testsuite/gas/i386/avx512_4fmaps-intel.d b/gas/testsuite/gas/i386/avx512_4fmaps-intel.d
new file mode 100644
index 0000000..9406309
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx512_4fmaps-intel.d
@@ -0,0 +1,79 @@
+#objdump: -dw -Mintel
+#name: i386 AVX512/4FMAPS insns (Intel disassembly)
+#source: avx512_4fmaps.s
+
+.*: +file format .*
+
+
+Disassembly of section \.text:
+
+0+ <_start>:
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 09[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f 9a 09[ 	]*v4fmaddps zmm1\{k7\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf 9a 09[ 	]*v4fmaddps zmm1\{k7\}\{z\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8c f4 c0 1d fe ff[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 0f 00 00[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 10 00 00[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 f0 ff ff[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 ef ff ff[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 09[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f aa 09[ 	]*v4fnmaddps zmm1\{k7\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf aa 09[ 	]*v4fnmaddps zmm1\{k7\}\{z\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8c f4 c0 1d fe ff[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 0f 00 00[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 10 00 00[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 f0 ff ff[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 ef ff ff[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 09[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f 9b 09[ 	]*v4fmaddss xmm1\{k7\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f 9b 09[ 	]*v4fmaddss xmm1\{k7\}\{z\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8c f4 c0 1d fe ff[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 0f 00 00[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 10 00 00[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 f0 ff ff[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 ef ff ff[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 09[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f ab 09[ 	]*v4fnmaddss xmm1\{k7\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f ab 09[ 	]*v4fnmaddss xmm1\{k7\}\{z\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8c f4 c0 1d fe ff[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 0f 00 00[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 10 00 00[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 f0 ff ff[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 ef ff ff[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 09[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 09[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f 9a 09[ 	]*v4fmaddps zmm1\{k7\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf 9a 09[ 	]*v4fmaddps zmm1\{k7\}\{z\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8c f4 c0 1d fe ff[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 0f 00 00[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 10 00 00[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 f0 ff ff[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 ef ff ff[ 	]*v4fmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 09[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 09[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f aa 09[ 	]*v4fnmaddps zmm1\{k7\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf aa 09[ 	]*v4fnmaddps zmm1\{k7\}\{z\},zmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8c f4 c0 1d fe ff[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 0f 00 00[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 10 00 00[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 f0 ff ff[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 ef ff ff[ 	]*v4fnmaddps zmm1,zmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 09[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 09[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f 9b 09[ 	]*v4fmaddss xmm1\{k7\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f 9b 09[ 	]*v4fmaddss xmm1\{k7\}\{z\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8c f4 c0 1d fe ff[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 0f 00 00[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 10 00 00[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 f0 ff ff[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 ef ff ff[ 	]*v4fmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1020\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 09[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 09[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f ab 09[ 	]*v4fnmaddss xmm1\{k7\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f ab 09[ 	]*v4fnmaddss xmm1\{k7\}\{z\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8c f4 c0 1d fe ff[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 0f 00 00[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 10 00 00[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 f0 ff ff[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 ef ff ff[ 	]*v4fnmaddss xmm1,xmm4,XMMWORD PTR \[edx-0x1020\]
+#pass
diff --git a/gas/testsuite/gas/i386/avx512_4fmaps-warn.l b/gas/testsuite/gas/i386/avx512_4fmaps-warn.l
new file mode 100644
index 0000000..d8a0b79
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx512_4fmaps-warn.l
@@ -0,0 +1,13 @@
+.*: Assembler messages:
+.*:5: Warning: the second source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddps'
+.*:6: Warning: the second source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddps'
+.*:7: Warning: the second source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddps'
+.*:10: Warning: the second source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddps'
+.*:11: Warning: the second source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddps'
+.*:12: Warning: the second source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddps'
+.*:15: Warning: the second source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
+.*:16: Warning: the second source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
+.*:17: Warning: the second source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
+.*:20: Warning: the second source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
+.*:21: Warning: the second source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
+.*:22: Warning: the second source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
diff --git a/gas/testsuite/gas/i386/avx512_4fmaps-warn.s b/gas/testsuite/gas/i386/avx512_4fmaps-warn.s
new file mode 100644
index 0000000..650358e
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx512_4fmaps-warn.s
@@ -0,0 +1,23 @@
+# Check warnings for invalid usage of register group
+
+.text
+	v4fmaddps (%eax), %xmm0, %xmm6
+	v4fmaddps (%eax), %xmm1, %xmm6
+	v4fmaddps (%eax), %xmm2, %xmm6
+	v4fmaddps (%eax), %xmm3, %xmm6
+	v4fmaddps (%eax), %xmm4, %xmm6
+	v4fnmaddps (%eax), %xmm0, %xmm6
+	v4fnmaddps (%eax), %xmm1, %xmm6
+	v4fnmaddps (%eax), %xmm2, %xmm6
+	v4fnmaddps (%eax), %xmm3, %xmm6
+	v4fnmaddps (%eax), %xmm4, %xmm6
+	v4fmaddss (%eax), %xmm0, %xmm6
+	v4fmaddss (%eax), %xmm1, %xmm6
+	v4fmaddss (%eax), %xmm2, %xmm6
+	v4fmaddss (%eax), %xmm3, %xmm6
+	v4fmaddss (%eax), %xmm4, %xmm6
+	v4fnmaddss (%eax), %xmm0, %xmm6
+	v4fnmaddss (%eax), %xmm1, %xmm6
+	v4fnmaddss (%eax), %xmm2, %xmm6
+	v4fnmaddss (%eax), %xmm3, %xmm6
+	v4fnmaddss (%eax), %xmm4, %xmm6
diff --git a/gas/testsuite/gas/i386/avx512_4fmaps.d b/gas/testsuite/gas/i386/avx512_4fmaps.d
new file mode 100644
index 0000000..5e1f8dd
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx512_4fmaps.d
@@ -0,0 +1,79 @@
+#objdump: -dw
+#name: i386 AVX512/4FMAPS insns
+#source: avx512_4fmaps.s
+
+.*: +file format .*
+
+
+Disassembly of section \.text:
+
+0+ <_start>:
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8c f4 c0 1d fe ff[ 	]*v4fmaddps -0x1e240\(%esp,%esi,8\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 0f 00 00[ 	]*v4fmaddps 0xfe0\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 10 00 00[ 	]*v4fmaddps 0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 f0 ff ff[ 	]*v4fmaddps -0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 ef ff ff[ 	]*v4fmaddps -0x1020\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8c f4 c0 1d fe ff[ 	]*v4fnmaddps -0x1e240\(%esp,%esi,8\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 0f 00 00[ 	]*v4fnmaddps 0xfe0\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 10 00 00[ 	]*v4fnmaddps 0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 f0 ff ff[ 	]*v4fnmaddps -0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 ef ff ff[ 	]*v4fnmaddps -0x1020\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8c f4 c0 1d fe ff[ 	]*v4fmaddss -0x1e240\(%esp,%esi,8\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 0f 00 00[ 	]*v4fmaddss 0xfe0\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 10 00 00[ 	]*v4fmaddss 0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 f0 ff ff[ 	]*v4fmaddss -0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 ef ff ff[ 	]*v4fmaddss -0x1020\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8c f4 c0 1d fe ff[ 	]*v4fnmaddss -0x1e240\(%esp,%esi,8\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 0f 00 00[ 	]*v4fnmaddss 0xfe0\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 10 00 00[ 	]*v4fnmaddss 0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 f0 ff ff[ 	]*v4fnmaddss -0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 ef ff ff[ 	]*v4fnmaddss -0x1020\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf 9a 09[ 	]*v4fmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8c f4 c0 1d fe ff[ 	]*v4fmaddps -0x1e240\(%esp,%esi,8\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 0f 00 00[ 	]*v4fmaddps 0xfe0\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 10 00 00[ 	]*v4fmaddps 0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a 00 f0 ff ff[ 	]*v4fmaddps -0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 9a 8a e0 ef ff ff[ 	]*v4fmaddps -0x1020\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 4f aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f cf aa 09[ 	]*v4fnmaddps \(%ecx\),%zmm4,%zmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8c f4 c0 1d fe ff[ 	]*v4fnmaddps -0x1e240\(%esp,%esi,8\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 0f 00 00[ 	]*v4fnmaddps 0xfe0\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 10 00 00[ 	]*v4fnmaddps 0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a 00 f0 ff ff[ 	]*v4fnmaddps -0x1000\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 48 aa 8a e0 ef ff ff[ 	]*v4fnmaddps -0x1020\(%edx\),%zmm4,%zmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f 9b 09[ 	]*v4fmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8c f4 c0 1d fe ff[ 	]*v4fmaddss -0x1e240\(%esp,%esi,8\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 0f 00 00[ 	]*v4fmaddss 0xfe0\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 10 00 00[ 	]*v4fmaddss 0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a 00 f0 ff ff[ 	]*v4fmaddss -0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9b 8a e0 ef ff ff[ 	]*v4fmaddss -0x1020\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f ab 09[ 	]*v4fnmaddss \(%ecx\),%xmm4,%xmm1\{%k7\}\{z\}
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8c f4 c0 1d fe ff[ 	]*v4fnmaddss -0x1e240\(%esp,%esi,8\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 0f 00 00[ 	]*v4fnmaddss 0xfe0\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 10 00 00[ 	]*v4fnmaddss 0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a 00 f0 ff ff[ 	]*v4fnmaddss -0x1000\(%edx\),%xmm4,%xmm1
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 ab 8a e0 ef ff ff[ 	]*v4fnmaddss -0x1020\(%edx\),%xmm4,%xmm1
+#pass
diff --git a/gas/testsuite/gas/i386/avx512_4fmaps.s b/gas/testsuite/gas/i386/avx512_4fmaps.s
new file mode 100644
index 0000000..06d7bfa
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx512_4fmaps.s
@@ -0,0 +1,75 @@
+# Check 32bit AVX512_4FMAPS instructions
+
+	.allow_index_reg
+	.text
+_start:
+	v4fmaddps	(%ecx), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fmaddps	(%ecx), %zmm4, %zmm1{%k7}	 # AVX512_4FMAPS
+	v4fmaddps	(%ecx), %zmm4, %zmm1{%k7}{z}	 # AVX512_4FMAPS
+	v4fmaddps	-123456(%esp,%esi,8), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fmaddps	4064(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS Disp8
+	v4fmaddps	4096(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fmaddps	-4096(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS Disp8
+	v4fmaddps	-4128(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fnmaddps	(%ecx), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fnmaddps	(%ecx), %zmm4, %zmm1{%k7}	 # AVX512_4FMAPS
+	v4fnmaddps	(%ecx), %zmm4, %zmm1{%k7}{z}	 # AVX512_4FMAPS
+	v4fnmaddps	-123456(%esp,%esi,8), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fnmaddps	4064(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS Disp8
+	v4fnmaddps	4096(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fnmaddps	-4096(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS Disp8
+	v4fnmaddps	-4128(%edx), %zmm4, %zmm1	 # AVX512_4FMAPS
+	v4fmaddss	(%ecx), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fmaddss	(%ecx), %xmm4, %xmm1{%k7}	 # AVX512_4FMAPS
+	v4fmaddss	(%ecx), %xmm4, %xmm1{%k7}{z}	 # AVX512_4FMAPS
+	v4fmaddss	-123456(%esp,%esi,8), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fmaddss	4064(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS Disp8
+	v4fmaddss	4096(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fmaddss	-4096(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS Disp8
+	v4fmaddss	-4128(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fnmaddss	(%ecx), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fnmaddss	(%ecx), %xmm4, %xmm1{%k7}	 # AVX512_4FMAPS
+	v4fnmaddss	(%ecx), %xmm4, %xmm1{%k7}{z}	 # AVX512_4FMAPS
+	v4fnmaddss	-123456(%esp,%esi,8), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fnmaddss	4064(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS Disp8
+	v4fnmaddss	4096(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS
+	v4fnmaddss	-4096(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS Disp8
+	v4fnmaddss	-4128(%edx), %xmm4, %xmm1	 # AVX512_4FMAPS
+
+	.intel_syntax noprefix
+	v4fmaddps	zmm1, zmm4, [ecx]	 # AVX512_4FMAPS
+	v4fmaddps	zmm1, zmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fmaddps	zmm1{k7}, zmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fmaddps	zmm1{k7}{z}, zmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fmaddps	zmm1, zmm4, XMMWORD PTR [esp+esi*8-123456]	 # AVX512_4FMAPS
+	v4fmaddps	zmm1, zmm4, XMMWORD PTR [edx+4064]	 # AVX512_4FMAPS Disp8
+	v4fmaddps	zmm1, zmm4, XMMWORD PTR [edx+4096]	 # AVX512_4FMAPS
+	v4fmaddps	zmm1, zmm4, XMMWORD PTR [edx-4096]	 # AVX512_4FMAPS Disp8
+	v4fmaddps	zmm1, zmm4, XMMWORD PTR [edx-4128]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1, zmm4, [ecx]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1, zmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1{k7}, zmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1{k7}{z}, zmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1, zmm4, XMMWORD PTR [esp+esi*8-123456]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1, zmm4, XMMWORD PTR [edx+4064]	 # AVX512_4FMAPS Disp8
+	v4fnmaddps	zmm1, zmm4, XMMWORD PTR [edx+4096]	 # AVX512_4FMAPS
+	v4fnmaddps	zmm1, zmm4, XMMWORD PTR [edx-4096]	 # AVX512_4FMAPS Disp8
+	v4fnmaddps	zmm1, zmm4, XMMWORD PTR [edx-4128]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1, xmm4, [ecx]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1, xmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1{k7}, xmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1{k7}{z}, xmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1, xmm4, XMMWORD PTR [esp+esi*8-123456]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1, xmm4, XMMWORD PTR [edx+4064]	 # AVX512_4FMAPS Disp8
+	v4fmaddss	xmm1, xmm4, XMMWORD PTR [edx+4096]	 # AVX512_4FMAPS
+	v4fmaddss	xmm1, xmm4, XMMWORD PTR [edx-4096]	 # AVX512_4FMAPS Disp8
+	v4fmaddss	xmm1, xmm4, XMMWORD PTR [edx-4128]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1, xmm4, [ecx]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1, xmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1{k7}, xmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1{k7}{z}, xmm4, XMMWORD PTR [ecx]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1, xmm4, XMMWORD PTR [esp+esi*8-123456]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1, xmm4, XMMWORD PTR [edx+4064]	 # AVX512_4FMAPS Disp8
+	v4fnmaddss	xmm1, xmm4, XMMWORD PTR [edx+4096]	 # AVX512_4FMAPS
+	v4fnmaddss	xmm1, xmm4, XMMWORD PTR [edx-4096]	 # AVX512_4FMAPS Disp8
+	v4fnmaddss	xmm1, xmm4, XMMWORD PTR [edx-4128]	 # AVX512_4FMAPS
diff --git a/gas/testsuite/gas/i386/avx512_4fmaps_vl-intel.d b/gas/testsuite/gas/i386/avx512_4fmaps_vl-intel.d
new file mode 100644
index 0000000..a964a17
--- /dev/null
+++ b/gas/testsuite/gas/i386/avx512_4fmaps_vl-intel.d
@@ -0,0 +1,78 @@
+#objdump: -dw -Mintel
+#name: i386 AVX512/4FMAPS_VL insns (Intel disassembly)
+#source: avx512_4fmaps_vl.s
+
+.*: +file format .*
+
+
+Disassembly of section \.text:
+
+0+ <_start>:
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9a 09[ 	]*v4fmaddps xmm1,xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 0f 9a 09[ 	]*v4fmaddps xmm1\{k7\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 8f 9a 09[ 	]*v4fmaddps xmm1\{k7\}\{z\},xmm4,XMMWORD PTR \[ecx\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9a 8c f4 c0 1d fe ff[ 	]*v4fmaddps xmm1,xmm4,XMMWORD PTR \[esp\+esi\*8-0x1e240\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9a 8a e0 0f 00 00[ 	]*v4fmaddps xmm1,xmm4,XMMWORD PTR \[edx\+0xfe0\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9a 8a 00 10 00 00[ 	]*v4fmaddps xmm1,xmm4,XMMWORD PTR \[edx\+0x1000\]
+[ 	]*[a-f0-9]+:[ 	]*62 f2 5f 08 9a 8a 00 f0 ff ff[ 	]*v4fmaddps xmm1,xmm4,XMMWORD PTR \[edx-0x1000\]


hooks/post-receive
--
Repository for Project Archer.


             reply	other threads:[~2016-11-02 20:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-02 20:55 jkratoch [this message]
2016-11-06 18:03 jkratoch
2016-11-13 16:02 jkratoch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161102205547.19939.qmail@sourceware.org \
    --to=jkratoch@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).