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>
This commit is contained in:
Michael Sturm 2017-01-27 16:14:28 +01:00
parent ff6527bb52
commit 22049425ce
33 changed files with 174 additions and 166 deletions

View File

@ -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 ();
}

View File

@ -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

View File

@ -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 ();
}

View File

@ -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

View File

@ -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.

View File

@ -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;
}

View File

@ -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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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)

View File

@ -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

View File

@ -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
}

View File

@ -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 ();
}

View File

@ -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);

View File

@ -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);

View File

@ -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 ();
}

View File

@ -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

View File

@ -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)
@ -8232,7 +8232,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)
@ -8707,9 +8707,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:
@ -9051,7 +9051,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");

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: