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: Merge remote-tracking branch 'gdb/master' into dwarf5gcc
Date: Wed, 02 Nov 2016 20:55:00 -0000	[thread overview]
Message-ID: <20161102205541.19630.qmail@sourceware.org> (raw)

The branch, users/jkratoch/dwarf5gcc has been updated
       via  02e0217ac3479b8a6b3a41a57aafcfa5c496a628 (commit)
       via  47acf0bd9faef8634d242e19ec3b7f784d10ba76 (commit)
       via  920d2ddccb72a366140ed28283165b274f7a9045 (commit)
       via  95dc74aa02352505785bb70ba60b706e70c74584 (commit)
       via  af955fe696088e69b436947b4a6f134567d31793 (commit)
      from  2e6305d981cdd51a7349fb82f83b00a9c52c81d1 (commit)

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

- Log -----------------------------------------------------------------
commit 02e0217ac3479b8a6b3a41a57aafcfa5c496a628
Merge: 2e6305d 47acf0b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Nov 2 21:54:31 2016 +0100

    Merge remote-tracking branch 'gdb/master' into dwarf5gcc

commit 47acf0bd9faef8634d242e19ec3b7f784d10ba76
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Wed Nov 2 12:31:25 2016 -0700

    Enable Intel AVX512_4VNNIW instructions
    
    gas/
    
    	* 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.
    
    opcodes/
    
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3852, PREFIX_EVEX_0F3853.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_4VNNIW_FLAGS,
    	CPU_ANY_AVX512_4VNNIW_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_4VNNIW.
    	* i386-opc.h (enum): (AVX512_4VNNIW): New.
    	(i386_cpu_flags): Add cpuavx512_4vnniw.
    	* i386-opc.tbl: Add Intel AVX512_4VNNIW instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 920d2ddccb72a366140ed28283165b274f7a9045
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Wed Nov 2 12:24:39 2016 -0700

    Enable Intel AVX512_4FMAPS instructions
    
    gas/
    
    	* 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.
    
    opcodes/
    
    	* i386-dis.c. (enum): Add PREFIX_EVEX_0F389A,
    	PREFIX_EVEX_0F389B, PREFIX_EVEX_0F38AA, PREFIX_EVEX_0F38AB.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_4FMAPS_FLAGS,
    	CPU_ANY_AVX512_4FMAPS_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_4FMAPS.
    	(opcode_modifiers): Add ImplicitQuadGroup modifier.
    	* i386-opc.h (AVX512_4FMAP): New.
    	(i386_cpu_flags): Add cpuavx512_4fmaps.
    	(ImplicitQuadGroup): New.
    	(i386_opcode_modifier): Add implicitquadgroup.
    	* i386-opc.tbl: Add Intel AVX512_4FMAPS instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 95dc74aa02352505785bb70ba60b706e70c74584
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 2 00:00:20 2016 +0000

    Automatic date update in version.in

commit af955fe696088e69b436947b4a6f134567d31793
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 16:14:35 2016 +0000

    BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_lookup'
    
    Break out of the outer switch statement once the inner switch for the
    BFD_RELOC_CTOR relocation has been processed, preventing double BFD_FAIL
    calls from being made, once from the inner switch and then again from
    the default case of the outer switch.
    
    Noticed with a `-Wimplicit-fallthrough' build error reported by a recent
    GCC version:
    
    In file included from .../bfd/reloc.c:52:0:
    .../bfd/reloc.c: In function 'bfd_default_reloc_type_lookup':
    .../bfd/libbfd.h:779:8: error: this statement may fall through [-Werror=implicit-fallthrough=]
       do { bfd_assert(__FILE__,__LINE__); } while (0)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    .../bfd/reloc.c:7780:4: note: in expansion of macro 'BFD_FAIL'
        BFD_FAIL ();
        ^~~~~~~~
    .../bfd/reloc.c:7782:5: note: here
         default:
         ^~~~~~~
    cc1: all warnings being treated as errors
    make[4]: *** [reloc.lo] Error 1
    
    	bfd/
    	* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
    	not fall through to the default case.

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

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: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-02 20:55 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-01-02 21:49 jkratoch
2016-12-24 20:30 jkratoch
2016-12-17 15:04 jkratoch
2016-11-28 20:19 jkratoch
2016-11-23 22:20 jkratoch
2016-11-20 20:10 jkratoch
2016-11-19  8:49 jkratoch
2016-11-18 19:20 jkratoch
2016-11-16 17:58 jkratoch
2016-11-13 16:02 jkratoch
2016-11-07 22:51 jkratoch
2016-11-06 18:03 jkratoch
2016-11-02 20:46 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=20161102205541.19630.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).