This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 3/5] Rename target descriptions to reflect actual content of description.


To better reflect the actual feature set covered by the IA target
descriptions, the existing descriptions are renamed. Each feature of
the extended state is added to the name of a description or xstate mask
starting from AVX.
For example, amd64-mpx-avx512-linux becomes amd64-avx-mpx-avx512-linux,
while amd64-avx-linux remains unchanged.
Likewise, the corresponding xstate masks are changed, e.g. from
X86_XSTATE_MPX_AVX512_MASK to X86_XSTATE_AVX_MPX_AVX512_MASK.

gdb/Changelog:
2016-04-18  Michael Sturm  <michael.sturm@intel.com>

     * amd64-linux-tdep.c (features/i386/amd64-avx512-linux.c): Rename
     include to...
     (features/i386/amd64-avx-mpx-avx512-linux.c): ...this.
     (features/i386/x32-avx512-linux.c): Rename include to...
     (features/i386/x32-avx-mpx-avx512-linux.c): ...this.
     (amd64_linux_core_read_description): Rename X86_XSTATE_MPX_AVX512_MASK,
     X86_XSTATE_AVX512_MASK, desc_x32_avx512_linux, tdesc_amd64_avx512_linux.
     (_initialize_amd64_linux_tdep): Rename
     initialize_tdesc_amd64_avx512_linux, initialize_tdesc_x32_avx512_linux.
     * amd64-linux-tdep.h (tdesc_amd64_avx512_linux): Rename to...
     (tdesc_amd64_avx_mpx_avx512_linux): ...this.
     (tdesc_x32_avx512_linux): Rename to...
     (tdesc_x32_avx_mpx_avx512_linux): ...this.
     * amd64-tdep.c (features/i386/amd64-avx512.c): Rename include to...
     (features/i386/amd64-avx-mpx-avx512.c): ...this.
     (features/i386/x32-avx512.c): Rename include to...
     (features/i386/x32-avx-mpx-avx512.c): ...this.
     (amd64_target_description): Rename X86_XSTATE_MPX_AVX512_MASK,
     X86_XSTATE_AVX512_MASK, tdesc_amd64_avx512.
     (_initialize_amd64_tdep): Rename initialize_tdesc_amd64_avx512. Rename
     initialize_tdesc_x32_avx512.
     * common/x86-xstate.h (X86_XSTATE_AVX512_MASK): Rename to...
     (X86_XSTATE_AVX_AVX512_MASK): ...this.
     (86_XSTATE_MPX_AVX512_MASK): Rename to...
     (X86_XSTATE_AVX_MPX_AVX512_MASK): ...this.
     (X86_XSTATE_ALL_MASK): Rename X86_XSTATE_MPX_AVX512_MASK to
     X86_XSTATE_AVX_MPX_AVX512_MASK.
     * features/Makefile (WHICH): Rename i386/i386-avx512,
     i386/i386-avx512-linux, i386/amd64-avx512, i386/amd64-avx512-linux,
     i386/x32-avx512, i386/x32-avx512-linux.
     (i386/i386-avx512-expedite, i386/i386-avx512-linux-expedite,
     i386/amd64-avx512-expedite, i386/amd64-avx512-linux-expedite,
     i386/x32-avx512-expedite, i386/x32-avx512-linux-expedite): Rename
     expedites.
     (XMLTOC): Rename i386/amd64-avx512-linux.xml, i386/amd64-avx512.xml,
     i386/i386-avx512-linux.xml, i386/i386-avx512.xml,
     i386/x32-avx512-linux.xml, i386/x32-avx512.xml.
     ($(outdir)/i386/i386-avx512.dat): Rename dat file in rule.
     ($(outdir)/i386/i386-avx512-linux.dat): Likewise.
     ($(outdir)/i386/amd64-avx512.dat): Likewise.
     ($(outdir)/i386/amd64-avx512-linux.dat): Likewise.
     ($(outdir)/i386/x32-avx512.dat): Likewise.
     ($(outdir)/i386/x32-avx512-linux.dat): Likewise.
     * features/i386/amd64-avx512-linux.c: Regenerate from renamed XML file.
     * features/i386/amd64-avx512-linux.xml: Rename XML file.
     * features/i386/amd64-avx512.c: Regenerate from renamed XML file.
     * features/i386/amd64-avx512.xml: Rename XML file.
     * features/i386/i386-avx512-linux.c: Regenerate from renamed XML file.
     * features/i386/i386-avx512-linux.xml: Rename XML file.
     * features/i386/i386-avx512.c: Regenerate from renamed XML file.
     * features/i386/i386-avx512.xml: Rename XML file.
     * features/i386/x32-avx512-linux.c: Regenerate from renamed XML file.
     * features/i386/x32-avx512-linux.xml: Rename XML file.
     * features/i386/x32-avx512.c: Regenerate from renamed XML file.
     * features/i386/x32-avx512.xml: Rename XML file.
     * i386-linux-tdep.c (features/i386/i386-avx512-linux.c): Rename to...
     (features/i386/i386-avx-mpx-avx512-linux.c): ...this.
     (i386_linux_core_read_description): Rename X86_XSTATE_MPX_AVX512_MASK,
     X86_XSTATE_AVX512_MASK, tdesc_i386_avx512_linux.
     (_initialize_i386_linux_tdep): Rename initialize_tdesc_i386_avx512_linux.
     * i386-linux-tdep.h (tdesc_i386_avx512_linux): Rename to...
     (tdesc_i386_avx_mpx_avx512_linux): ...this.
     * i386-tdep.c (features/i386/i386-avx512.c): Rename to...
     (features/i386/i386-avx-mpx-avx512.c): ...this.
     (i386_register_reggroup_p): Rename X86_XSTATE_AVX512_MASK.
     (i386_validate_tdesc_p): Likewise.
     (i386_target_description): Rename X86_XSTATE_MPX_AVX512_MASK,
     tdesc_i386_avx512.
     (_initialize_i386_tdep): Rename initialize_tdesc_i386_avx512.
     * regformats/i386/amd64-avx512-linux.dat: Regenerate from renamed XML
     file.
     * regformats/i386/amd64-avx512.dat: Likewise.
     * regformats/i386/i386-avx512-linux.dat: Likewise.
     * regformats/i386/i386-avx512.dat: Likewise.
     * regformats/i386/x32-avx512-linux.dat: Likewise.
     * regformats/i386/x32-avx512.dat: Likewise.
     * x86-Linux-nat.c (x86_linux_read_description): Rename
     X86_XSTATE_MPX_AVX512_MASK, X86_XSTATE_AVX512_MASK,
     tdesc_x32_avx512_linux, tdesc_amd64_avx512_linux, tdesc_i386_avx512_linux.

gdbserver/Changelog:
2016-04-18  Michael Sturm  <michael.sturm@intel.com>

     * Makefile.in (clean): Rename i386-avx512.c, i386-avx512-linux.c,
     amd64-avx512.c, amd64-avx512-linux.c, x32-avx512.c, x32-avx512-linux.c.
     (i386-avx512-linux-ipa.o): Rename rule and source files.
     (amd64-avx512-linux-ipa.o): Likewise.
     (i386-avx512.c): Rename rule, source fils and dat files.
     (i386-avx512-linux.c): Likewise.
     (amd64-avx512.c): Likewise.
     (amd64-avx512-linux.c): Likewise.
     (x32-avx512.c): Likewise.
     (x32-avx512-linux.c): Likewise.
     * configfure.srv (srv_i386_regobj): Rename i386-avx512.o.
     (i386_linux_regobj): Rename i386-avx512-linux.o.
     (srv_amd64_regobj): Rename amd64-avx512.o, x32-avx512.o.
     (srv_amd64_linux_regobj): Rename amd64-avx512-linux.o,
     x32-avx512-linux.o.
     (ipa_i386_linux_regobj): Rename i386-avx512-linux-ipa.o.
     (ipa_amd64_linux_regobj): Rename amd64-avx512-linux-ipa.o.
     (srv_i386_xmlfiles): Rename i386/i386-avx512.xml.
     (srv_amd64_xmlfiles): Rename i386/amd64-avx512.xml, i386/x32-avx512.xml.
     (srv_i386_linux_xmlfiles): Rename i386/i386-avx512-linux.xml.
     (srv_amd64_linux_xmlfiles): Rename i386/amd64-avx512-linux.xml,
     i386/x32-avx512-linux.xml).
     * linux-amd64-ipa.c (get_ipa_tdesc): Rename X86_TDESC_AVX512 and returned
     tdesc for that case.
     (initialize_low_tracepoint): Rename init_registers_amd64_avx512_linux.
     * linux-i386-ipa.c (get_ipa_tdesc): Rename X86_TDESC_AVX512 and tdesc
     returned for that case.
     (initialize_low_tracepoint): Rename init_registers_i386_avx512_linux.
     * linux-x86-low.c (x86_linux_read_description): Rename
     X86_XSTATE_AVX512_MASK and tdesc returned for that case.
     (x86_get_ipa_tdesc_idx): Rename tdesc_amd64_avx512_linux,
     tdesc_x32_avx512_linux and mask returned for these descriptions.
     Rename tdesc_i386_avx512_linux and mask returned for that description.
     (initialize_low_arch): Rename init_registers_amd64_avx512_linux,
     init_registers_x32_avx512_linux, init_registers_i386_avx512_linux.
     * linux-x86-tdesc.h (enum x86_linux_tdesc): Rename X86_TDESC_AVX512.
     (init_registers_amd64_avx512_linux): Rename to...
     (init_registers_amd64_avx_mpx_avx512_linux): ...this.
     (tdesc_amd64_avx512_linux): Rename to...
     (tdesc_amd64_avx_mpx_avx512_linux): ...this.
     (init_registers_x32_avx512_linux): Rename to...
     (init_registers_x32_avx_mpx_avx512_linux): ...this.
     (tdesc_x32_avx512_linux): Rename to...
     (tdesc_x32_avx_mpx_avx512_linux): ...this.
     (init_registers_i386_avx512_linux): Rename to...
     (init_registers_i386_avx_mpx_avx512_linux): ...this.
     (tdesc_i386_avx512_linux): Rename to...
     (tdesc_i386_avx_mpx_avx512_linux): ...this.

Change-Id: Idb83be3b3b72d5487542d4b568193df2777a3d9d
Signed-off-by: Michael Sturm <michael.sturm@intel.com>
---
 gdb/amd64-linux-tdep.c                             | 16 +++++-----
 gdb/amd64-linux-tdep.h                             |  4 +--
 gdb/amd64-tdep.c                                   | 14 ++++-----
 gdb/common/x86-xstate.h                            |  6 ++--
 gdb/features/Makefile                              | 34 +++++++++++-----------
 ...avx512-linux.c => amd64-avx-mpx-avx512-linux.c} |  8 ++---
 ...12-linux.xml => amd64-avx-mpx-avx512-linux.xml} |  2 +-
 .../{amd64-avx512.c => amd64-avx-mpx-avx512.c}     |  8 ++---
 .../{amd64-avx512.xml => amd64-avx-mpx-avx512.xml} |  2 +-
 ...-avx512-linux.c => i386-avx-mpx-avx512-linux.c} |  8 ++---
 ...512-linux.xml => i386-avx-mpx-avx512-linux.xml} |  2 +-
 .../i386/{i386-avx512.c => i386-avx-mpx-avx512.c}  |  8 ++---
 .../{i386-avx512.xml => i386-avx-mpx-avx512.xml}   |  2 +-
 ...2-avx512-linux.c => x32-avx-mpx-avx512-linux.c} |  8 ++---
 ...x512-linux.xml => x32-avx-mpx-avx512-linux.xml} |  2 +-
 .../i386/{x32-avx512.c => x32-avx-mpx-avx512.c}    |  8 ++---
 .../{x32-avx512.xml => x32-avx-mpx-avx512.xml}     |  2 +-
 gdb/gdbserver/Makefile.in                          | 34 +++++++++++-----------
 gdb/gdbserver/configure.srv                        | 21 +++++++------
 gdb/gdbserver/linux-amd64-ipa.c                    | 11 ++++---
 gdb/gdbserver/linux-i386-ipa.c                     |  6 ++--
 gdb/gdbserver/linux-x86-low.c                      | 29 +++++++++---------
 gdb/gdbserver/linux-x86-tdesc.h                    | 20 ++++++-------
 gdb/i386-linux-tdep.c                              | 10 +++----
 gdb/i386-linux-tdep.h                              |  2 +-
 gdb/i386-tdep.c                                    | 20 ++++++-------
 ...2-avx512.dat => amd64-avx-mpx-avx512-linux.dat} |  9 ++++--
 ...4-avx512-linux.dat => amd64-avx-mpx-avx512.dat} |  6 ++--
 ...512-linux.dat => i386-avx-mpx-avx512-linux.dat} |  6 ++--
 .../{i386-avx512.dat => i386-avx-mpx-avx512.dat}   |  6 ++--
 ...x512-linux.dat => x32-avx-mpx-avx512-linux.dat} |  6 ++--
 .../{amd64-avx512.dat => x32-avx-mpx-avx512.dat}   |  6 ++--
 gdb/x86-linux-nat.c                                | 14 ++++-----
 33 files changed, 174 insertions(+), 166 deletions(-)
 rename gdb/features/i386/{amd64-avx512-linux.c => amd64-avx-mpx-avx512-linux.c} (98%)
 rename gdb/features/i386/{amd64-avx512-linux.xml => amd64-avx-mpx-avx512-linux.xml} (89%)
 rename gdb/features/i386/{amd64-avx512.c => amd64-avx-mpx-avx512.c} (98%)
 rename gdb/features/i386/{amd64-avx512.xml => amd64-avx-mpx-avx512.xml} (93%)
 rename gdb/features/i386/{i386-avx512-linux.c => i386-avx-mpx-avx512-linux.c} (98%)
 rename gdb/features/i386/{i386-avx512-linux.xml => i386-avx-mpx-avx512-linux.xml} (88%)
 rename gdb/features/i386/{i386-avx512.c => i386-avx-mpx-avx512.c} (98%)
 rename gdb/features/i386/{i386-avx512.xml => i386-avx-mpx-avx512.xml} (94%)
 rename gdb/features/i386/{x32-avx512-linux.c => x32-avx-mpx-avx512-linux.c} (98%)
 rename gdb/features/i386/{x32-avx512-linux.xml => x32-avx-mpx-avx512-linux.xml} (89%)
 rename gdb/features/i386/{x32-avx512.c => x32-avx-mpx-avx512.c} (98%)
 rename gdb/features/i386/{x32-avx512.xml => x32-avx-mpx-avx512.xml} (94%)
 rename gdb/regformats/i386/{x32-avx512.dat => amd64-avx-mpx-avx512-linux.dat} (90%)
 rename gdb/regformats/i386/{amd64-avx512-linux.dat => amd64-avx-mpx-avx512.dat} (93%)
 rename gdb/regformats/i386/{i386-avx512-linux.dat => i386-avx-mpx-avx512-linux.dat} (84%)
 rename gdb/regformats/i386/{i386-avx512.dat => i386-avx-mpx-avx512.dat} (86%)
 rename gdb/regformats/i386/{x32-avx512-linux.dat => x32-avx-mpx-avx512-linux.dat} (92%)
 rename gdb/regformats/i386/{amd64-avx512.dat => x32-avx-mpx-avx512.dat} (93%)

diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index b9d7176..5c5e1ab 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -44,11 +44,11 @@
 #include "features/i386/amd64-avx-linux.c"
 #include "features/i386/amd64-mpx-linux.c"
 #include "features/i386/amd64-avx-mpx-linux.c"
-#include "features/i386/amd64-avx512-linux.c"
+#include "features/i386/amd64-avx-mpx-avx512-linux.c"
 
 #include "features/i386/x32-linux.c"
 #include "features/i386/x32-avx-linux.c"
-#include "features/i386/x32-avx512-linux.c"
+#include "features/i386/x32-avx-mpx-avx512-linux.c"
 
 /* The syscall's XML filename for i386.  */
 #define XML_SYSCALL_FILENAME_AMD64 "syscalls/amd64-linux.xml"
@@ -1585,12 +1585,12 @@ amd64_linux_core_read_description (struct gdbarch *gdbarch,
 
   switch (xcr0 & X86_XSTATE_ALL_MASK)
     {
-    case X86_XSTATE_MPX_AVX512_MASK:
-    case X86_XSTATE_AVX512_MASK:
+    case X86_XSTATE_AVX_MPX_AVX512_MASK:
+    case X86_XSTATE_AVX_AVX512_MASK:
       if (gdbarch_ptr_bit (gdbarch) == 32)
-	return tdesc_x32_avx512_linux;
+	return tdesc_x32_avx_mpx_avx512_linux;
       else
-	return tdesc_amd64_avx512_linux;
+	return tdesc_amd64_avx_mpx_avx512_linux;
     case X86_XSTATE_MPX_MASK:
       if (gdbarch_ptr_bit (gdbarch) == 32)
 	return tdesc_x32_avx_linux;  /* No x32 MPX falling back to AVX.  */
@@ -2296,9 +2296,9 @@ _initialize_amd64_linux_tdep (void)
   initialize_tdesc_amd64_avx_linux ();
   initialize_tdesc_amd64_mpx_linux ();
   initialize_tdesc_amd64_avx_mpx_linux ();
-  initialize_tdesc_amd64_avx512_linux ();
+  initialize_tdesc_amd64_avx_mpx_avx512_linux ();
 
   initialize_tdesc_x32_linux ();
   initialize_tdesc_x32_avx_linux ();
-  initialize_tdesc_x32_avx512_linux ();
+  initialize_tdesc_x32_avx_mpx_avx512_linux ();
 }
diff --git a/gdb/amd64-linux-tdep.h b/gdb/amd64-linux-tdep.h
index 7c53fda..55afe67 100644
--- a/gdb/amd64-linux-tdep.h
+++ b/gdb/amd64-linux-tdep.h
@@ -36,11 +36,11 @@ extern struct target_desc *tdesc_amd64_linux;
 extern struct target_desc *tdesc_amd64_avx_linux;
 extern struct target_desc *tdesc_amd64_mpx_linux;
 extern struct target_desc *tdesc_amd64_avx_mpx_linux;
-extern struct target_desc *tdesc_amd64_avx512_linux;
+extern struct target_desc *tdesc_amd64_avx_mpx_avx512_linux;
 
 extern struct target_desc *tdesc_x32_linux;
 extern struct target_desc *tdesc_x32_avx_linux;
-extern struct target_desc *tdesc_x32_avx512_linux;
+extern struct target_desc *tdesc_x32_avx_mpx_avx512_linux;
 
 /* Enum that defines the syscall identifiers for amd64 linux.
    Used for process record/replay, these will be translated into
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 233c65a..863f67c 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -46,11 +46,11 @@
 #include "features/i386/amd64-avx.c"
 #include "features/i386/amd64-mpx.c"
 #include "features/i386/amd64-avx-mpx.c"
-#include "features/i386/amd64-avx512.c"
+#include "features/i386/amd64-avx-mpx-avx512.c"
 
 #include "features/i386/x32.c"
 #include "features/i386/x32-avx.c"
-#include "features/i386/x32-avx512.c"
+#include "features/i386/x32-avx-mpx-avx512.c"
 
 #include "ax.h"
 #include "ax-gdb.h"
@@ -3202,9 +3202,9 @@ amd64_target_description (uint64_t xcr0)
 {
   switch (xcr0 & X86_XSTATE_ALL_MASK)
     {
-    case X86_XSTATE_MPX_AVX512_MASK:
-    case X86_XSTATE_AVX512_MASK:
-      return tdesc_amd64_avx512;
+    case X86_XSTATE_AVX_MPX_AVX512_MASK:
+    case X86_XSTATE_AVX_AVX512_MASK:
+      return tdesc_amd64_avx_mpx_avx512;
     case X86_XSTATE_MPX_MASK:
       return tdesc_amd64_mpx;
     case X86_XSTATE_AVX_MPX_MASK:
@@ -3226,11 +3226,11 @@ _initialize_amd64_tdep (void)
   initialize_tdesc_amd64_avx ();
   initialize_tdesc_amd64_mpx ();
   initialize_tdesc_amd64_avx_mpx ();
-  initialize_tdesc_amd64_avx512 ();
+  initialize_tdesc_amd64_avx_mpx_avx512 ();
 
   initialize_tdesc_x32 ();
   initialize_tdesc_x32_avx ();
-  initialize_tdesc_x32_avx512 ();
+  initialize_tdesc_x32_avx_mpx_avx512 ();
 }
 
 
diff --git a/gdb/common/x86-xstate.h b/gdb/common/x86-xstate.h
index fcb7453..4680bd6 100644
--- a/gdb/common/x86-xstate.h
+++ b/gdb/common/x86-xstate.h
@@ -41,10 +41,10 @@
 #define X86_XSTATE_AVX_MASK	(X86_XSTATE_SSE_MASK | X86_XSTATE_AVX)
 #define X86_XSTATE_MPX_MASK	(X86_XSTATE_SSE_MASK | X86_XSTATE_MPX)
 #define X86_XSTATE_AVX_MPX_MASK	(X86_XSTATE_AVX_MASK | X86_XSTATE_MPX)
-#define X86_XSTATE_AVX512_MASK	(X86_XSTATE_AVX_MASK | X86_XSTATE_AVX512)
-#define X86_XSTATE_MPX_AVX512_MASK (X86_XSTATE_AVX_MPX_MASK | X86_XSTATE_AVX512)
+#define X86_XSTATE_AVX_AVX512_MASK	(X86_XSTATE_AVX_MASK | X86_XSTATE_AVX512)
+#define X86_XSTATE_AVX_MPX_AVX512_MASK (X86_XSTATE_AVX_MPX_MASK | X86_XSTATE_AVX512)
 
-#define X86_XSTATE_ALL_MASK	(X86_XSTATE_MPX_AVX512_MASK)
+#define X86_XSTATE_ALL_MASK	(X86_XSTATE_AVX_MPX_AVX512_MASK)
 
 #define X86_XSTATE_SSE_SIZE	576
 #define X86_XSTATE_AVX_SIZE	832
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index 5a82641..3efcd4f 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -52,14 +52,14 @@ WHICH = aarch64 \
 	i386/i386-avx i386/i386-avx-linux \
 	i386/i386-mpx i386/i386-mpx-linux \
 	i386/i386-avx-mpx i386/i386-avx-mpx-linux \
-	i386/i386-avx512 i386/i386-avx512-linux \
+	i386/i386-avx-mpx-avx512 i386/i386-avx-mpx-avx512-linux \
 	i386/amd64-avx i386/amd64-avx-linux \
 	i386/amd64-mpx i386/amd64-mpx-linux \
 	i386/amd64-avx-mpx i386/amd64-avx-mpx-linux \
-	i386/amd64-avx512 i386/amd64-avx512-linux \
+	i386/amd64-avx-mpx-avx512 i386/amd64-avx-mpx-avx512-linux \
 	i386/x32 i386/x32-linux \
 	i386/x32-avx i386/x32-avx-linux \
-	i386/x32-avx512 i386/x32-avx512-linux \
+	i386/x32-avx-mpx-avx512 i386/x32-avx-mpx-avx512-linux \
 	mips-linux mips-dsp-linux \
 	microblaze-with-stack-protect \
 	mips64-linux mips64-dsp-linux \
@@ -138,8 +138,8 @@ XMLTOC = \
 	arm/arm-with-vfpv3.xml \
 	i386/amd64-avx-linux.xml \
 	i386/amd64-avx.xml \
-	i386/amd64-avx512-linux.xml \
-	i386/amd64-avx512.xml \
+	i386/amd64-avx-mpx-avx512-linux.xml \
+	i386/amd64-avx-mpx-avx512.xml \
 	i386/amd64-linux.xml \
 	i386/amd64-mpx-linux.xml \
 	i386/amd64-mpx.xml \
@@ -148,8 +148,8 @@ XMLTOC = \
 	i386/amd64.xml \
 	i386/i386-avx-linux.xml \
 	i386/i386-avx.xml \
-	i386/i386-avx512-linux.xml \
-	i386/i386-avx512.xml \
+	i386/i386-avx-mpx-avx512-linux.xml \
+	i386/i386-avx-mpx-avx512.xml \
 	i386/i386-linux.xml \
 	i386/i386-mmx-linux.xml \
 	i386/i386-mmx.xml \
@@ -160,8 +160,8 @@ XMLTOC = \
 	i386/i386.xml \
 	i386/x32-avx-linux.xml \
 	i386/x32-avx.xml \
-	i386/x32-avx512-linux.xml \
-	i386/x32-avx512.xml \
+	i386/x32-avx-mpx-avx512-linux.xml \
+	i386/x32-avx-mpx-avx512.xml \
 	i386/x32-linux.xml \
 	i386/x32.xml \
 	microblaze-with-stack-protect.xml \
@@ -271,9 +271,9 @@ $(outdir)/i386/i386-mpx-linux.dat: i386/32bit-core.xml \
 			       i386/32bit-linux.xml i386/32bit-mpx.xml
 $(outdir)/i386/i386-avx-mpx-linux.dat: i386/32bit-core.xml \
 			       i386/32bit-linux.xml i386/32bit-mpx.xml
-$(outdir)/i386/i386-avx512.dat: i386/32bit-core.xml i386/32bit-avx.xml \
+$(outdir)/i386/i386-avx-mpx-avx512.dat: i386/32bit-core.xml i386/32bit-avx.xml \
 			       i386/32bit-mpx.xml i386/32bit-avx512.xml
-$(outdir)/i386/i386-avx512-linux.dat: i386/32bit-core.xml i386/32bit-avx.xml \
+$(outdir)/i386/i386-avx-mpx-avx512-linux.dat: i386/32bit-core.xml i386/32bit-avx.xml \
 			       i386/32bit-linux.xml i386/32bit-mpx.xml i386/32bit-avx512.xml
 $(outdir)/i386/i386-mmx.dat: i386/32bit-core.xml 
 $(outdir)/i386/i386-mmx-linux.dat: i386/32bit-core.xml i386/32bit-linux.xml
@@ -288,9 +288,9 @@ $(outdir)/i386/amd64-mpx.dat: i386/64bit-core.xml i386/64bit-avx.xml \
 			       i386/64bit-mpx.xml
 $(outdir)/i386/amd64-avx-mpx.dat: i386/64bit-core.xml \
 			       i386/64bit-mpx.xml
-$(outdir)/i386/amd64-avx512.dat: i386/64bit-core.xml i386/64bit-avx.xml \
+$(outdir)/i386/amd64-avx-mpx-avx512.dat: i386/64bit-core.xml i386/64bit-avx.xml \
 			       i386/64bit-mpx.xml i386/64bit-avx512.xml
-$(outdir)/i386/amd64-avx512-linux.dat: i386/64bit-core.xml i386/64bit-avx.xml \
+$(outdir)/i386/amd64-avx-mpx-avx512-linux.dat: i386/64bit-core.xml i386/64bit-avx.xml \
 			       i386/64bit-mpx.xml i386/64bit-avx512.xml \
 			       i386/64bit-linux.xml i386/64bit-segments.xml
 $(outdir)/i386/x32.dat: i386/x32-core.xml i386/64bit-sse.xml
@@ -299,11 +299,11 @@ $(outdir)/i386/x32-linux.dat: i386/x32-core.xml i386/64bit-sse.xml \
 $(outdir)/i386/x32-avx.dat: i386/x32-core.xml i386/64bit-avx.xml
 $(outdir)/i386/x32-avx-linux.dat: i386/x32-core.xml i386/64bit-avx.xml \
 			       i386/64bit-linux.xml i386/64bit-segments.xml
-$(outdir)/i386/x32-avx512.dat: i386/x32-core.xml i386/64bit-avx.xml \
+$(outdir)/i386/x32-avx-mpx-avx512.dat: i386/x32-core.xml i386/64bit-avx.xml \
 			       i386/64bit-mpx.xml i386/64bit-avx512.xml
-$(outdir)/i386/x32-avx512-linux.dat: i386/x32-core.xml i386/64bit-avx.xml \
-			       i386/64bit-mpx.xml i386/64bit-avx512.xml \
-			       i386/64bit-linux.xml i386/64bit-segments.xml
+$(outdir)/i386/x32-avx-mpx-avx512-linux.dat: i386/x32-core.xml i386/64bit-avx.xml \
+			       i386/64bit-mpx.xml i386/64bit-avx512.xml i386/64bit-linux.xml \
+			       i386/64bit-segments.xml
 
 # 'all' doesn't build the C files, so don't delete them in 'clean'
 # either.
diff --git a/gdb/features/i386/amd64-avx512-linux.c b/gdb/features/i386/amd64-avx-mpx-avx512-linux.c
similarity index 98%
rename from gdb/features/i386/amd64-avx512-linux.c
rename to gdb/features/i386/amd64-avx-mpx-avx512-linux.c
index b071f62..dd1f100 100644
--- a/gdb/features/i386/amd64-avx512-linux.c
+++ b/gdb/features/i386/amd64-avx-mpx-avx512-linux.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: amd64-avx512-linux.xml */
+  Original: amd64-avx-mpx-avx512-linux.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_amd64_avx512_linux;
+struct target_desc *tdesc_amd64_avx_mpx_avx512_linux;
 static void
-initialize_tdesc_amd64_avx512_linux (void)
+initialize_tdesc_amd64_avx_mpx_avx512_linux (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -322,5 +322,5 @@ initialize_tdesc_amd64_avx512_linux (void)
   tdesc_create_reg (feature, "zmm30h", 152, 1, NULL, 256, "v2ui128");
   tdesc_create_reg (feature, "zmm31h", 153, 1, NULL, 256, "v2ui128");
 
-  tdesc_amd64_avx512_linux = result;
+  tdesc_amd64_avx_mpx_avx512_linux = result;
 }
diff --git a/gdb/features/i386/amd64-avx512-linux.xml b/gdb/features/i386/amd64-avx-mpx-avx512-linux.xml
similarity index 89%
rename from gdb/features/i386/amd64-avx512-linux.xml
rename to gdb/features/i386/amd64-avx-mpx-avx512-linux.xml
index 516f4e3..21d0664 100644
--- a/gdb/features/i386/amd64-avx512-linux.xml
+++ b/gdb/features/i386/amd64-avx-mpx-avx512-linux.xml
@@ -5,7 +5,7 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!-- AMD64 with AVX512 - Includes Linux-only special "register".  -->
+<!-- AMD64 with AVX, MPX, AVX512 - Includes Linux-only special "register".  -->
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
diff --git a/gdb/features/i386/amd64-avx512.c b/gdb/features/i386/amd64-avx-mpx-avx512.c
similarity index 98%
rename from gdb/features/i386/amd64-avx512.c
rename to gdb/features/i386/amd64-avx-mpx-avx512.c
index 09b73f4..486931f 100644
--- a/gdb/features/i386/amd64-avx512.c
+++ b/gdb/features/i386/amd64-avx-mpx-avx512.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: amd64-avx512.xml */
+  Original: amd64-avx-mpx-avx512.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_amd64_avx512;
+struct target_desc *tdesc_amd64_avx_mpx_avx512;
 static void
-initialize_tdesc_amd64_avx512 (void)
+initialize_tdesc_amd64_avx_mpx_avx512 (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -313,5 +313,5 @@ initialize_tdesc_amd64_avx512 (void)
   tdesc_create_reg (feature, "zmm30h", 149, 1, NULL, 256, "v2ui128");
   tdesc_create_reg (feature, "zmm31h", 150, 1, NULL, 256, "v2ui128");
 
-  tdesc_amd64_avx512 = result;
+  tdesc_amd64_avx_mpx_avx512 = result;
 }
diff --git a/gdb/features/i386/amd64-avx512.xml b/gdb/features/i386/amd64-avx-mpx-avx512.xml
similarity index 93%
rename from gdb/features/i386/amd64-avx512.xml
rename to gdb/features/i386/amd64-avx-mpx-avx512.xml
index 264ce7e..482111e 100644
--- a/gdb/features/i386/amd64-avx512.xml
+++ b/gdb/features/i386/amd64-avx-mpx-avx512.xml
@@ -5,7 +5,7 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!-- AMD64 with AVX512 -->
+<!-- AMD64 with AVX, MPX, AVX512 -->
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
diff --git a/gdb/features/i386/i386-avx512-linux.c b/gdb/features/i386/i386-avx-mpx-avx512-linux.c
similarity index 98%
rename from gdb/features/i386/i386-avx512-linux.c
rename to gdb/features/i386/i386-avx-mpx-avx512-linux.c
index 0d3ab22..0fa3552 100644
--- a/gdb/features/i386/i386-avx512-linux.c
+++ b/gdb/features/i386/i386-avx-mpx-avx512-linux.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: i386-avx512-linux.xml */
+  Original: i386-avx-mpx-avx512-linux.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_i386_avx512_linux;
+struct target_desc *tdesc_i386_avx_mpx_avx512_linux;
 static void
-initialize_tdesc_i386_avx512_linux (void)
+initialize_tdesc_i386_avx_mpx_avx512_linux (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -204,5 +204,5 @@ initialize_tdesc_i386_avx512_linux (void)
   tdesc_create_reg (feature, "zmm6h", 70, 1, NULL, 256, "v2ui128");
   tdesc_create_reg (feature, "zmm7h", 71, 1, NULL, 256, "v2ui128");
 
-  tdesc_i386_avx512_linux = result;
+  tdesc_i386_avx_mpx_avx512_linux = result;
 }
diff --git a/gdb/features/i386/i386-avx512-linux.xml b/gdb/features/i386/i386-avx-mpx-avx512-linux.xml
similarity index 88%
rename from gdb/features/i386/i386-avx512-linux.xml
rename to gdb/features/i386/i386-avx-mpx-avx512-linux.xml
index a0c34ba..2617eab 100644
--- a/gdb/features/i386/i386-avx512-linux.xml
+++ b/gdb/features/i386/i386-avx-mpx-avx512-linux.xml
@@ -5,7 +5,7 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!-- I386 with AVX512 - Includes Linux-only special "register".  -->
+<!-- I386 with AVX, MPX, AVX512 - Includes Linux-only special "register".  -->
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
diff --git a/gdb/features/i386/i386-avx512.c b/gdb/features/i386/i386-avx-mpx-avx512.c
similarity index 98%
rename from gdb/features/i386/i386-avx512.c
rename to gdb/features/i386/i386-avx-mpx-avx512.c
index 1cb68a1..ad5ac3b 100644
--- a/gdb/features/i386/i386-avx512.c
+++ b/gdb/features/i386/i386-avx-mpx-avx512.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: i386-avx512.xml */
+  Original: i386-avx-mpx-avx512.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_i386_avx512;
+struct target_desc *tdesc_i386_avx_mpx_avx512;
 static void
-initialize_tdesc_i386_avx512 (void)
+initialize_tdesc_i386_avx_mpx_avx512 (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -199,5 +199,5 @@ initialize_tdesc_i386_avx512 (void)
   tdesc_create_reg (feature, "zmm6h", 69, 1, NULL, 256, "v2ui128");
   tdesc_create_reg (feature, "zmm7h", 70, 1, NULL, 256, "v2ui128");
 
-  tdesc_i386_avx512 = result;
+  tdesc_i386_avx_mpx_avx512 = result;
 }
diff --git a/gdb/features/i386/i386-avx512.xml b/gdb/features/i386/i386-avx-mpx-avx512.xml
similarity index 94%
rename from gdb/features/i386/i386-avx512.xml
rename to gdb/features/i386/i386-avx-mpx-avx512.xml
index 6957563..392cc1b 100644
--- a/gdb/features/i386/i386-avx512.xml
+++ b/gdb/features/i386/i386-avx-mpx-avx512.xml
@@ -5,7 +5,7 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!-- I386 with AVX512 -->
+<!-- I386 with AVX, MPX, AVX512 -->
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
diff --git a/gdb/features/i386/x32-avx512-linux.c b/gdb/features/i386/x32-avx-mpx-avx512-linux.c
similarity index 98%
rename from gdb/features/i386/x32-avx512-linux.c
rename to gdb/features/i386/x32-avx-mpx-avx512-linux.c
index 3994996..841d6c9 100644
--- a/gdb/features/i386/x32-avx512-linux.c
+++ b/gdb/features/i386/x32-avx-mpx-avx512-linux.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: x32-avx512-linux.xml */
+  Original: x32-avx-mpx-avx512-linux.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_x32_avx512_linux;
+struct target_desc *tdesc_x32_avx_mpx_avx512_linux;
 static void
-initialize_tdesc_x32_avx512_linux (void)
+initialize_tdesc_x32_avx_mpx_avx512_linux (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -322,5 +322,5 @@ initialize_tdesc_x32_avx512_linux (void)
   tdesc_create_reg (feature, "zmm30h", 152, 1, NULL, 256, "v2ui128");
   tdesc_create_reg (feature, "zmm31h", 153, 1, NULL, 256, "v2ui128");
 
-  tdesc_x32_avx512_linux = result;
+  tdesc_x32_avx_mpx_avx512_linux = result;
 }
diff --git a/gdb/features/i386/x32-avx512-linux.xml b/gdb/features/i386/x32-avx-mpx-avx512-linux.xml
similarity index 89%
rename from gdb/features/i386/x32-avx512-linux.xml
rename to gdb/features/i386/x32-avx-mpx-avx512-linux.xml
index 7266c8e..4b57d41 100644
--- a/gdb/features/i386/x32-avx512-linux.xml
+++ b/gdb/features/i386/x32-avx-mpx-avx512-linux.xml
@@ -5,7 +5,7 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!-- X32 with AVX512 - Includes Linux-only special "register".  -->
+<!-- X32 with AVX, MPX, AVX512 - Includes Linux-only special "register".  -->
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
diff --git a/gdb/features/i386/x32-avx512.c b/gdb/features/i386/x32-avx-mpx-avx512.c
similarity index 98%
rename from gdb/features/i386/x32-avx512.c
rename to gdb/features/i386/x32-avx-mpx-avx512.c
index acbfaea..20deeab 100644
--- a/gdb/features/i386/x32-avx512.c
+++ b/gdb/features/i386/x32-avx-mpx-avx512.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: x32-avx512.xml */
+  Original: x32-avx-mpx-avx512.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_x32_avx512;
+struct target_desc *tdesc_x32_avx_mpx_avx512;
 static void
-initialize_tdesc_x32_avx512 (void)
+initialize_tdesc_x32_avx_mpx_avx512 (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -313,5 +313,5 @@ initialize_tdesc_x32_avx512 (void)
   tdesc_create_reg (feature, "zmm30h", 149, 1, NULL, 256, "v2ui128");
   tdesc_create_reg (feature, "zmm31h", 150, 1, NULL, 256, "v2ui128");
 
-  tdesc_x32_avx512 = result;
+  tdesc_x32_avx_mpx_avx512 = result;
 }
diff --git a/gdb/features/i386/x32-avx512.xml b/gdb/features/i386/x32-avx-mpx-avx512.xml
similarity index 94%
rename from gdb/features/i386/x32-avx512.xml
rename to gdb/features/i386/x32-avx-mpx-avx512.xml
index dc7c315..5bc74a8 100644
--- a/gdb/features/i386/x32-avx512.xml
+++ b/gdb/features/i386/x32-avx-mpx-avx512.xml
@@ -5,7 +5,7 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!-- X32 with AVX512 -->
+<!-- X32 with AVX, MPX, AVX512 -->
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index 75736b6..bc4819b 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -445,15 +445,15 @@ clean:
 	rm -f i386-avx.c i386-avx-linux.c
 	rm -f i386-mpx.c i386-mpx-linux.c
 	rm -f i386-avx-mpx.c i386-avx-mpx-linux.c
-	rm -f i386-avx512.c i386-avx512-linux.c
+	rm -f i386-avx-mpx-avx512.c i386-avx-mpx-avx512-linux.c
 	rm -f amd64-avx.c amd64-avx-linux.c
 	rm -f amd64-mpx.c amd64-mpx-linux.c
 	rm -f amd64-avx-mpx.c amd64-avx-mpx-linux.c
-	rm -f amd64-avx512.c amd64-avx512-linux.c
+	rm -f amd64-avx-mpx-avx512.c amd64-avx-mpx-avx512-linux.c
 	rm -f i386-mmx.c i386-mmx-linux.c
 	rm -f x32.c x32-linux.c
 	rm -f x32-avx.c x32-avx-linux.c
-	rm -f x32-avx512.c x32-avx512-linux.c
+	rm -f x32-avx-mpx-avx512.c x32-avx-mpx-avx512-linux.c
 	@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
 
 maintainer-clean realclean distclean: clean
@@ -577,7 +577,7 @@ i386-mpx-linux-ipa.o: i386-mpx-linux.c
 i386-avx-mpx-linux-ipa.o: i386-avx-mpx-linux.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
-i386-avx512-linux-ipa.o: i386-avx512-linux.c
+i386-avx-mpx-avx512-linux-ipa.o: i386-avx-mpx-avx512-linux.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
 linux-i386-ipa.o: linux-i386-ipa.c
@@ -598,7 +598,7 @@ amd64-mpx-linux-ipa.o: amd64-mpx-linux.c
 amd64-avx-mpx-linux-ipa.o: amd64-avx-mpx-linux.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
-amd64-avx512-linux-ipa.o: amd64-avx512-linux.c
+amd64-avx-mpx-avx512-linux-ipa.o: amd64-avx-mpx-avx512-linux.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
 linux-aarch64-ipa.o: linux-aarch64-ipa.c
@@ -894,10 +894,10 @@ i386-avx.c : $(srcdir)/../regformats/i386/i386-avx.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx.dat i386-avx.c
 i386-avx-linux.c : $(srcdir)/../regformats/i386/i386-avx-linux.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-linux.dat i386-avx-linux.c
-i386-avx512.c : $(srcdir)/../regformats/i386/i386-avx512.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx512.dat i386-avx512.c
-i386-avx512-linux.c : $(srcdir)/../regformats/i386/i386-avx512-linux.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx512-linux.dat i386-avx512-linux.c
+i386-avx-mpx-avx512.c : $(srcdir)/../regformats/i386/i386-avx-mpx-avx512.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-mpx-avx512.dat i386-avx-mpx-avx512.c
+i386-avx-mpx-avx512-linux.c : $(srcdir)/../regformats/i386/i386-avx-mpx-avx512-linux.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-mpx-avx512-linux.dat i386-avx-mpx-avx512-linux.c
 i386-mpx.c : $(srcdir)/../regformats/i386/i386-mpx.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx.dat i386-mpx.c
 i386-mpx-linux.c : $(srcdir)/../regformats/i386/i386-mpx-linux.dat $(regdat_sh)
@@ -1012,10 +1012,10 @@ amd64-avx.c : $(srcdir)/../regformats/i386/amd64-avx.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx.dat amd64-avx.c
 amd64-avx-linux.c : $(srcdir)/../regformats/i386/amd64-avx-linux.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-linux.dat amd64-avx-linux.c
-amd64-avx512.c : $(srcdir)/../regformats/i386/amd64-avx512.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx512.dat amd64-avx512.c
-amd64-avx512-linux.c : $(srcdir)/../regformats/i386/amd64-avx512-linux.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx512-linux.dat amd64-avx512-linux.c
+amd64-avx-mpx-avx512.c : $(srcdir)/../regformats/i386/amd64-avx-mpx-avx512.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-mpx-avx512.dat amd64-avx-mpx-avx512.c
+amd64-avx-mpx-avx512-linux.c : $(srcdir)/../regformats/i386/amd64-avx-mpx-avx512-linux.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-mpx-avx512-linux.dat amd64-avx-mpx-avx512-linux.c
 amd64-mpx.c : $(srcdir)/../regformats/i386/amd64-mpx.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx.dat amd64-mpx.c
 amd64-mpx-linux.c : $(srcdir)/../regformats/i386/amd64-mpx-linux.dat $(regdat_sh)
@@ -1032,10 +1032,10 @@ x32-avx.c : $(srcdir)/../regformats/i386/x32-avx.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx.dat x32-avx.c
 x32-avx-linux.c : $(srcdir)/../regformats/i386/x32-avx-linux.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-linux.dat x32-avx-linux.c
-x32-avx512.c : $(srcdir)/../regformats/i386/x32-avx512.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx512.dat x32-avx512.c
-x32-avx512-linux.c : $(srcdir)/../regformats/i386/x32-avx512-linux.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx512-linux.dat x32-avx512-linux.c
+x32-avx-mpx-avx512.c : $(srcdir)/../regformats/i386/x32-avx-mpx-avx512.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-mpx-avx512.dat x32-avx-mpx-avx512.c
+x32-avx-mpx-avx512-linux.c : $(srcdir)/../regformats/i386/x32-avx-mpx-avx512-linux.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-mpx-avx512-linux.dat x32-avx-mpx-avx512-linux.c
 reg-xtensa.c : $(srcdir)/../regformats/reg-xtensa.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-xtensa.dat reg-xtensa.c
 reg-tilegx.c : $(srcdir)/../regformats/reg-tilegx.dat $(regdat_sh)
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index d03dcb9..9f656f9 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -24,22 +24,21 @@
 # Default hostio_last_error implementation
 srv_hostio_err_objs="hostio-errno.o"
 
-srv_i386_regobj="i386.o i386-avx.o i386-avx512.o i386-mpx.o i386-avx-mpx.o i386-mmx.o"
-srv_i386_linux_regobj="i386-linux.o i386-avx-linux.o i386-avx512-linux.o i386-mpx-linux.o i386-avx-mpx-linux.o i386-mmx-linux.o"
-srv_amd64_regobj="amd64.o amd64-avx.o amd64-avx512.o amd64-mpx.o amd64-avx-mpx.o x32.o x32-avx.o x32-avx512.o"
-srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx512-linux.o amd64-mpx-linux.o amd64-avx-mpx-linux.o x32-linux.o x32-avx-linux.o x32-avx512-linux.o"
+srv_i386_regobj="i386.o i386-avx.o i386-avx-mpx-avx512.o i386-mpx.o i386-avx-mpx.o i386-mmx.o"
+srv_i386_linux_regobj="i386-linux.o i386-avx-linux.o i386-avx-mpx-avx512-linux.o i386-mpx-linux.o i386-avx-mpx-linux.o i386-mmx-linux.o"
+srv_amd64_regobj="amd64.o amd64-avx.o amd64-avx-mpx-avx512.o amd64-mpx.o amd64-avx-mpx.o x32.o x32-avx.o x32-avx-mpx-avx512.o"
+srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx-mpx-avx512-linux.o amd64-mpx-linux.o amd64-avx-mpx-linux.o x32-linux.o x32-avx-linux.o x32-avx-mpx-avx512-linux.o"
 
-ipa_i386_linux_regobj="i386-linux-ipa.o i386-avx-linux-ipa.o  i386-avx-mpx-linux-ipa.o i386-avx512-linux-ipa.o i386-mpx-linux-ipa.o i386-mmx-linux-ipa.o"
-ipa_amd64_linux_regobj="amd64-linux-ipa.o amd64-avx-linux-ipa.o amd64-avx-mpx-linux-ipa.o amd64-avx512-linux-ipa.o amd64-mpx-linux-ipa.o"
-ipa_x32_linux_regobj="x32-linux-ipa.o x32-avx-linux-ipa.o x32-avx512-linux-ipa.o"
+ipa_i386_linux_regobj="i386-linux-ipa.o i386-avx-linux-ipa.o  i386-avx-mpx-linux-ipa.o i386-avx-mpx-avx512-linux-ipa.o i386-mpx-linux-ipa.o i386-mmx-linux-ipa.o"
+ipa_amd64_linux_regobj="amd64-linux-ipa.o amd64-avx-linux-ipa.o amd64-avx-mpx-linux-ipa.o amd64-avx-mpx-avx512-linux-ipa.o amd64-mpx-linux-ipa.o"
 ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-cell32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-cell64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o"
 
 srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml i386/32bit-avx512.xml i386/32bit-mpx.xml"
 srv_i386_64bit_xmlfiles="i386/64bit-core.xml i386/64bit-segments.xml i386/64bit-sse.xml i386/64bit-avx.xml i386/64bit-avx512.xml i386/x32-core.xml i386/64bit-mpx.xml"
-srv_i386_xmlfiles="i386/i386.xml i386/i386-avx.xml i386/i386-avx512.xml i386/i386-mpx.xml i386/i386-avx-mpx.xml i386/i386-mmx.xml $srv_i386_32bit_xmlfiles"
-srv_amd64_xmlfiles="i386/amd64.xml i386/amd64-avx.xml i386/amd64-avx512.xml i386/x32.xml i386/x32-avx.xml i386/x32-avx512.xml i386/amd64-mpx.xml i386/amd64-avx-mpx.xml  $srv_i386_64bit_xmlfiles"
-srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/i386-avx-linux.xml i386/i386-avx512-linux.xml i386/i386-mmx-linux.xml i386/32bit-linux.xml i386/i386-mpx-linux.xml i386/i386-avx-mpx-linux.xml $srv_i386_32bit_xmlfiles"
-srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd64-avx512-linux.xml i386/64bit-linux.xml i386/amd64-mpx-linux.xml i386/amd64-avx-mpx-linux.xml i386/x32-linux.xml i386/x32-avx-linux.xml i386/x32-avx512-linux.xml $srv_i386_64bit_xmlfiles"
+srv_i386_xmlfiles="i386/i386.xml i386/i386-avx.xml i386/i386-avx-mpx-avx512.xml i386/i386-mpx.xml i386/i386-avx-mpx.xml i386/i386-mmx.xml $srv_i386_32bit_xmlfiles"
+srv_amd64_xmlfiles="i386/amd64.xml i386/amd64-avx.xml i386/amd64-avx-mpx-avx512.xml i386/x32.xml i386/x32-avx.xml i386/x32-avx-mpx-avx512.xml i386/amd64-mpx.xml i386/amd64-avx-mpx.xml  $srv_i386_64bit_xmlfiles"
+srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/i386-avx-linux.xml i386/i386-avx-mpx-avx512-linux.xml i386/i386-mmx-linux.xml i386/32bit-linux.xml i386/i386-mpx-linux.xml i386/i386-avx-mpx-linux.xml $srv_i386_32bit_xmlfiles"
+srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd64-avx-mpx-avx512-linux.xml i386/64bit-linux.xml i386/amd64-mpx-linux.xml i386/amd64-avx-mpx-linux.xml i386/x32-linux.xml i386/x32-avx-linux.xml i386/x32-avx-mpx-avx512-linux.xml $srv_i386_64bit_xmlfiles"
 
 
 # Linux object files.  This is so we don't have to repeat
diff --git a/gdb/gdbserver/linux-amd64-ipa.c b/gdb/gdbserver/linux-amd64-ipa.c
index 3dd1c32..3d105f9 100644
--- a/gdb/gdbserver/linux-amd64-ipa.c
+++ b/gdb/gdbserver/linux-amd64-ipa.c
@@ -197,8 +197,12 @@ get_ipa_tdesc (int idx)
       return tdesc_amd64_mpx_linux;
     case X86_TDESC_AVX_MPX:
       return tdesc_amd64_avx_mpx_linux;
-    case X86_TDESC_AVX512:
-      return tdesc_amd64_avx512_linux;
+    case X86_TDESC_AVX_MPX_AVX512:
+      return tdesc_amd64_avx_mpx_avx512_linux;
+    default:
+      internal_error (__FILE__, __LINE__,
+		      "unknown ipa tdesc index: %d", idx);
+      return tdesc_amd64_linux;
     }
 #endif
 
@@ -278,7 +282,6 @@ initialize_low_tracepoint (void)
   init_registers_amd64_linux ();
   init_registers_amd64_avx_linux ();
   init_registers_amd64_avx_mpx_linux ();
-  init_registers_amd64_mpx_linux ();
-  init_registers_amd64_avx512_linux ();
+  init_registers_amd64_avx_mpx_avx512_linux ();
 #endif
 }
diff --git a/gdb/gdbserver/linux-i386-ipa.c b/gdb/gdbserver/linux-i386-ipa.c
index 0932a7b..cc09ef8 100644
--- a/gdb/gdbserver/linux-i386-ipa.c
+++ b/gdb/gdbserver/linux-i386-ipa.c
@@ -262,8 +262,8 @@ get_ipa_tdesc (int idx)
       return tdesc_i386_mpx_linux;
     case X86_TDESC_AVX_MPX:
       return tdesc_i386_avx_mpx_linux;
-    case X86_TDESC_AVX512:
-      return tdesc_i386_avx512_linux;
+    case X86_TDESC_AVX_MPX_AVX512:
+      return tdesc_i386_avx_mpx_avx512_linux;
     default:
       internal_error (__FILE__, __LINE__,
 		      "unknown ipa tdesc index: %d", idx);
@@ -293,6 +293,6 @@ initialize_low_tracepoint (void)
   init_registers_i386_linux ();
   init_registers_i386_avx_linux ();
   init_registers_i386_mpx_linux ();
-  init_registers_i386_avx512_linux ();
+  init_registers_i386_avx_mpx_avx512_linux ();
   initialize_fast_tracepoint_trampoline_buffer ();
 }
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index 8fdf324..9977f61 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -822,8 +822,9 @@ x86_linux_read_description (void)
 	    {
 	      switch (xcr0 & X86_XSTATE_ALL_MASK)
 	        {
-		case X86_XSTATE_AVX512_MASK:
-		  return tdesc_amd64_avx512_linux;
+		case X86_XSTATE_AVX_MPX_AVX512_MASK:
+		case X86_XSTATE_AVX_AVX512_MASK:
+		  return tdesc_amd64_avx_mpx_avx512_linux;
 
 		case X86_XSTATE_AVX_MPX_MASK:
 		  return tdesc_amd64_avx_mpx_linux;
@@ -847,8 +848,9 @@ x86_linux_read_description (void)
 	    {
 	      switch (xcr0 & X86_XSTATE_ALL_MASK)
 	        {
-		case X86_XSTATE_AVX512_MASK:
-		  return tdesc_x32_avx512_linux;
+		case X86_XSTATE_AVX_MPX_AVX512_MASK:
+		case X86_XSTATE_AVX_AVX512_MASK:
+		  return tdesc_x32_avx_mpx_avx512_linux;
 
 		case X86_XSTATE_MPX_MASK: /* No MPX on x32.  */
 		case X86_XSTATE_AVX_MASK:
@@ -869,8 +871,9 @@ x86_linux_read_description (void)
 	{
 	  switch (xcr0 & X86_XSTATE_ALL_MASK)
 	    {
-	    case (X86_XSTATE_AVX512_MASK):
-	      return tdesc_i386_avx512_linux;
+	    case X86_XSTATE_AVX_MPX_AVX512_MASK:
+	    case (X86_XSTATE_AVX_AVX512_MASK):
+	      return tdesc_i386_avx_mpx_avx512_linux;
 
 	    case (X86_XSTATE_MPX_MASK):
 	      return tdesc_i386_mpx_linux;
@@ -2895,8 +2898,8 @@ x86_get_ipa_tdesc_idx (void)
     return X86_TDESC_MPX;
   if (tdesc == tdesc_amd64_avx_mpx_linux)
     return X86_TDESC_AVX_MPX;
-  if (tdesc == tdesc_amd64_avx512_linux || tdesc == tdesc_x32_avx512_linux)
-    return X86_TDESC_AVX512;
+  if (tdesc == tdesc_amd64_avx_mpx_avx512_linux || tdesc == tdesc_x32_avx_mpx_avx512_linux)
+    return X86_TDESC_AVX_MPX_AVX512;
 #endif
 
   if (tdesc == tdesc_i386_mmx_linux)
@@ -2909,8 +2912,8 @@ x86_get_ipa_tdesc_idx (void)
     return X86_TDESC_MPX;
   if (tdesc == tdesc_i386_avx_mpx_linux)
     return X86_TDESC_AVX_MPX;
-  if (tdesc == tdesc_i386_avx512_linux)
-    return X86_TDESC_AVX512;
+  if (tdesc == tdesc_i386_avx_mpx_avx512_linux)
+    return X86_TDESC_AVX_MPX_AVX512;
 
   return 0;
 }
@@ -2968,13 +2971,13 @@ initialize_low_arch (void)
 #ifdef __x86_64__
   init_registers_amd64_linux ();
   init_registers_amd64_avx_linux ();
-  init_registers_amd64_avx512_linux ();
   init_registers_amd64_mpx_linux ();
   init_registers_amd64_avx_mpx_linux ();
+  init_registers_amd64_avx_mpx_avx512_linux ();
 
   init_registers_x32_linux ();
   init_registers_x32_avx_linux ();
-  init_registers_x32_avx512_linux ();
+  init_registers_x32_avx_mpx_avx512_linux ();
 
   tdesc_amd64_linux_no_xml = XNEW (struct target_desc);
   copy_target_description (tdesc_amd64_linux_no_xml, tdesc_amd64_linux);
@@ -2983,9 +2986,9 @@ initialize_low_arch (void)
   init_registers_i386_linux ();
   init_registers_i386_mmx_linux ();
   init_registers_i386_avx_linux ();
-  init_registers_i386_avx512_linux ();
   init_registers_i386_mpx_linux ();
   init_registers_i386_avx_mpx_linux ();
+  init_registers_i386_avx_mpx_avx512_linux ();
 
   tdesc_i386_linux_no_xml = XNEW (struct target_desc);
   copy_target_description (tdesc_i386_linux_no_xml, tdesc_i386_linux);
diff --git a/gdb/gdbserver/linux-x86-tdesc.h b/gdb/gdbserver/linux-x86-tdesc.h
index bcf0b95..b5d19d9 100644
--- a/gdb/gdbserver/linux-x86-tdesc.h
+++ b/gdb/gdbserver/linux-x86-tdesc.h
@@ -28,7 +28,7 @@ enum x86_linux_tdesc {
   X86_TDESC_AVX = 2,
   X86_TDESC_MPX = 3,
   X86_TDESC_AVX_MPX = 4,
-  X86_TDESC_AVX512 = 5,
+  X86_TDESC_AVX_MPX_AVX512 = 5,
 };
 
 #ifdef __x86_64__
@@ -42,9 +42,9 @@ extern const struct target_desc *tdesc_amd64_linux;
 void init_registers_amd64_avx_linux (void);
 extern const struct target_desc *tdesc_amd64_avx_linux;
 
-/* Defined in auto-generated file amd64-avx512-linux.c.  */
-void init_registers_amd64_avx512_linux (void);
-extern const struct target_desc *tdesc_amd64_avx512_linux;
+/* Defined in auto-generated file amd64-avx-mpx-avx512-linux.c.  */
+void init_registers_amd64_avx_mpx_avx512_linux (void);
+extern const struct target_desc *tdesc_amd64_avx_mpx_avx512_linux;
 
 /* Defined in auto-generated file amd64-avx-mpx-linux.c.  */
 void init_registers_amd64_avx_mpx_linux (void);
@@ -64,9 +64,9 @@ extern const struct target_desc *tdesc_x32_linux;
 void init_registers_x32_avx_linux (void);
 extern const struct target_desc *tdesc_x32_avx_linux;
 
-/* Defined in auto-generated file x32-avx512-linux.c.  */
-void init_registers_x32_avx512_linux (void);
-extern const struct target_desc *tdesc_x32_avx512_linux;
+/* Defined in auto-generated file x32-avx-mpx-avx512-linux.c.  */
+void init_registers_x32_avx_mpx_avx512_linux (void);
+extern const struct target_desc *tdesc_x32_avx_mpx_avx512_linux;
 #endif
 
 #endif
@@ -88,9 +88,9 @@ extern const struct target_desc *tdesc_i386_avx_linux;
 void init_registers_i386_avx_mpx_linux (void);
 extern const struct target_desc *tdesc_i386_avx_mpx_linux;
 
-/* Defined in auto-generated file i386-avx512-linux.c.  */
-void init_registers_i386_avx512_linux (void);
-extern const struct target_desc *tdesc_i386_avx512_linux;
+/* Defined in auto-generated file i386-avx-mpx-avx512-linux.c.  */
+void init_registers_i386_avx_mpx_avx512_linux (void);
+extern const struct target_desc *tdesc_i386_avx_mpx_avx512_linux;
 
 /* Defined in auto-generated file i386-mpx-linux.c.  */
 void init_registers_i386_mpx_linux (void);
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 2014961..b510d34 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -50,7 +50,7 @@
 #include "features/i386/i386-mpx-linux.c"
 #include "features/i386/i386-avx-mpx-linux.c"
 #include "features/i386/i386-avx-linux.c"
-#include "features/i386/i386-avx512-linux.c"
+#include "features/i386/i386-avx-mpx-avx512-linux.c"
 
 /* Return non-zero, when the register is in the corresponding register
    group.  Put the LINUX_ORIG_EAX register in the system group.  */
@@ -688,9 +688,9 @@ i386_linux_core_read_description (struct gdbarch *gdbarch,
 
   switch ((xcr0 & X86_XSTATE_ALL_MASK))
     {
-    case X86_XSTATE_MPX_AVX512_MASK:
-    case X86_XSTATE_AVX512_MASK:
-      return tdesc_i386_avx512_linux;
+    case X86_XSTATE_AVX_MPX_AVX512_MASK:
+    case X86_XSTATE_AVX_AVX512_MASK:
+      return tdesc_i386_avx_mpx_avx512_linux;
     case X86_XSTATE_MPX_MASK:
       return tdesc_i386_mpx_linux;
     case X86_XSTATE_AVX_MPX_MASK:
@@ -1086,5 +1086,5 @@ _initialize_i386_linux_tdep (void)
   initialize_tdesc_i386_avx_linux ();
   initialize_tdesc_i386_mpx_linux ();
   initialize_tdesc_i386_avx_mpx_linux ();
-  initialize_tdesc_i386_avx512_linux ();
+  initialize_tdesc_i386_avx_mpx_avx512_linux ();
 }
diff --git a/gdb/i386-linux-tdep.h b/gdb/i386-linux-tdep.h
index f7f2407..8242554 100644
--- a/gdb/i386-linux-tdep.h
+++ b/gdb/i386-linux-tdep.h
@@ -48,7 +48,7 @@ extern struct target_desc *tdesc_i386_mmx_linux;
 extern struct target_desc *tdesc_i386_avx_linux;
 extern struct target_desc *tdesc_i386_mpx_linux;
 extern struct target_desc *tdesc_i386_avx_mpx_linux;
-extern struct target_desc *tdesc_i386_avx512_linux;
+extern struct target_desc *tdesc_i386_avx_mpx_avx512_linux;
 
 /* Format of XSAVE extended state is:
  	struct
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index b86c623..9892a84 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -54,7 +54,7 @@
 #include "features/i386/i386-avx.c"
 #include "features/i386/i386-mpx.c"
 #include "features/i386/i386-avx-mpx.c"
-#include "features/i386/i386-avx512.c"
+#include "features/i386/i386-avx-mpx-avx512.c"
 #include "features/i386/i386-mmx.c"
 
 #include "ax.h"
@@ -4555,11 +4555,11 @@ i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
   ymm_avx512_regnum_p = i386_ymm_avx512_regnum_p (gdbarch, regnum);
   zmm_regnum_p = i386_zmm_regnum_p (gdbarch, regnum);
 
-  avx512_p = ((tdep->xcr0 & X86_XSTATE_AVX512_MASK)
-	      == X86_XSTATE_AVX512_MASK);
-  avx_p = ((tdep->xcr0 & X86_XSTATE_AVX512_MASK)
+  avx512_p = ((tdep->xcr0 & X86_XSTATE_AVX_AVX512_MASK)
+	      == X86_XSTATE_AVX_AVX512_MASK);
+  avx_p = ((tdep->xcr0 & X86_XSTATE_AVX_AVX512_MASK)
 	   == X86_XSTATE_AVX_MASK) && !avx512_p;
-  sse_p = ((tdep->xcr0 & X86_XSTATE_AVX512_MASK)
+  sse_p = ((tdep->xcr0 & X86_XSTATE_AVX_AVX512_MASK)
 	   == X86_XSTATE_SSE_MASK) && !avx512_p && ! avx_p;
 
   if (group == vector_reggroup)
@@ -8210,7 +8210,7 @@ i386_validate_tdesc_p (struct gdbarch_tdep *tdep,
       if (!feature_avx)
 	return 0;
 
-      tdep->xcr0 = X86_XSTATE_MPX_AVX512_MASK;
+      tdep->xcr0 = X86_XSTATE_AVX_MPX_AVX512_MASK;
 
       /* It may have been set by OSABI initialization function.  */
       if (tdep->k0_regnum < 0)
@@ -8685,9 +8685,9 @@ i386_target_description (uint64_t xcr0)
 {
   switch (xcr0 & X86_XSTATE_ALL_MASK)
     {
-    case X86_XSTATE_MPX_AVX512_MASK:
-    case X86_XSTATE_AVX512_MASK:
-      return tdesc_i386_avx512;
+    case X86_XSTATE_AVX_MPX_AVX512_MASK:
+    case X86_XSTATE_AVX_AVX512_MASK:
+      return tdesc_i386_avx_mpx_avx512;
     case X86_XSTATE_AVX_MPX_MASK:
       return tdesc_i386_avx_mpx;
     case X86_XSTATE_MPX_MASK:
@@ -9029,7 +9029,7 @@ Show Intel Memory Protection Extensions specific variables."),
   initialize_tdesc_i386_avx ();
   initialize_tdesc_i386_mpx ();
   initialize_tdesc_i386_avx_mpx ();
-  initialize_tdesc_i386_avx512 ();
+  initialize_tdesc_i386_avx_mpx_avx512 ();
 
   /* Tell remote stub that we support XML target description.  */
   register_remote_support_xml ("i386");
diff --git a/gdb/regformats/i386/x32-avx512.dat b/gdb/regformats/i386/amd64-avx-mpx-avx512-linux.dat
similarity index 90%
rename from gdb/regformats/i386/x32-avx512.dat
rename to gdb/regformats/i386/amd64-avx-mpx-avx512-linux.dat
index 609ffe4..526bca4 100644
--- a/gdb/regformats/i386/x32-avx512.dat
+++ b/gdb/regformats/i386/amd64-avx-mpx-avx512-linux.dat
@@ -1,7 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/x32-avx512.xml
-name:x32_avx512
-xmltarget:x32-avx512.xml
+# Generated from: i386/amd64-avx-mpx-avx512-linux.xml
+name:amd64_avx_mpx_avx512_linux
+xmltarget:amd64-avx-mpx-avx512-linux.xml
 expedite:rbp,rsp,rip
 64:rax
 64:rbx
@@ -60,6 +60,9 @@ expedite:rbp,rsp,rip
 128:xmm14
 128:xmm15
 32:mxcsr
+64:orig_rax
+64:fs_base
+64:gs_base
 128:ymm0h
 128:ymm1h
 128:ymm2h
diff --git a/gdb/regformats/i386/amd64-avx512-linux.dat b/gdb/regformats/i386/amd64-avx-mpx-avx512.dat
similarity index 93%
rename from gdb/regformats/i386/amd64-avx512-linux.dat
rename to gdb/regformats/i386/amd64-avx-mpx-avx512.dat
index f1658d3..fc4bd2d 100644
--- a/gdb/regformats/i386/amd64-avx512-linux.dat
+++ b/gdb/regformats/i386/amd64-avx-mpx-avx512.dat
@@ -1,7 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/amd64-avx512-linux.xml
-name:amd64_avx512_linux
-xmltarget:amd64-avx512-linux.xml
+# Generated from: i386/amd64-avx-mpx-avx512.xml
+name:amd64_avx_mpx_avx512
+xmltarget:amd64-avx-mpx-avx512.xml
 expedite:rbp,rsp,rip
 64:rax
 64:rbx
diff --git a/gdb/regformats/i386/i386-avx512-linux.dat b/gdb/regformats/i386/i386-avx-mpx-avx512-linux.dat
similarity index 84%
rename from gdb/regformats/i386/i386-avx512-linux.dat
rename to gdb/regformats/i386/i386-avx-mpx-avx512-linux.dat
index 8fe70b9..2afffa3 100644
--- a/gdb/regformats/i386/i386-avx512-linux.dat
+++ b/gdb/regformats/i386/i386-avx-mpx-avx512-linux.dat
@@ -1,7 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/i386-avx512-linux.xml
-name:i386_avx512_linux
-xmltarget:i386-avx512-linux.xml
+# Generated from: i386/i386-avx-mpx-avx512-linux.xml
+name:i386_avx_mpx_avx512_linux
+xmltarget:i386-avx-mpx-avx512-linux.xml
 expedite:ebp,esp,eip
 32:eax
 32:ecx
diff --git a/gdb/regformats/i386/i386-avx512.dat b/gdb/regformats/i386/i386-avx-mpx-avx512.dat
similarity index 86%
rename from gdb/regformats/i386/i386-avx512.dat
rename to gdb/regformats/i386/i386-avx-mpx-avx512.dat
index 7e1fe93..a3c520c 100644
--- a/gdb/regformats/i386/i386-avx512.dat
+++ b/gdb/regformats/i386/i386-avx-mpx-avx512.dat
@@ -1,7 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/i386-avx512.xml
-name:i386_avx512
-xmltarget:i386-avx512.xml
+# Generated from: i386/i386-avx-mpx-avx512.xml
+name:i386_avx_mpx_avx512
+xmltarget:i386-avx-mpx-avx512.xml
 expedite:ebp,esp,eip
 32:eax
 32:ecx
diff --git a/gdb/regformats/i386/x32-avx512-linux.dat b/gdb/regformats/i386/x32-avx-mpx-avx512-linux.dat
similarity index 92%
rename from gdb/regformats/i386/x32-avx512-linux.dat
rename to gdb/regformats/i386/x32-avx-mpx-avx512-linux.dat
index 0b7f73a..b8b9d52 100644
--- a/gdb/regformats/i386/x32-avx512-linux.dat
+++ b/gdb/regformats/i386/x32-avx-mpx-avx512-linux.dat
@@ -1,7 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/x32-avx512-linux.xml
-name:x32_avx512_linux
-xmltarget:x32-avx512-linux.xml
+# Generated from: i386/x32-avx-mpx-avx512-linux.xml
+name:x32_avx_mpx_avx512_linux
+xmltarget:x32-avx-mpx-avx512-linux.xml
 expedite:rbp,rsp,rip
 64:rax
 64:rbx
diff --git a/gdb/regformats/i386/amd64-avx512.dat b/gdb/regformats/i386/x32-avx-mpx-avx512.dat
similarity index 93%
rename from gdb/regformats/i386/amd64-avx512.dat
rename to gdb/regformats/i386/x32-avx-mpx-avx512.dat
index 1f6c458..e872082 100644
--- a/gdb/regformats/i386/amd64-avx512.dat
+++ b/gdb/regformats/i386/x32-avx-mpx-avx512.dat
@@ -1,7 +1,7 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: i386/amd64-avx512.xml
-name:amd64_avx512
-xmltarget:amd64-avx512.xml
+# Generated from: i386/x32-avx-mpx-avx512.xml
+name:x32_avx_mpx_avx512
+xmltarget:x32-avx-mpx-avx512.xml
 expedite:rbp,rsp,rip
 64:rax
 64:rbx
diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c
index 679cf35..6c6ad3e 100644
--- a/gdb/x86-linux-nat.c
+++ b/gdb/x86-linux-nat.c
@@ -204,12 +204,12 @@ x86_linux_read_description (struct target_ops *ops)
 #ifdef __x86_64__
       switch (xcr0_features_bits)
 	{
-	case X86_XSTATE_MPX_AVX512_MASK:
-	case X86_XSTATE_AVX512_MASK:
+	case X86_XSTATE_AVX_MPX_AVX512_MASK:
+	case X86_XSTATE_AVX_AVX512_MASK:
 	  if (is_x32)
-	    return tdesc_x32_avx512_linux;
+	    return tdesc_x32_avx_mpx_avx512_linux;
 	  else
-	    return tdesc_amd64_avx512_linux;
+	    return tdesc_amd64_avx_mpx_avx512_linux;
 	case X86_XSTATE_MPX_MASK:
 	  if (is_x32)
 	    return tdesc_x32_avx_linux; /* No MPX on x32 using AVX.  */
@@ -237,9 +237,9 @@ x86_linux_read_description (struct target_ops *ops)
     {
       switch (xcr0_features_bits)
 	{
-	case X86_XSTATE_MPX_AVX512_MASK:
-	case X86_XSTATE_AVX512_MASK:
-	  return tdesc_i386_avx512_linux;
+	case X86_XSTATE_AVX_MPX_AVX512_MASK:
+	case X86_XSTATE_AVX_AVX512_MASK:
+	  return tdesc_i386_avx_mpx_avx512_linux;
 	case X86_XSTATE_MPX_MASK:
 	  return tdesc_i386_mpx_linux;
 	case X86_XSTATE_AVX_MPX_MASK:
-- 
1.8.4.2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]