[PATCH v3] Use flexible target descriptions for Linux PowerPC
Andrew Burgess
andrew.burgess@embecosm.com
Fri Jan 29 09:40:38 GMT 2021
* Rogerio Alves via Gdb-patches <gdb-patches@sourceware.org> [2021-01-29 04:38:03 -0300]:
> From: Rogerio Alves <rogealve@br.ibm.com>
>
> gdb/Changelog:
>
> YYYY-MM-DD Rogerio A. Cardoso <rcardoso@linux.ibm.com>
>
> * ppc-linux-nat.c: Remove include arch/ppc-linux-tdesc.h.
> (read_description): Create flexible tdesc with
> ppc_create_target_description.
> * ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Remove old
> target description initializations. Remove includes from
> old target descriptions.
> (ppc_linux_core_read_description): Add new powerpc features
> check to enable avaliable cpu features.
> * target-descriptions.c (maint_print_c_tdesc_cmd): Add rs6000/
> to features list.
You should update this to current HEAD as this code changed a few
months ago.
> * arch/ppc-linux-common.h: Include "gdbsupport/tdesc.h".
> (struct ppc_linux_features) <dscr, ebb, fpscr, pmu, ppr,
> struct htm, oea, tar>: New fields.
> (struct ppc_linux_features) <isa205, isa207,
> ppr_dscr>: Removed fields.
> (struct target_desc): Remove declaration.
> (ppc_linux_no_features): Initialize new fields.
> (ppc_linux_has_isa205): Rename to ppc_linux_has_isa205. Comment
> changed.
> (ppc_linux_match_description): Rename to
> ppc_create_target_description.
> * arch/ppc-linux-common.c: Remove include arch/ppc-linux-tdesc.h.
> Include rs6000/ features *.c files.
> (ppc_create_target_description): New function.
> (ppc_linux_match_description): Rename to
> ppc_create_target_description. Add new checks to cpu features.
> (ppc_linux_has_isa205): Rename to ppc_linux_has_fpscr64.
> * arch/ppc-linux-tdesc.h: Remove file.
> * features/Makefile: Add rs6000-feature.
> (WHICH): Remove rs6000/powerpc-*l files.
> (XMLTOC): Remove rs6000/powerpc-*l files.
> (FEATURE_XMLFILES): Add rs6000/power-*.xml features.
> * features/rs6000/powerpc-32l.xml: Remove file.
> * features/rs6000/powerpc-64l.xml: Remove file.
> * features/rs6000/powerpc-altivec32l.xml: Remove file.
> * features/rs6000/powerpc-altivec64l.xml: Remove file.
> * features/rs6000/powerpc-e500l.xml: Remove file.
> * features/rs6000/powerpc-isa205-32l.xml: Remove file.
> * features/rs6000/powerpc-isa205-64l.xml: Remove file.
> * features/rs6000/powerpc-isa205-altivec32l.xml: Remove file.
> * features/rs6000/powerpc-isa205-altivec64l.xml: Remove file.
> * features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml: Remove file.
> * features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml: Remove file.
> * features/rs6000/powerpc-isa205-vsx32l.xml: Remove file.
> * features/rs6000/powerpc-isa205-vsx64l.xml: Remove file.
> * features/rs6000/powerpc-isa207-htm-vsx32l.xml: Remove file.
> * features/rs6000/powerpc-isa207-htm-vsx64l.xml: Remove file.
> * features/rs6000/powerpc-isa207-vsx32l.xml: Remove file.
> * features/rs6000/powerpc-isa207-vsx64l.xml: Remove file.
> * features/rs6000/powerpc-vsx32l.xml: Remove file.
> * features/rs6000/powerpc-vsx64l.xml: Remove file.
> * features/rs6000/powerpc-32l.c: Remove file.
> * features/rs6000/powerpc-64l.c: Remove file.
> * features/rs6000/powerpc-altivec32l.c: Remove file.
> * features/rs6000/powerpc-altivec64l.c: Remove file.
> * features/rs6000/powerpc-e500l.c: Remove file.
> * features/rs6000/powerpc-isa205-32l.c: Remove file.
> * features/rs6000/powerpc-isa205-64l.c: Remove file.
> * features/rs6000/powerpc-isa205-altivec32l.c: Remove file.
> * features/rs6000/powerpc-isa205-altivec64l.c: Remove file.
> * features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c: Remove file.
> * features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c: Remove file.
> * features/rs6000/powerpc-isa205-vsx32l.c: Remove file.
> * features/rs6000/powerpc-isa205-vsx64l.c: Remove file.
> * features/rs6000/powerpc-isa207-htm-vsx32l.c: Remove file.
> * features/rs6000/powerpc-isa207-htm-vsx64l.c: Remove file.
> * features/rs6000/powerpc-isa207-vsx32l.c: Remove file.
> * features/rs6000/powerpc-isa207-vsx64l.c: Remove file.
> * features/rs6000/powerpc-vsx32l.c: Remove file.
> * features/rs6000/powerpc-vsx64l.c: Remove file.
> * features/rs6000/power-fpu-isa205.xml: Renamed to
> (power-fpu-fpscr64.xml).
> * features/rs6000/power-altivec.c: New generated file.
> * features/rs6000/power-core.c: New generated file.
> * features/rs6000/power64-core.c: New generated file.
> * features/rs6000/power-dscr.c: New generated file.
> * features/rs6000/power-ebb.c: New generated file.
> * features/rs6000/power-fpu-fpscr64.c: New generated file.
> * features/rs6000/power-fpu.c: New generated file.
> * features/rs6000/power-htm-altivec.c: New generated file.
> * features/rs6000/power-htm-core.c: New generated file.
> * features/rs6000/power64-htm-core.c: New generated file.
> * features/rs6000/power-htm-dscr.c: New generated file.
> * features/rs6000/power-htm-fpu.c: New generated file.
> * features/rs6000/power-htm-ppr.c: New generated file.
> * features/rs6000/power-htm-spr.c: New generated file.
> * features/rs6000/power-htm-tar.c: New generated file.
> * features/rs6000/power-htm-vsx.c: New generated file.
> * features/rs6000/power-linux-pmu.c: New generated file.
> * features/rs6000/power-linux.c: New generated file.
> * features/rs6000/power64-linux.c: New generated file.
> * features/rs6000/power-oea.c: New generated file.
> * features/rs6000/power-ppr.c: New generated file.
> * features/rs6000/power-spe.c: New generated file.
> * features/rs6000/power-tar.c: New generated file.
> * features/rs6000/power-vsx.c: New generated file.
> * regformats/rs6000/powerpc-32l.dat: Remove file.
> * regformats/rs6000/powerpc-64l.dat: Remove file.
> * regformats/rs6000/powerpc-altivec32l.dat: Remove file.
> * regformats/rs6000/powerpc-altivec64l.dat: Remove file.
> * regformats/rs6000/powerpc-e500l.dat: Remove file.
> * regformats/rs6000/powerpc-isa205-32l.dat: Remove file.
> * regformats/rs6000/powerpc-isa205-64l.dat: Remove file.
> * regformats/rs6000/powerpc-isa205-altivec32l.dat: Remove file.
> * regformats/rs6000/powerpc-isa205-altivec64l.dat: Remove file.
> * regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat: Remove
> file.
> * regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat: Remove
> file.
> * regformats/rs6000/powerpc-isa205-vsx32l.dat: Remove file.
> * regformats/rs6000/powerpc-isa205-vsx64l.dat: Remove file.
> * regformats/rs6000/powerpc-isa207-htm-vsx32l.dat: Remove file.
> * regformats/rs6000/powerpc-isa207-htm-vsx64l.dat: Remove file.
> * regformats/rs6000/powerpc-isa207-vsx32l.dat: Remove file.
> * regformats/rs6000/powerpc-isa207-vsx64l.dat: Remove file.
> * regformats/rs6000/powerpc-vsx32l.dat: Remove file.
> * regformats/rs6000/powerpc-vsx64l.dat: Remove file.
>
> gdbserver/Changelog:
>
> YYYY-MM-DD Rogerio A. Cardoso <rcardoso@linux.ibm.com>
>
> * configure.srv: (powerpc*-*-linux*): Remove all srv_regobj.
> Remove rs6000/powerpc-*l.xml from srv_xmlfiles.
> Add linux-ppc-tdesc.o srv_tgtobj. Add linux-ppc-tdesc-ipa.o
> and arch/ppc-linux-common-ipa.o to ipa_obj.
> * linux-ppc-tdesc-init.h: Remove file.
> * linux-ppc-tdesc.h: New file.
> * linux-ppc-tdesc.cc: New file.
> * linux-ppc-ipa.cc: Remove include linux-ppc-tdesc-init.h.
> (get_ipa_tdesc): Remove old static tdesc selections. Return
> ppc_linux_read_description.
> (initialize_low_tracepoint): Remove registers initializations.
> Return ppc_linux_read_description.
> * linux-ppc-low.cc: Remove include linux-ppc-tdesc-init.h.
> (ppc_arch_setup): Replace ppc_linux_match_description to
> ppc_create_target_description. Add new features check.
> ---
> *Changes from v2: (Per Ulrich review) Created descriptions that match with old descriptions
> for IPA even if IPA doesn't collects registers other than GPR. Create
> new function to convert idx to features. Fix some errors. Remove
> unnecessary includes. Add missing cpu features files. (per Pedro Alves
> review) fix some typos. Also fix some errors missed in previous patches.
>
> gdb/arch/ppc-linux-common.c | 137 ++++--
> gdb/arch/ppc-linux-common.h | 47 ++-
> gdb/arch/ppc-linux-tdesc.h | 46 --
> gdb/features/Makefile | 55 ++-
> gdb/features/rs6000/power-altivec.c | 74 ++++
> gdb/features/rs6000/power-core.c | 52 +++
> gdb/features/rs6000/power-dscr.c | 14 +
> gdb/features/rs6000/power-ebb.c | 16 +
> gdb/features/rs6000/power-fpu-fpscr64.c | 48 +++
> ...r-fpu-isa205.xml => power-fpu-fpscr64.xml} | 0
> gdb/features/rs6000/power-fpu.c | 48 +++
> gdb/features/rs6000/power-htm-altivec.c | 74 ++++
> gdb/features/rs6000/power-htm-core.c | 49 +++
> gdb/features/rs6000/power-htm-dscr.c | 14 +
> gdb/features/rs6000/power-htm-fpu.c | 46 ++
> gdb/features/rs6000/power-htm-ppr.c | 14 +
> gdb/features/rs6000/power-htm-spr.c | 16 +
> gdb/features/rs6000/power-htm-tar.c | 14 +
> gdb/features/rs6000/power-htm-vsx.c | 45 ++
> gdb/features/rs6000/power-linux-pmu.c | 18 +
> gdb/features/rs6000/power-linux.c | 16 +
> gdb/features/rs6000/power-oea.c | 62 +++
> gdb/features/rs6000/power-ppr.c | 14 +
> gdb/features/rs6000/power-spe.c | 49 +++
> gdb/features/rs6000/power-tar.c | 14 +
> gdb/features/rs6000/power-vsx.c | 45 ++
> gdb/features/rs6000/power64-core.c | 52 +++
> gdb/features/rs6000/power64-htm-core.c | 49 +++
> gdb/features/rs6000/power64-linux.c | 16 +
> gdb/features/rs6000/powerpc-32l.c | 97 -----
> gdb/features/rs6000/powerpc-32l.xml | 17 -
> gdb/features/rs6000/powerpc-64l.c | 97 -----
> gdb/features/rs6000/powerpc-64l.xml | 17 -
> gdb/features/rs6000/powerpc-altivec32l.c | 160 -------
> gdb/features/rs6000/powerpc-altivec32l.xml | 19 -
> gdb/features/rs6000/powerpc-altivec64l.c | 160 -------
> gdb/features/rs6000/powerpc-altivec64l.xml | 19 -
> gdb/features/rs6000/powerpc-e500l.c | 98 -----
> gdb/features/rs6000/powerpc-e500l.xml | 14 -
> gdb/features/rs6000/powerpc-isa205-32l.c | 97 -----
> gdb/features/rs6000/powerpc-isa205-32l.xml | 17 -
> gdb/features/rs6000/powerpc-isa205-64l.c | 97 -----
> gdb/features/rs6000/powerpc-isa205-64l.xml | 17 -
> .../rs6000/powerpc-isa205-altivec32l.c | 160 -------
> .../rs6000/powerpc-isa205-altivec32l.xml | 19 -
> .../rs6000/powerpc-isa205-altivec64l.c | 160 -------
> .../rs6000/powerpc-isa205-altivec64l.xml | 19 -
> .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.c | 200 ---------
> .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml | 18 -
> .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.c | 200 ---------
> .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml | 18 -
> gdb/features/rs6000/powerpc-isa205-vsx32l.c | 194 ---------
> gdb/features/rs6000/powerpc-isa205-vsx32l.xml | 20 -
> gdb/features/rs6000/powerpc-isa205-vsx64l.c | 194 ---------
> gdb/features/rs6000/powerpc-isa205-vsx64l.xml | 20 -
> .../rs6000/powerpc-isa207-htm-vsx32l.c | 396 ------------------
> .../rs6000/powerpc-isa207-htm-vsx32l.xml | 29 --
> .../rs6000/powerpc-isa207-htm-vsx64l.c | 396 ------------------
> .../rs6000/powerpc-isa207-htm-vsx64l.xml | 29 --
> gdb/features/rs6000/powerpc-isa207-vsx32l.c | 215 ----------
> gdb/features/rs6000/powerpc-isa207-vsx32l.xml | 21 -
> gdb/features/rs6000/powerpc-isa207-vsx64l.c | 215 ----------
> gdb/features/rs6000/powerpc-isa207-vsx64l.xml | 21 -
> gdb/features/rs6000/powerpc-vsx32l.c | 194 ---------
> gdb/features/rs6000/powerpc-vsx32l.xml | 20 -
> gdb/features/rs6000/powerpc-vsx64l.c | 194 ---------
> gdb/features/rs6000/powerpc-vsx64l.xml | 20 -
> gdb/ppc-linux-nat.c | 79 +++-
> gdb/ppc-linux-tdep.c | 106 +++--
> gdb/regformats/rs6000/powerpc-32l.dat | 78 ----
> gdb/regformats/rs6000/powerpc-64l.dat | 78 ----
> gdb/regformats/rs6000/powerpc-altivec32l.dat | 112 -----
> gdb/regformats/rs6000/powerpc-altivec64l.dat | 112 -----
> gdb/regformats/rs6000/powerpc-e500l.dat | 80 ----
> gdb/regformats/rs6000/powerpc-isa205-32l.dat | 78 ----
> gdb/regformats/rs6000/powerpc-isa205-64l.dat | 78 ----
> .../rs6000/powerpc-isa205-altivec32l.dat | 112 -----
> .../rs6000/powerpc-isa205-altivec64l.dat | 112 -----
> .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat | 146 -------
> .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat | 146 -------
> .../rs6000/powerpc-isa205-vsx32l.dat | 144 -------
> .../rs6000/powerpc-isa205-vsx64l.dat | 144 -------
> .../rs6000/powerpc-isa207-htm-vsx32l.dat | 296 -------------
> .../rs6000/powerpc-isa207-htm-vsx64l.dat | 296 -------------
> .../rs6000/powerpc-isa207-vsx32l.dat | 155 -------
> .../rs6000/powerpc-isa207-vsx64l.dat | 155 -------
> gdb/regformats/rs6000/powerpc-vsx32l.dat | 144 -------
> gdb/regformats/rs6000/powerpc-vsx64l.dat | 144 -------
> gdb/target-descriptions.c | 3 +-
> gdbserver/configure.srv | 49 +--
> gdbserver/linux-ppc-ipa.cc | 82 +---
> gdbserver/linux-ppc-low.cc | 195 ++++-----
> gdbserver/linux-ppc-tdesc-init.h | 106 -----
> gdbserver/linux-ppc-tdesc.cc | 156 +++++++
> gdbserver/linux-ppc-tdesc.h | 46 ++
> 95 files changed, 1433 insertions(+), 7041 deletions(-)
> delete mode 100644 gdb/arch/ppc-linux-tdesc.h
> create mode 100644 gdb/features/rs6000/power-altivec.c
> create mode 100644 gdb/features/rs6000/power-core.c
> create mode 100644 gdb/features/rs6000/power-dscr.c
> create mode 100644 gdb/features/rs6000/power-ebb.c
> create mode 100644 gdb/features/rs6000/power-fpu-fpscr64.c
> rename gdb/features/rs6000/{power-fpu-isa205.xml => power-fpu-fpscr64.xml} (100%)
> create mode 100644 gdb/features/rs6000/power-fpu.c
> create mode 100644 gdb/features/rs6000/power-htm-altivec.c
> create mode 100644 gdb/features/rs6000/power-htm-core.c
> create mode 100644 gdb/features/rs6000/power-htm-dscr.c
> create mode 100644 gdb/features/rs6000/power-htm-fpu.c
> create mode 100644 gdb/features/rs6000/power-htm-ppr.c
> create mode 100644 gdb/features/rs6000/power-htm-spr.c
> create mode 100644 gdb/features/rs6000/power-htm-tar.c
> create mode 100644 gdb/features/rs6000/power-htm-vsx.c
> create mode 100644 gdb/features/rs6000/power-linux-pmu.c
> create mode 100644 gdb/features/rs6000/power-linux.c
> create mode 100644 gdb/features/rs6000/power-oea.c
> create mode 100644 gdb/features/rs6000/power-ppr.c
> create mode 100644 gdb/features/rs6000/power-spe.c
> create mode 100644 gdb/features/rs6000/power-tar.c
> create mode 100644 gdb/features/rs6000/power-vsx.c
> create mode 100644 gdb/features/rs6000/power64-core.c
> create mode 100644 gdb/features/rs6000/power64-htm-core.c
> create mode 100644 gdb/features/rs6000/power64-linux.c
> delete mode 100644 gdb/features/rs6000/powerpc-32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-altivec32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-altivec32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-altivec64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-altivec64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-e500l.c
> delete mode 100644 gdb/features/rs6000/powerpc-e500l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx64l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-vsx32l.c
> delete mode 100644 gdb/features/rs6000/powerpc-vsx32l.xml
> delete mode 100644 gdb/features/rs6000/powerpc-vsx64l.c
> delete mode 100644 gdb/features/rs6000/powerpc-vsx64l.xml
> delete mode 100644 gdb/regformats/rs6000/powerpc-32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-altivec32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-altivec64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-e500l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-vsx32l.dat
> delete mode 100644 gdb/regformats/rs6000/powerpc-vsx64l.dat
> delete mode 100644 gdbserver/linux-ppc-tdesc-init.h
> create mode 100644 gdbserver/linux-ppc-tdesc.cc
> create mode 100644 gdbserver/linux-ppc-tdesc.h
>
> diff --git a/gdb/arch/ppc-linux-common.c b/gdb/arch/ppc-linux-common.c
> index 183fc03395..a5e8263723 100644
> --- a/gdb/arch/ppc-linux-common.c
> +++ b/gdb/arch/ppc-linux-common.c
> @@ -19,7 +19,31 @@
>
> #include "gdbsupport/common-defs.h"
> #include "arch/ppc-linux-common.h"
> -#include "arch/ppc-linux-tdesc.h"
> +
> +#include "../features/rs6000/power-altivec.c"
> +#include "../features/rs6000/power-core.c"
> +#include "../features/rs6000/power-dscr.c"
> +#include "../features/rs6000/power-ebb.c"
> +#include "../features/rs6000/power-fpu-fpscr64.c"
> +#include "../features/rs6000/power-fpu.c"
> +#include "../features/rs6000/power-htm-altivec.c"
> +#include "../features/rs6000/power-htm-core.c"
> +#include "../features/rs6000/power-htm-dscr.c"
> +#include "../features/rs6000/power-htm-fpu.c"
> +#include "../features/rs6000/power-htm-ppr.c"
> +#include "../features/rs6000/power-htm-spr.c"
> +#include "../features/rs6000/power-htm-tar.c"
> +#include "../features/rs6000/power-htm-vsx.c"
> +#include "../features/rs6000/power-linux-pmu.c"
> +#include "../features/rs6000/power-linux.c"
> +#include "../features/rs6000/power-ppr.c"
> +#include "../features/rs6000/power-oea.c"
> +#include "../features/rs6000/power-spe.c"
> +#include "../features/rs6000/power-tar.c"
> +#include "../features/rs6000/power-vsx.c"
> +#include "../features/rs6000/power64-core.c"
> +#include "../features/rs6000/power64-htm-core.c"
> +#include "../features/rs6000/power64-linux.c"
>
> /* Decimal Floating Point bit in AT_HWCAP.
>
> @@ -31,56 +55,105 @@
> #endif
>
> bool
> -ppc_linux_has_isa205 (CORE_ADDR hwcap)
> +ppc_linux_has_fpscr64 (CORE_ADDR hwcap)
> {
> /* Power ISA 2.05 (implemented by Power 6 and newer processors)
> - increases the FPSCR from 32 bits to 64 bits. Even though Power 7
> - supports this ISA version, it doesn't have PPC_FEATURE_ARCH_2_05
> - set, only PPC_FEATURE_ARCH_2_06. Since for now the only bits
> + increases the FPSCR from 32 bits to 64 bits. Since for now the only bits
> used in the higher half of the register are for Decimal Floating
> Point, we check if that feature is available to decide the size
> of the FPSCR. */
> return ((hwcap & PPC_FEATURE_HAS_DFP) != 0);
> }
>
> -const struct target_desc *
> -ppc_linux_match_description (struct ppc_linux_features features)
> +target_desc *
> +ppc_linux_create_target_description (struct ppc_linux_features features)
> {
It might be nice if this function returned target_desc_up instead of a
raw pointer, then wherever the target description ends up being stored
it will get cleaned up at program end.
> - struct target_desc *tdesc = NULL;
> + target_desc *tdesc = allocate_target_description ();
> + long regnum = 0;
>
> if (features.wordsize == 8)
> {
> - if (features.vsx)
> - tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx64l
> - : features.isa207? tdesc_powerpc_isa207_vsx64l
> - : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx64l
> - : features.isa205? tdesc_powerpc_isa205_vsx64l
> - : tdesc_powerpc_vsx64l);
> - else if (features.altivec)
> - tdesc = (features.isa205? tdesc_powerpc_isa205_altivec64l
> - : tdesc_powerpc_altivec64l);
> - else
> - tdesc = (features.isa205? tdesc_powerpc_isa205_64l
> - : tdesc_powerpc_64l);
> + #ifndef IN_PROCESS_AGENT
> + set_tdesc_architecture (tdesc, "power:common64");
> + set_tdesc_osabi (tdesc, "GNU/Linux");
> + #endif
> + regnum = create_feature_rs6000_power64_core (tdesc, regnum);
> + regnum = create_feature_rs6000_power64_linux (tdesc, regnum);
> +
> + if (features.htm.core)
> + regnum = create_feature_rs6000_power64_htm_core (tdesc, regnum);
> }
> else
> {
> gdb_assert (features.wordsize == 4);
>
> - if (features.vsx)
> - tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx32l
> - : features.isa207? tdesc_powerpc_isa207_vsx32l
> - : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx32l
> - : features.isa205? tdesc_powerpc_isa205_vsx32l
> - : tdesc_powerpc_vsx32l);
> - else if (features.altivec)
> - tdesc = (features.isa205? tdesc_powerpc_isa205_altivec32l
> - : tdesc_powerpc_altivec32l);
> - else
> - tdesc = (features.isa205? tdesc_powerpc_isa205_32l
> - : tdesc_powerpc_32l);
> + #ifndef IN_PROCESS_AGENT
> + set_tdesc_architecture (tdesc, "power:common");
> + set_tdesc_osabi (tdesc, "GNU/Linux");
> + #endif
> + regnum = create_feature_rs6000_power_core (tdesc, regnum);
> + regnum = create_feature_rs6000_power_linux (tdesc, regnum);
> +
> + if (features.htm.core)
> + regnum = create_feature_rs6000_power_htm_core (tdesc, regnum);
> + }
> +
> + if (features.altivec)
> + regnum = create_feature_rs6000_power_altivec (tdesc, regnum);
> +
> + if (features.dscr)
> + regnum = create_feature_rs6000_power_dscr (tdesc, regnum);
> +
> + if (features.ebb)
> + regnum = create_feature_rs6000_power_ebb (tdesc, regnum);
> +
> + if (features.fpscr64)
> + regnum = create_feature_rs6000_power_fpu_fpscr64 (tdesc, regnum);
> + else
> + regnum = create_feature_rs6000_power_fpu (tdesc, regnum);
> +
> + if (features.htm.core)
> + {
> + if (features.htm.altivec)
> + regnum = create_feature_rs6000_power_htm_altivec (tdesc, regnum);
> +
> + if (features.htm.dscr)
> + regnum = create_feature_rs6000_power_htm_dscr (tdesc, regnum);
> +
> + if (features.htm.fpu)
> + regnum = create_feature_rs6000_power_htm_fpu (tdesc, regnum);
> +
> + if (features.htm.ppr)
> + regnum = create_feature_rs6000_power_htm_ppr (tdesc, regnum);
> +
> + if (features.htm.spr)
> + regnum = create_feature_rs6000_power_htm_spr (tdesc, regnum);
> +
> + if (features.htm.tar)
> + regnum = create_feature_rs6000_power_htm_tar (tdesc, regnum);
> +
> + if (features.htm.vsx)
> + regnum = create_feature_rs6000_power_htm_vsx (tdesc, regnum);
> }
>
> + if (features.oea)
> + regnum = create_feature_rs6000_power_oea (tdesc, regnum);
> +
> + if (features.pmu)
> + regnum = create_feature_rs6000_power_linux_pmu (tdesc, regnum);
> +
> + if (features.ppr)
> + regnum = create_feature_rs6000_power_ppr (tdesc, regnum);
> +
> + if (features.spe)
> + regnum = create_feature_rs6000_power_spe (tdesc, regnum);
> +
> + if (features.tar)
> + regnum = create_feature_rs6000_power_tar (tdesc, regnum);
> +
> + if (features.vsx)
> + regnum = create_feature_rs6000_power_vsx (tdesc, regnum);
> +
> gdb_assert (tdesc != NULL);
If this assert is going to be kept then it should be much further up
the function. If tdesc was NULL then by the time you would have got
here, you've already dereferenced it several times.
>
> return tdesc;
> diff --git a/gdb/arch/ppc-linux-common.h b/gdb/arch/ppc-linux-common.h
> index 40209abdf1..d89c63f039 100644
> --- a/gdb/arch/ppc-linux-common.h
> +++ b/gdb/arch/ppc-linux-common.h
> @@ -20,7 +20,7 @@
> #ifndef ARCH_PPC_LINUX_COMMON_H
> #define ARCH_PPC_LINUX_COMMON_H
>
> -struct target_desc;
> +#include "gdbsupport/tdesc.h"
>
> /* The core file VMX regset has 34 16-byte fields (32 16-byte vector
> registers, plus two fields containing 4-byte registers, VSCR and
> @@ -45,19 +45,34 @@ struct target_desc;
> #define PPC_LINUX_SIZEOF_CDSCRREGSET 8
> #define PPC_LINUX_SIZEOF_CTARREGSET 8
>
> -/* Check if the hwcap auxv entry indicates that isa205 is supported. */
> -bool ppc_linux_has_isa205 (CORE_ADDR hwcap);
> +/* Check if the hwcap auxv entry indicates that FPSCR is 64 bits. */
> +bool ppc_linux_has_fpscr64 (CORE_ADDR hwcap);
>
> /* Features used to determine the target description. */
> struct ppc_linux_features
> {
> unsigned int wordsize;
> bool altivec;
> + bool dscr;
> + bool ebb;
> + bool fpscr64;
> + struct htm
> + {
> + bool altivec;
> + bool core;
> + bool dscr;
> + bool fpu;
> + bool ppr;
> + bool spr;
> + bool tar;
> + bool vsx;
> + } htm;
> + bool oea;
> + bool pmu;
> + bool ppr;
> + bool spe;
> + bool tar;
> bool vsx;
> - bool isa205;
> - bool ppr_dscr;
> - bool isa207;
> - bool htm;
> };
>
> /* Base value for ppc_linux_features variables. */
> @@ -67,12 +82,26 @@ const struct ppc_linux_features ppc_linux_no_features = {
> false,
> false,
> false,
> + {
> + false,
> + false,
> + false,
> + false,
> + false,
> + false,
> + false,
> + false,
> + },
> + false,
> + false,
> + false,
> + false,
> false,
> false,
> };
>
> -/* Return a target description that matches FEATURES. */
> -const struct target_desc * ppc_linux_match_description
> +/* Create a target description that matches FEATURES. */
> +target_desc * ppc_linux_create_target_description
> (struct ppc_linux_features features);
>
> #endif /* ARCH_PPC_LINUX_COMMON_H */
> diff --git a/gdb/arch/ppc-linux-tdesc.h b/gdb/arch/ppc-linux-tdesc.h
> deleted file mode 100644
> index 082123748e..0000000000
> --- a/gdb/arch/ppc-linux-tdesc.h
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -/* Target description declarations shared between gdb, gdbserver and IPA.
> -
> - Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - This file is part of GDB.
> -
> - This program is free software; you can redistribute it and/or modify
> - it under the terms of the GNU General Public License as published by
> - the Free Software Foundation; either version 3 of the License, or
> - (at your option) any later version.
> -
> - This program is distributed in the hope that it will be useful,
> - but WITHOUT ANY WARRANTY; without even the implied warranty of
> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - GNU General Public License for more details.
> -
> - You should have received a copy of the GNU General Public License
> - along with this program. If not, see <http://www.gnu.org/licenses/>. */
> -
> -#ifndef ARCH_PPC_LINUX_TDESC_H
> -#define ARCH_PPC_LINUX_TDESC_H
> -
> -struct target_desc;
> -
> -extern struct target_desc *tdesc_powerpc_32l;
> -extern struct target_desc *tdesc_powerpc_altivec32l;
> -extern struct target_desc *tdesc_powerpc_vsx32l;
> -extern struct target_desc *tdesc_powerpc_isa205_32l;
> -extern struct target_desc *tdesc_powerpc_isa205_altivec32l;
> -extern struct target_desc *tdesc_powerpc_isa205_vsx32l;
> -extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l;
> -extern struct target_desc *tdesc_powerpc_isa207_vsx32l;
> -extern struct target_desc *tdesc_powerpc_isa207_htm_vsx32l;
> -extern struct target_desc *tdesc_powerpc_e500l;
> -
> -extern struct target_desc *tdesc_powerpc_64l;
> -extern struct target_desc *tdesc_powerpc_altivec64l;
> -extern struct target_desc *tdesc_powerpc_vsx64l;
> -extern struct target_desc *tdesc_powerpc_isa205_64l;
> -extern struct target_desc *tdesc_powerpc_isa205_altivec64l;
> -extern struct target_desc *tdesc_powerpc_isa205_vsx64l;
> -extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l;
> -extern struct target_desc *tdesc_powerpc_isa207_vsx64l;
> -extern struct target_desc *tdesc_powerpc_isa207_htm_vsx64l;
> -
> -#endif /* ARCH_PPC_LINUX_TDESC_H */
> diff --git a/gdb/features/Makefile b/gdb/features/Makefile
> index cc65baa6ed..0ff5d89eb2 100644
> --- a/gdb/features/Makefile
> +++ b/gdb/features/Makefile
> @@ -50,18 +50,6 @@ WHICH = arm/arm-with-iwmmxt arm/arm-with-vfpv2 arm/arm-with-vfpv3 \
> microblaze-with-stack-protect \
> mips64-linux mips64-dsp-linux \
> nios2-linux \
> - rs6000/powerpc-32 \
> - rs6000/powerpc-32l rs6000/powerpc-altivec32l rs6000/powerpc-e500l \
> - rs6000/powerpc-64l rs6000/powerpc-altivec64l rs6000/powerpc-vsx32l \
> - rs6000/powerpc-vsx64l \
> - rs6000/powerpc-isa205-32l rs6000/powerpc-isa205-64l \
> - rs6000/powerpc-isa205-altivec32l rs6000/powerpc-isa205-altivec64l \
> - rs6000/powerpc-isa205-vsx32l rs6000/powerpc-isa205-vsx64l \
> - rs6000/powerpc-isa205-ppr-dscr-vsx32l \
> - rs6000/powerpc-isa205-ppr-dscr-vsx64l \
> - rs6000/powerpc-isa207-vsx32l rs6000/powerpc-isa207-vsx64l \
> - rs6000/powerpc-isa207-htm-vsx32l \
> - rs6000/powerpc-isa207-htm-vsx64l \
> s390-linux32 s390-linux64 s390x-linux64 \
> s390-linux32v1 s390-linux64v1 s390x-linux64v1 \
> s390-linux32v2 s390-linux64v2 s390x-linux64v2 \
> @@ -118,7 +106,6 @@ XMLTOC = \
> nios2.xml \
> or1k.xml \
> rs6000/powerpc-32.xml \
> - rs6000/powerpc-32l.xml \
> rs6000/powerpc-403.xml \
> rs6000/powerpc-403gc.xml \
> rs6000/powerpc-405.xml \
> @@ -128,32 +115,14 @@ XMLTOC = \
> rs6000/powerpc-603.xml \
> rs6000/powerpc-604.xml \
> rs6000/powerpc-64.xml \
> - rs6000/powerpc-64l.xml \
> rs6000/powerpc-7400.xml \
> rs6000/powerpc-750.xml \
> rs6000/powerpc-860.xml \
> rs6000/powerpc-altivec32.xml \
> - rs6000/powerpc-altivec32l.xml \
> rs6000/powerpc-altivec64.xml \
> - rs6000/powerpc-altivec64l.xml \
> rs6000/powerpc-e500.xml \
> - rs6000/powerpc-e500l.xml \
> - rs6000/powerpc-isa205-32l.xml \
> - rs6000/powerpc-isa205-64l.xml \
> - rs6000/powerpc-isa205-altivec32l.xml \
> - rs6000/powerpc-isa205-altivec64l.xml \
> - rs6000/powerpc-isa205-vsx32l.xml \
> - rs6000/powerpc-isa205-vsx64l.xml \
> - rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml \
> - rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml \
> - rs6000/powerpc-isa207-vsx32l.xml \
> - rs6000/powerpc-isa207-vsx64l.xml \
> - rs6000/powerpc-isa207-htm-vsx32l.xml \
> - rs6000/powerpc-isa207-htm-vsx64l.xml \
> rs6000/powerpc-vsx32.xml \
> - rs6000/powerpc-vsx32l.xml \
> rs6000/powerpc-vsx64.xml \
> - rs6000/powerpc-vsx64l.xml \
> rs6000/rs6000.xml \
> rx.xml \
> s390-linux32.xml \
> @@ -182,6 +151,7 @@ aarch64-feature = 1
> arm-feature = 1
> i386-feature = 1
> riscv-feature = 1
> +rs6000-feature =1
> tic6x-feature = 1
>
> all: $(OUTPUTS)
> @@ -237,6 +207,29 @@ FEATURE_XMLFILES = aarch64-core.xml \
> riscv/64bit-cpu.xml \
> riscv/64bit-csr.xml \
> riscv/64bit-fpu.xml \
> + rs6000/power64-core.xml \
> + rs6000/power64-htm-core.xml \
> + rs6000/power64-linux.xml \
> + rs6000/power-altivec.xml \
> + rs6000/power-core.xml \
> + rs6000/power-dscr.xml \
> + rs6000/power-ebb.xml \
> + rs6000/power-fpu-fpscr64.xml \
> + rs6000/power-fpu.xml \
> + rs6000/power-htm-altivec.xml \
> + rs6000/power-htm-core.xml \
> + rs6000/power-htm-dscr.xml \
> + rs6000/power-htm-fpu.xml \
> + rs6000/power-htm-ppr.xml \
> + rs6000/power-htm-spr.xml \
> + rs6000/power-htm-tar.xml \
> + rs6000/power-htm-vsx.xml \
> + rs6000/power-linux-pmu.xml \
> + rs6000/power-linux.xml \
> + rs6000/power-ppr.xml \
> + rs6000/power-spe.xml \
> + rs6000/power-tar.xml \
> + rs6000/power-vsx.xml \
> rx.xml \
> tic6x-c6xp.xml \
> tic6x-core.xml \
> diff --git a/gdb/features/rs6000/power-altivec.c b/gdb/features/rs6000/power-altivec.c
> new file mode 100644
> index 0000000000..ec9ccd7bdb
> --- /dev/null
> +++ b/gdb/features/rs6000/power-altivec.c
> @@ -0,0 +1,74 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-altivec.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_altivec (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> + tdesc_type *element_type;
> + element_type = tdesc_named_type (feature, "ieee_single");
> + tdesc_create_vector (feature, "v4f", element_type, 4);
> +
> + element_type = tdesc_named_type (feature, "int32");
> + tdesc_create_vector (feature, "v4i32", element_type, 4);
> +
> + element_type = tdesc_named_type (feature, "int16");
> + tdesc_create_vector (feature, "v8i16", element_type, 8);
> +
> + element_type = tdesc_named_type (feature, "int8");
> + tdesc_create_vector (feature, "v16i8", element_type, 16);
> +
> + tdesc_type_with_fields *type_with_fields;
> + type_with_fields = tdesc_create_union (feature, "vec128");
> + tdesc_type *field_type;
> + field_type = tdesc_named_type (feature, "uint128");
> + tdesc_add_field (type_with_fields, "uint128", field_type);
> + field_type = tdesc_named_type (feature, "v4f");
> + tdesc_add_field (type_with_fields, "v4_float", field_type);
> + field_type = tdesc_named_type (feature, "v4i32");
> + tdesc_add_field (type_with_fields, "v4_int32", field_type);
> + field_type = tdesc_named_type (feature, "v8i16");
> + tdesc_add_field (type_with_fields, "v8_int16", field_type);
> + field_type = tdesc_named_type (feature, "v16i8");
> + tdesc_add_field (type_with_fields, "v16_int8", field_type);
> +
> + tdesc_create_reg (feature, "vr0", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr1", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr2", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr3", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr4", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr5", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr6", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr7", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr8", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr9", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr10", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr11", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr12", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr13", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr14", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr15", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr16", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr17", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr18", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr19", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr20", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr21", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr22", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr23", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr24", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr25", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr26", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr27", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr28", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr29", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr30", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vr31", regnum++, 1, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "vscr", regnum++, 1, "vector", 32, "int");
> + tdesc_create_reg (feature, "vrsave", regnum++, 1, "vector", 32, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-core.c b/gdb/features/rs6000/power-core.c
> new file mode 100644
> index 0000000000..41573ba4cc
> --- /dev/null
> +++ b/gdb/features/rs6000/power-core.c
> @@ -0,0 +1,52 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-core.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_core (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> + tdesc_create_reg (feature, "r0", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r1", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r2", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r3", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r4", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r5", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r6", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r7", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r8", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r9", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r10", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r11", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r12", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r13", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r14", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r15", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r16", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r17", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r18", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r19", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r20", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r21", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r22", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r23", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r24", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r25", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r26", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r27", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r28", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r29", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r30", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "r31", regnum++, 1, NULL, 32, "uint32");
> + regnum = 64;
> + tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 32, "code_ptr");
> + tdesc_create_reg (feature, "msr", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 32, "code_ptr");
> + tdesc_create_reg (feature, "ctr", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "xer", regnum++, 1, NULL, 32, "uint32");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-dscr.c b/gdb/features/rs6000/power-dscr.c
> new file mode 100644
> index 0000000000..71b87f9563
> --- /dev/null
> +++ b/gdb/features/rs6000/power-dscr.c
> @@ -0,0 +1,14 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-dscr.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_dscr (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> + tdesc_create_reg (feature, "dscr", regnum++, 1, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-ebb.c b/gdb/features/rs6000/power-ebb.c
> new file mode 100644
> index 0000000000..5c2d359f3c
> --- /dev/null
> +++ b/gdb/features/rs6000/power-ebb.c
> @@ -0,0 +1,16 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-ebb.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_ebb (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
> + tdesc_create_reg (feature, "bescr", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "ebbhr", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "ebbrr", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-fpu-fpscr64.c b/gdb/features/rs6000/power-fpu-fpscr64.c
> new file mode 100644
> index 0000000000..b8340fb291
> --- /dev/null
> +++ b/gdb/features/rs6000/power-fpu-fpscr64.c
> @@ -0,0 +1,48 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-fpu-fpscr64.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_fpu_fpscr64 (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> + regnum = 32;
> + tdesc_create_reg (feature, "f0", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f1", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f2", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f3", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f4", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f5", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f6", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f7", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f8", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f9", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f10", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f11", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f12", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f13", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f14", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f15", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f16", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f17", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f18", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f19", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f20", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f21", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f22", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f23", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f24", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f25", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f26", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f27", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f28", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f29", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f30", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f31", regnum++, 1, NULL, 64, "ieee_double");
> + regnum = 70;
> + tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 64, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-fpu-isa205.xml b/gdb/features/rs6000/power-fpu-fpscr64.xml
> similarity index 100%
> rename from gdb/features/rs6000/power-fpu-isa205.xml
> rename to gdb/features/rs6000/power-fpu-fpscr64.xml
> diff --git a/gdb/features/rs6000/power-fpu.c b/gdb/features/rs6000/power-fpu.c
> new file mode 100644
> index 0000000000..0a8147aad2
> --- /dev/null
> +++ b/gdb/features/rs6000/power-fpu.c
> @@ -0,0 +1,48 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-fpu.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_fpu (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> + regnum = 32;
> + tdesc_create_reg (feature, "f0", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f1", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f2", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f3", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f4", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f5", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f6", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f7", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f8", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f9", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f10", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f11", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f12", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f13", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f14", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f15", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f16", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f17", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f18", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f19", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f20", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f21", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f22", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f23", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f24", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f25", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f26", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f27", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f28", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f29", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f30", regnum++, 1, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "f31", regnum++, 1, NULL, 64, "ieee_double");
> + regnum = 70;
> + tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 32, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-altivec.c b/gdb/features/rs6000/power-htm-altivec.c
> new file mode 100644
> index 0000000000..029ad33cb8
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-altivec.c
> @@ -0,0 +1,74 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-altivec.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_altivec (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.altivec");
> + tdesc_type *element_type;
> + element_type = tdesc_named_type (feature, "ieee_single");
> + tdesc_create_vector (feature, "v4f", element_type, 4);
> +
> + element_type = tdesc_named_type (feature, "int32");
> + tdesc_create_vector (feature, "v4i32", element_type, 4);
> +
> + element_type = tdesc_named_type (feature, "int16");
> + tdesc_create_vector (feature, "v8i16", element_type, 8);
> +
> + element_type = tdesc_named_type (feature, "int8");
> + tdesc_create_vector (feature, "v16i8", element_type, 16);
> +
> + tdesc_type_with_fields *type_with_fields;
> + type_with_fields = tdesc_create_union (feature, "vec128");
> + tdesc_type *field_type;
> + field_type = tdesc_named_type (feature, "uint128");
> + tdesc_add_field (type_with_fields, "uint128", field_type);
> + field_type = tdesc_named_type (feature, "v4f");
> + tdesc_add_field (type_with_fields, "v4_float", field_type);
> + field_type = tdesc_named_type (feature, "v4i32");
> + tdesc_add_field (type_with_fields, "v4_int32", field_type);
> + field_type = tdesc_named_type (feature, "v8i16");
> + tdesc_add_field (type_with_fields, "v8_int16", field_type);
> + field_type = tdesc_named_type (feature, "v16i8");
> + tdesc_add_field (type_with_fields, "v16_int8", field_type);
> +
> + tdesc_create_reg (feature, "cvr0", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr1", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr2", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr3", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr4", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr5", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr6", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr7", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr8", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr9", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr10", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr11", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr12", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr13", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr14", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr15", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr16", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr17", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr18", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr19", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr20", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr21", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr22", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr23", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr24", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr25", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr26", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr27", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr28", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr29", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr30", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvr31", regnum++, 0, NULL, 128, "vec128");
> + tdesc_create_reg (feature, "cvscr", regnum++, 0, "vector", 32, "int");
> + tdesc_create_reg (feature, "cvrsave", regnum++, 0, "vector", 32, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-core.c b/gdb/features/rs6000/power-htm-core.c
> new file mode 100644
> index 0000000000..d21c79cf5b
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-core.c
> @@ -0,0 +1,49 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-core.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_core (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
> + tdesc_create_reg (feature, "cr0", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr1", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr2", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr3", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr4", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr5", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr6", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr7", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr8", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr9", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr10", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr11", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr12", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr13", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr14", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr15", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr16", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr17", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr18", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr19", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr20", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr21", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr22", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr23", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr24", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr25", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr26", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr27", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr28", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr29", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr30", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cr31", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "ccr", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cxer", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "clr", regnum++, 0, NULL, 32, "code_ptr");
> + tdesc_create_reg (feature, "cctr", regnum++, 0, NULL, 32, "uint32");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-dscr.c b/gdb/features/rs6000/power-htm-dscr.c
> new file mode 100644
> index 0000000000..0b7f2d9c22
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-dscr.c
> @@ -0,0 +1,14 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-dscr.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_dscr (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.dscr");
> + tdesc_create_reg (feature, "cdscr", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-fpu.c b/gdb/features/rs6000/power-htm-fpu.c
> new file mode 100644
> index 0000000000..8268e97f6f
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-fpu.c
> @@ -0,0 +1,46 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-fpu.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_fpu (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.fpu");
> + tdesc_create_reg (feature, "cf0", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf1", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf2", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf3", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf4", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf5", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf6", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf7", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf8", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf9", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf10", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf11", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf12", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf13", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf14", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf15", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf16", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf17", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf18", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf19", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf20", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf21", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf22", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf23", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf24", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf25", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf26", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf27", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf28", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf29", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf30", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cf31", regnum++, 0, NULL, 64, "ieee_double");
> + tdesc_create_reg (feature, "cfpscr", regnum++, 0, "float", 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-ppr.c b/gdb/features/rs6000/power-htm-ppr.c
> new file mode 100644
> index 0000000000..d6470a5701
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-ppr.c
> @@ -0,0 +1,14 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-ppr.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_ppr (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.ppr");
> + tdesc_create_reg (feature, "cppr", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-spr.c b/gdb/features/rs6000/power-htm-spr.c
> new file mode 100644
> index 0000000000..4170304bc8
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-spr.c
> @@ -0,0 +1,16 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-spr.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_spr (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.spr");
> + tdesc_create_reg (feature, "tfhar", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "texasr", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "tfiar", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-tar.c b/gdb/features/rs6000/power-htm-tar.c
> new file mode 100644
> index 0000000000..c9442bfbaa
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-tar.c
> @@ -0,0 +1,14 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-tar.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_tar (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.tar");
> + tdesc_create_reg (feature, "ctar", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-htm-vsx.c b/gdb/features/rs6000/power-htm-vsx.c
> new file mode 100644
> index 0000000000..b3f3f3e047
> --- /dev/null
> +++ b/gdb/features/rs6000/power-htm-vsx.c
> @@ -0,0 +1,45 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-htm-vsx.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_htm_vsx (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.vsx");
> + tdesc_create_reg (feature, "cvs0h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs1h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs2h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs3h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs4h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs5h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs6h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs7h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs8h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs9h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs10h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs11h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs12h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs13h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs14h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs15h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs16h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs17h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs18h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs19h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs20h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs21h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs22h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs23h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs24h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs25h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs26h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs27h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs28h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs29h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs30h", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cvs31h", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-linux-pmu.c b/gdb/features/rs6000/power-linux-pmu.c
> new file mode 100644
> index 0000000000..abeda3af59
> --- /dev/null
> +++ b/gdb/features/rs6000/power-linux-pmu.c
> @@ -0,0 +1,18 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-linux-pmu.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_linux_pmu (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
> + tdesc_create_reg (feature, "mmcr0", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "mmcr2", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "siar", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "sdar", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "sier", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-linux.c b/gdb/features/rs6000/power-linux.c
> new file mode 100644
> index 0000000000..63d3e9e4cd
> --- /dev/null
> +++ b/gdb/features/rs6000/power-linux.c
> @@ -0,0 +1,16 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-linux.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_linux (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> + regnum = 71;
> + tdesc_create_reg (feature, "orig_r3", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "trap", regnum++, 1, NULL, 32, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-oea.c b/gdb/features/rs6000/power-oea.c
> new file mode 100644
> index 0000000000..e284272374
> --- /dev/null
> +++ b/gdb/features/rs6000/power-oea.c
> @@ -0,0 +1,62 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-oea.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_oea (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "OEA");
> + regnum = 71;
> + tdesc_create_reg (feature, "sr0", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr1", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr2", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr3", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr4", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr5", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr6", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr7", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr8", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr9", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr10", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr11", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr12", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr13", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr14", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sr15", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "pvr", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat0u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat0l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat1u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat1l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat2u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat2l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat3u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ibat3l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat0u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat0l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat1u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat1l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat2u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat2l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat3u", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dbat3l", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sdr1", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "asr", regnum++, 1, NULL, 64, "int");
> + tdesc_create_reg (feature, "dar", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dsisr", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sprg0", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sprg1", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sprg2", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "sprg3", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "srr0", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "srr1", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "tbl", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "tbu", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dec", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "dabr", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ear", regnum++, 1, NULL, 32, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-ppr.c b/gdb/features/rs6000/power-ppr.c
> new file mode 100644
> index 0000000000..ab3768cc9f
> --- /dev/null
> +++ b/gdb/features/rs6000/power-ppr.c
> @@ -0,0 +1,14 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-ppr.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_ppr (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> + tdesc_create_reg (feature, "ppr", regnum++, 1, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-spe.c b/gdb/features/rs6000/power-spe.c
> new file mode 100644
> index 0000000000..9e9ca7c9dd
> --- /dev/null
> +++ b/gdb/features/rs6000/power-spe.c
> @@ -0,0 +1,49 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-spe.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_spe (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.spe");
> + regnum = 32;
> + tdesc_create_reg (feature, "ev0h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev1h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev2h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev3h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev4h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev5h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev6h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev7h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev8h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev9h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev10h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev11h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev12h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev13h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev14h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev15h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev16h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev17h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev18h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev19h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev20h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev21h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev22h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev23h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev24h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev25h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev26h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev27h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev28h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev29h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev30h", regnum++, 1, NULL, 32, "int");
> + tdesc_create_reg (feature, "ev31h", regnum++, 1, NULL, 32, "int");
> + regnum = 73;
> + tdesc_create_reg (feature, "acc", regnum++, 1, NULL, 64, "int");
> + tdesc_create_reg (feature, "spefscr", regnum++, 1, NULL, 32, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-tar.c b/gdb/features/rs6000/power-tar.c
> new file mode 100644
> index 0000000000..7186d6fd2c
> --- /dev/null
> +++ b/gdb/features/rs6000/power-tar.c
> @@ -0,0 +1,14 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-tar.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_tar (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
> + tdesc_create_reg (feature, "tar", regnum++, 1, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power-vsx.c b/gdb/features/rs6000/power-vsx.c
> new file mode 100644
> index 0000000000..319eba4b9a
> --- /dev/null
> +++ b/gdb/features/rs6000/power-vsx.c
> @@ -0,0 +1,45 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power-vsx.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power_vsx (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> + tdesc_create_reg (feature, "vs0h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs1h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs2h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs3h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs4h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs5h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs6h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs7h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs8h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs9h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs10h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs11h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs12h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs13h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs14h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs15h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs16h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs17h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs18h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs19h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs20h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs21h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs22h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs23h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs24h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs25h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs26h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs27h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs28h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs29h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs30h", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "vs31h", regnum++, 1, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power64-core.c b/gdb/features/rs6000/power64-core.c
> new file mode 100644
> index 0000000000..0390c87676
> --- /dev/null
> +++ b/gdb/features/rs6000/power64-core.c
> @@ -0,0 +1,52 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power64-core.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power64_core (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> + tdesc_create_reg (feature, "r0", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r1", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r2", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r3", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r4", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r5", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r6", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r7", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r8", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r9", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r10", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r11", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r12", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r13", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r14", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r15", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r16", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r17", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r18", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r19", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r20", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r21", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r22", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r23", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r24", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r25", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r26", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r27", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r28", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r29", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r30", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "r31", regnum++, 1, NULL, 64, "uint64");
> + regnum = 64;
> + tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 64, "code_ptr");
> + tdesc_create_reg (feature, "msr", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr", regnum++, 1, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 64, "code_ptr");
> + tdesc_create_reg (feature, "ctr", regnum++, 1, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "xer", regnum++, 1, NULL, 32, "uint32");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power64-htm-core.c b/gdb/features/rs6000/power64-htm-core.c
> new file mode 100644
> index 0000000000..df0640a492
> --- /dev/null
> +++ b/gdb/features/rs6000/power64-htm-core.c
> @@ -0,0 +1,49 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power64-htm-core.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power64_htm_core (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
> + tdesc_create_reg (feature, "cr0", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr1", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr2", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr3", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr4", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr5", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr6", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr7", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr8", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr9", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr10", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr11", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr12", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr13", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr14", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr15", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr16", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr17", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr18", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr19", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr20", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr21", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr22", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr23", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr24", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr25", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr26", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr27", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr28", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr29", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr30", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "cr31", regnum++, 0, NULL, 64, "uint64");
> + tdesc_create_reg (feature, "ccr", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "cxer", regnum++, 0, NULL, 32, "uint32");
> + tdesc_create_reg (feature, "clr", regnum++, 0, NULL, 64, "code_ptr");
> + tdesc_create_reg (feature, "cctr", regnum++, 0, NULL, 64, "uint64");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/power64-linux.c b/gdb/features/rs6000/power64-linux.c
> new file mode 100644
> index 0000000000..23414679bb
> --- /dev/null
> +++ b/gdb/features/rs6000/power64-linux.c
> @@ -0,0 +1,16 @@
> +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> + Original: power64-linux.xml */
> +
> +#include "gdbsupport/tdesc.h"
> +
> +static int
> +create_feature_rs6000_power64_linux (struct target_desc *result, long regnum)
> +{
> + struct tdesc_feature *feature;
> +
> + feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> + regnum = 71;
> + tdesc_create_reg (feature, "orig_r3", regnum++, 1, NULL, 64, "int");
> + tdesc_create_reg (feature, "trap", regnum++, 1, NULL, 64, "int");
> + return regnum;
> +}
> diff --git a/gdb/features/rs6000/powerpc-32l.c b/gdb/features/rs6000/powerpc-32l.c
> deleted file mode 100644
> index 8089c0434e..0000000000
> --- a/gdb/features/rs6000/powerpc-32l.c
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_32l;
> -static void
> -initialize_tdesc_powerpc_32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - tdesc_powerpc_32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-32l.xml b/gdb/features/rs6000/powerpc-32l.xml
> deleted file mode 100644
> index f381b7e5de..0000000000
> --- a/gdb/features/rs6000/powerpc-32l.xml
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers". -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu.xml"/>
> - <xi:include href="power-linux.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-64l.c b/gdb/features/rs6000/powerpc-64l.c
> deleted file mode 100644
> index 408794e13a..0000000000
> --- a/gdb/features/rs6000/powerpc-64l.c
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_64l;
> -static void
> -initialize_tdesc_powerpc_64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - tdesc_powerpc_64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-64l.xml b/gdb/features/rs6000/powerpc-64l.xml
> deleted file mode 100644
> index cdc2f19147..0000000000
> --- a/gdb/features/rs6000/powerpc-64l.xml
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers". -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu.xml"/>
> - <xi:include href="power64-linux.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-altivec32l.c b/gdb/features/rs6000/powerpc-altivec32l.c
> deleted file mode 100644
> index 81862cb9ef..0000000000
> --- a/gdb/features/rs6000/powerpc-altivec32l.c
> +++ /dev/null
> @@ -1,160 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-altivec32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_altivec32l;
> -static void
> -initialize_tdesc_powerpc_altivec32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - tdesc_powerpc_altivec32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-altivec32l.xml b/gdb/features/rs6000/powerpc-altivec32l.xml
> deleted file mode 100644
> index 956fd49534..0000000000
> --- a/gdb/features/rs6000/powerpc-altivec32l.xml
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers" and AltiVec
> - vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-altivec64l.c b/gdb/features/rs6000/powerpc-altivec64l.c
> deleted file mode 100644
> index ce0bc86137..0000000000
> --- a/gdb/features/rs6000/powerpc-altivec64l.c
> +++ /dev/null
> @@ -1,160 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-altivec64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_altivec64l;
> -static void
> -initialize_tdesc_powerpc_altivec64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - tdesc_powerpc_altivec64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-altivec64l.xml b/gdb/features/rs6000/powerpc-altivec64l.xml
> deleted file mode 100644
> index f0e2f0cdbb..0000000000
> --- a/gdb/features/rs6000/powerpc-altivec64l.xml
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers" and AltiVec
> - vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-e500l.c b/gdb/features/rs6000/powerpc-e500l.c
> deleted file mode 100644
> index 61acbf3dd3..0000000000
> --- a/gdb/features/rs6000/powerpc-e500l.c
> +++ /dev/null
> @@ -1,98 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-e500l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_e500l;
> -static void
> -initialize_tdesc_powerpc_e500l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:e500"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.spe");
> - tdesc_create_reg (feature, "ev0h", 32, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev1h", 33, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev2h", 34, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev3h", 35, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev4h", 36, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev5h", 37, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev6h", 38, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev7h", 39, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev8h", 40, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev9h", 41, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev10h", 42, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev11h", 43, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev12h", 44, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev13h", 45, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev14h", 46, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev15h", 47, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev16h", 48, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev17h", 49, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev18h", 50, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev19h", 51, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev20h", 52, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev21h", 53, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev22h", 54, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev23h", 55, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev24h", 56, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev25h", 57, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev26h", 58, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev27h", 59, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev28h", 60, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev29h", 61, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev30h", 62, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "ev31h", 63, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "acc", 73, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "spefscr", 74, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - tdesc_powerpc_e500l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-e500l.xml b/gdb/features/rs6000/powerpc-e500l.xml
> deleted file mode 100644
> index 902fe7900d..0000000000
> --- a/gdb/features/rs6000/powerpc-e500l.xml
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:e500</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-spe.xml"/>
> - <xi:include href="power-linux.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-32l.c b/gdb/features/rs6000/powerpc-isa205-32l.c
> deleted file mode 100644
> index de6548fdf7..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-32l.c
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_32l;
> -static void
> -initialize_tdesc_powerpc_isa205_32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - tdesc_powerpc_isa205_32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-32l.xml b/gdb/features/rs6000/powerpc-isa205-32l.xml
> deleted file mode 100644
> index e7a16f66c2..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-32l.xml
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers". -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power-linux.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-64l.c b/gdb/features/rs6000/powerpc-isa205-64l.c
> deleted file mode 100644
> index cd3b2c10a6..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-64l.c
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_64l;
> -static void
> -initialize_tdesc_powerpc_isa205_64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - tdesc_powerpc_isa205_64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-64l.xml b/gdb/features/rs6000/powerpc-isa205-64l.xml
> deleted file mode 100644
> index 0c65f34fe1..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-64l.xml
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers". -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power64-linux.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.c b/gdb/features/rs6000/powerpc-isa205-altivec32l.c
> deleted file mode 100644
> index 09f5c075c8..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-altivec32l.c
> +++ /dev/null
> @@ -1,160 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-altivec32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_altivec32l;
> -static void
> -initialize_tdesc_powerpc_isa205_altivec32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - tdesc_powerpc_isa205_altivec32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.xml b/gdb/features/rs6000/powerpc-isa205-altivec32l.xml
> deleted file mode 100644
> index 66f7b7b9b7..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-altivec32l.xml
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers" and AltiVec
> - vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.c b/gdb/features/rs6000/powerpc-isa205-altivec64l.c
> deleted file mode 100644
> index 246fcef085..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-altivec64l.c
> +++ /dev/null
> @@ -1,160 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-altivec64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_altivec64l;
> -static void
> -initialize_tdesc_powerpc_isa205_altivec64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - tdesc_powerpc_isa205_altivec64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.xml b/gdb/features/rs6000/powerpc-isa205-altivec64l.xml
> deleted file mode 100644
> index 75a08c3f87..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-altivec64l.xml
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers" and AltiVec
> - vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c
> deleted file mode 100644
> index c8f56ea029..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c
> +++ /dev/null
> @@ -1,200 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-ppr-dscr-vsx32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l;
> -static void
> -initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> - tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> - tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa205_ppr_dscr_vsx32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
> deleted file mode 100644
> index 75cfae9236..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> - <xi:include href="power-ppr.xml"/>
> - <xi:include href="power-dscr.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c
> deleted file mode 100644
> index 76e32f3b1b..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c
> +++ /dev/null
> @@ -1,200 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-ppr-dscr-vsx64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l;
> -static void
> -initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> - tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> - tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa205_ppr_dscr_vsx64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
> deleted file mode 100644
> index 9e2b246a90..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> - <xi:include href="power-ppr.xml"/>
> - <xi:include href="power-dscr.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-vsx32l.c
> deleted file mode 100644
> index 2a6e232e99..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-vsx32l.c
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-vsx32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_vsx32l;
> -static void
> -initialize_tdesc_powerpc_isa205_vsx32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa205_vsx32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.xml b/gdb/features/rs6000/powerpc-isa205-vsx32l.xml
> deleted file mode 100644
> index 9aa4fbd988..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-vsx32l.xml
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers", AltiVec
> - and VSX vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-vsx64l.c
> deleted file mode 100644
> index d0e32f29b1..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-vsx64l.c
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa205-vsx64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa205_vsx64l;
> -static void
> -initialize_tdesc_powerpc_isa205_vsx64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa205_vsx64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.xml b/gdb/features/rs6000/powerpc-isa205-vsx64l.xml
> deleted file mode 100644
> index 1d8e8dcdd1..0000000000
> --- a/gdb/features/rs6000/powerpc-isa205-vsx64l.xml
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers", AltiVec
> - and VSX vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
> deleted file mode 100644
> index e1b933c8fb..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
> +++ /dev/null
> @@ -1,396 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa207-htm-vsx32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa207_htm_vsx32l;
> -static void
> -initialize_tdesc_powerpc_isa207_htm_vsx32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> - tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> - tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
> - tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
> - tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
> - tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.spr");
> - tdesc_create_reg (feature, "tfhar", 150, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "texasr", 151, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "tfiar", 152, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
> - tdesc_create_reg (feature, "cr0", 153, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr1", 154, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr2", 155, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr3", 156, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr4", 157, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr5", 158, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr6", 159, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr7", 160, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr8", 161, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr9", 162, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr10", 163, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr11", 164, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr12", 165, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr13", 166, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr14", 167, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr15", 168, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr16", 169, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr17", 170, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr18", 171, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr19", 172, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr20", 173, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr21", 174, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr22", 175, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr23", 176, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr24", 177, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr25", 178, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr26", 179, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr27", 180, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr28", 181, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr29", 182, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr30", 183, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr31", 184, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "ccr", 185, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cxer", 186, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "clr", 187, 0, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "cctr", 188, 0, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.fpu");
> - tdesc_create_reg (feature, "cf0", 189, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf1", 190, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf2", 191, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf3", 192, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf4", 193, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf5", 194, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf6", 195, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf7", 196, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf8", 197, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf9", 198, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf10", 199, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf11", 200, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf12", 201, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf13", 202, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf14", 203, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf15", 204, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf16", 205, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf17", 206, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf18", 207, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf19", 208, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf20", 209, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf21", 210, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf22", 211, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf23", 212, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf24", 213, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf25", 214, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf26", 215, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf27", 216, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf28", 217, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf29", 218, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf30", 219, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf31", 220, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cfpscr", 221, 0, "float", 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.altivec");
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "cvr0", 222, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr1", 223, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr2", 224, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr3", 225, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr4", 226, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr5", 227, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr6", 228, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr7", 229, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr8", 230, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr9", 231, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr10", 232, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr11", 233, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr12", 234, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr13", 235, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr14", 236, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr15", 237, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr16", 238, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr17", 239, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr18", 240, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr19", 241, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr20", 242, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr21", 243, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr22", 244, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr23", 245, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr24", 246, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr25", 247, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr26", 248, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr27", 249, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr28", 250, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr29", 251, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr30", 252, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr31", 253, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvscr", 254, 0, "vector", 32, "int");
> - tdesc_create_reg (feature, "cvrsave", 255, 0, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.vsx");
> - tdesc_create_reg (feature, "cvs0h", 256, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs1h", 257, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs2h", 258, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs3h", 259, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs4h", 260, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs5h", 261, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs6h", 262, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs7h", 263, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs8h", 264, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs9h", 265, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs10h", 266, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs11h", 267, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs12h", 268, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs13h", 269, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs14h", 270, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs15h", 271, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs16h", 272, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs17h", 273, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs18h", 274, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs19h", 275, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs20h", 276, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs21h", 277, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs22h", 278, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs23h", 279, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs24h", 280, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs25h", 281, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs26h", 282, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs27h", 283, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs28h", 284, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs29h", 285, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs30h", 286, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs31h", 287, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.ppr");
> - tdesc_create_reg (feature, "cppr", 288, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.dscr");
> - tdesc_create_reg (feature, "cdscr", 289, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.tar");
> - tdesc_create_reg (feature, "ctar", 290, 0, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa207_htm_vsx32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml
> deleted file mode 100644
> index 083ad1f5f9..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> - <xi:include href="power-ppr.xml"/>
> - <xi:include href="power-dscr.xml"/>
> - <xi:include href="power-tar.xml"/>
> - <xi:include href="power-ebb.xml"/>
> - <xi:include href="power-linux-pmu.xml"/>
> - <xi:include href="power-htm-spr.xml"/>
> - <xi:include href="power-htm-core.xml"/>
> - <xi:include href="power-htm-fpu.xml"/>
> - <xi:include href="power-htm-altivec.xml"/>
> - <xi:include href="power-htm-vsx.xml"/>
> - <xi:include href="power-htm-ppr.xml"/>
> - <xi:include href="power-htm-dscr.xml"/>
> - <xi:include href="power-htm-tar.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c
> deleted file mode 100644
> index 0d818d0159..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c
> +++ /dev/null
> @@ -1,396 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa207-htm-vsx64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa207_htm_vsx64l;
> -static void
> -initialize_tdesc_powerpc_isa207_htm_vsx64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> - tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> - tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
> - tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
> - tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
> - tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.spr");
> - tdesc_create_reg (feature, "tfhar", 150, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "texasr", 151, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "tfiar", 152, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
> - tdesc_create_reg (feature, "cr0", 153, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr1", 154, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr2", 155, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr3", 156, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr4", 157, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr5", 158, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr6", 159, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr7", 160, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr8", 161, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr9", 162, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr10", 163, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr11", 164, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr12", 165, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr13", 166, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr14", 167, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr15", 168, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr16", 169, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr17", 170, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr18", 171, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr19", 172, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr20", 173, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr21", 174, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr22", 175, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr23", 176, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr24", 177, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr25", 178, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr26", 179, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr27", 180, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr28", 181, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr29", 182, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr30", 183, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr31", 184, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ccr", 185, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cxer", 186, 0, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "clr", 187, 0, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "cctr", 188, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.fpu");
> - tdesc_create_reg (feature, "cf0", 189, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf1", 190, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf2", 191, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf3", 192, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf4", 193, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf5", 194, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf6", 195, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf7", 196, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf8", 197, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf9", 198, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf10", 199, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf11", 200, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf12", 201, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf13", 202, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf14", 203, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf15", 204, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf16", 205, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf17", 206, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf18", 207, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf19", 208, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf20", 209, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf21", 210, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf22", 211, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf23", 212, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf24", 213, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf25", 214, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf26", 215, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf27", 216, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf28", 217, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf29", 218, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf30", 219, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cf31", 220, 0, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "cfpscr", 221, 0, "float", 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.altivec");
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "cvr0", 222, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr1", 223, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr2", 224, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr3", 225, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr4", 226, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr5", 227, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr6", 228, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr7", 229, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr8", 230, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr9", 231, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr10", 232, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr11", 233, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr12", 234, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr13", 235, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr14", 236, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr15", 237, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr16", 238, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr17", 239, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr18", 240, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr19", 241, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr20", 242, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr21", 243, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr22", 244, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr23", 245, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr24", 246, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr25", 247, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr26", 248, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr27", 249, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr28", 250, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr29", 251, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr30", 252, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvr31", 253, 0, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "cvscr", 254, 0, "vector", 32, "int");
> - tdesc_create_reg (feature, "cvrsave", 255, 0, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.vsx");
> - tdesc_create_reg (feature, "cvs0h", 256, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs1h", 257, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs2h", 258, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs3h", 259, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs4h", 260, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs5h", 261, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs6h", 262, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs7h", 263, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs8h", 264, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs9h", 265, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs10h", 266, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs11h", 267, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs12h", 268, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs13h", 269, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs14h", 270, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs15h", 271, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs16h", 272, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs17h", 273, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs18h", 274, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs19h", 275, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs20h", 276, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs21h", 277, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs22h", 278, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs23h", 279, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs24h", 280, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs25h", 281, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs26h", 282, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs27h", 283, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs28h", 284, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs29h", 285, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs30h", 286, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cvs31h", 287, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.ppr");
> - tdesc_create_reg (feature, "cppr", 288, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.dscr");
> - tdesc_create_reg (feature, "cdscr", 289, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.tar");
> - tdesc_create_reg (feature, "ctar", 290, 0, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa207_htm_vsx64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml
> deleted file mode 100644
> index 36a1450ecb..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> - <xi:include href="power-ppr.xml"/>
> - <xi:include href="power-dscr.xml"/>
> - <xi:include href="power-tar.xml"/>
> - <xi:include href="power-ebb.xml"/>
> - <xi:include href="power-linux-pmu.xml"/>
> - <xi:include href="power-htm-spr.xml"/>
> - <xi:include href="power64-htm-core.xml"/>
> - <xi:include href="power-htm-fpu.xml"/>
> - <xi:include href="power-htm-altivec.xml"/>
> - <xi:include href="power-htm-vsx.xml"/>
> - <xi:include href="power-htm-ppr.xml"/>
> - <xi:include href="power-htm-dscr.xml"/>
> - <xi:include href="power-htm-tar.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-vsx32l.c
> deleted file mode 100644
> index 8fe0f5e438..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-vsx32l.c
> +++ /dev/null
> @@ -1,215 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa207-vsx32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa207_vsx32l;
> -static void
> -initialize_tdesc_powerpc_isa207_vsx32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> - tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> - tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
> - tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
> - tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
> - tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa207_vsx32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.xml b/gdb/features/rs6000/powerpc-isa207-vsx32l.xml
> deleted file mode 100644
> index 72aa9346c4..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-vsx32l.xml
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> - <xi:include href="power-ppr.xml"/>
> - <xi:include href="power-dscr.xml"/>
> - <xi:include href="power-tar.xml"/>
> - <xi:include href="power-ebb.xml"/>
> - <xi:include href="power-linux-pmu.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-vsx64l.c
> deleted file mode 100644
> index 0af1879e10..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-vsx64l.c
> +++ /dev/null
> @@ -1,215 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-isa207-vsx64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_isa207_vsx64l;
> -static void
> -initialize_tdesc_powerpc_isa207_vsx64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
> - tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
> - tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
> - tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
> - tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
> - tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
> -
> - tdesc_powerpc_isa207_vsx64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.xml b/gdb/features/rs6000/powerpc-isa207-vsx64l.xml
> deleted file mode 100644
> index fae5990651..0000000000
> --- a/gdb/features/rs6000/powerpc-isa207-vsx64l.xml
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu-isa205.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> - <xi:include href="power-ppr.xml"/>
> - <xi:include href="power-dscr.xml"/>
> - <xi:include href="power-tar.xml"/>
> - <xi:include href="power-ebb.xml"/>
> - <xi:include href="power-linux-pmu.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-vsx32l.c b/gdb/features/rs6000/powerpc-vsx32l.c
> deleted file mode 100644
> index f08df14f9e..0000000000
> --- a/gdb/features/rs6000/powerpc-vsx32l.c
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-vsx32l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_vsx32l;
> -static void
> -initialize_tdesc_powerpc_vsx32l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - tdesc_powerpc_vsx32l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-vsx32l.xml b/gdb/features/rs6000/powerpc-vsx32l.xml
> deleted file mode 100644
> index b547142972..0000000000
> --- a/gdb/features/rs6000/powerpc-vsx32l.xml
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers", AltiVec
> - and VSX vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common</architecture>
> - <xi:include href="power-core.xml"/>
> - <xi:include href="power-fpu.xml"/>
> - <xi:include href="power-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> -</target>
> diff --git a/gdb/features/rs6000/powerpc-vsx64l.c b/gdb/features/rs6000/powerpc-vsx64l.c
> deleted file mode 100644
> index 1726e6754f..0000000000
> --- a/gdb/features/rs6000/powerpc-vsx64l.c
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
> - Original: powerpc-vsx64l.xml */
> -
> -#include "defs.h"
> -#include "osabi.h"
> -#include "target-descriptions.h"
> -
> -struct target_desc *tdesc_powerpc_vsx64l;
> -static void
> -initialize_tdesc_powerpc_vsx64l (void)
> -{
> - struct target_desc *result = allocate_target_description ();
> - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
> -
> - struct tdesc_feature *feature;
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
> - tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
> - tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
> - tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
> - tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
> - tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
> - tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
> - tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
> - tdesc_type *element_type;
> - element_type = tdesc_named_type (feature, "ieee_single");
> - tdesc_create_vector (feature, "v4f", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int32");
> - tdesc_create_vector (feature, "v4i32", element_type, 4);
> -
> - element_type = tdesc_named_type (feature, "int16");
> - tdesc_create_vector (feature, "v8i16", element_type, 8);
> -
> - element_type = tdesc_named_type (feature, "int8");
> - tdesc_create_vector (feature, "v16i8", element_type, 16);
> -
> - tdesc_type_with_fields *type_with_fields;
> - type_with_fields = tdesc_create_union (feature, "vec128");
> - tdesc_type *field_type;
> - field_type = tdesc_named_type (feature, "uint128");
> - tdesc_add_field (type_with_fields, "uint128", field_type);
> - field_type = tdesc_named_type (feature, "v4f");
> - tdesc_add_field (type_with_fields, "v4_float", field_type);
> - field_type = tdesc_named_type (feature, "v4i32");
> - tdesc_add_field (type_with_fields, "v4_int32", field_type);
> - field_type = tdesc_named_type (feature, "v8i16");
> - tdesc_add_field (type_with_fields, "v8_int16", field_type);
> - field_type = tdesc_named_type (feature, "v16i8");
> - tdesc_add_field (type_with_fields, "v16_int8", field_type);
> -
> - tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
> - tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
> - tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
> -
> - feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
> - tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
> - tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
> -
> - tdesc_powerpc_vsx64l = result;
> -}
> diff --git a/gdb/features/rs6000/powerpc-vsx64l.xml b/gdb/features/rs6000/powerpc-vsx64l.xml
> deleted file mode 100644
> index e8a3096664..0000000000
> --- a/gdb/features/rs6000/powerpc-vsx64l.xml
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -<?xml version="1.0"?>
> -<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
> -
> - Copying and distribution of this file, with or without modification,
> - are permitted in any medium without royalty provided the copyright
> - notice and this notice are preserved. -->
> -
> -<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
> - view of the PowerPC. Includes Linux-only special "registers", AltiVec
> - and VSX vector registers. -->
> -
> -<!DOCTYPE target SYSTEM "gdb-target.dtd">
> -<target>
> - <architecture>powerpc:common64</architecture>
> - <xi:include href="power64-core.xml"/>
> - <xi:include href="power-fpu.xml"/>
> - <xi:include href="power64-linux.xml"/>
> - <xi:include href="power-altivec.xml"/>
> - <xi:include href="power-vsx.xml"/>
> -</target>
> diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
> index 6be8f022a7..c33db38029 100644
> --- a/gdb/ppc-linux-nat.c
> +++ b/gdb/ppc-linux-nat.c
> @@ -51,7 +51,6 @@
> #include "auxv.h"
>
> #include "arch/ppc-linux-common.h"
> -#include "arch/ppc-linux-tdesc.h"
> #include "nat/ppc-linux.h"
> #include "linux-tdep.h"
>
> @@ -1944,12 +1943,14 @@ ppc_linux_nat_target::read_description ()
> if (tid == 0)
> tid = inferior_ptid.pid ();
>
> + struct ppc_linux_features features = ppc_linux_no_features;
> +
> if (have_ptrace_getsetevrregs)
> {
> struct gdb_evrregset_t evrregset;
>
> if (ptrace (PTRACE_GETEVRREGS, tid, 0, &evrregset) >= 0)
> - return tdesc_powerpc_e500l;
> + features.spe = true;
>
> /* EIO means that the PTRACE_GETEVRREGS request isn't supported.
> Anything else needs to be reported. */
> @@ -1957,8 +1958,6 @@ ppc_linux_nat_target::read_description ()
> perror_with_name (_("Unable to fetch SPE registers"));
> }
>
> - struct ppc_linux_features features = ppc_linux_no_features;
> -
> features.wordsize = ppc_linux_target_wordsize (tid);
>
> CORE_ADDR hwcap = linux_get_hwcap (current_top_target ());
> @@ -1992,29 +1991,67 @@ ppc_linux_nat_target::read_description ()
> perror_with_name (_("Unable to fetch AltiVec registers"));
> }
>
> - features.isa205 = ppc_linux_has_isa205 (hwcap);
> + features.fpscr64 = ppc_linux_has_fpscr64 (hwcap);
> +
> + if (check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET))
> + features.ppr = true;
>
> if ((hwcap2 & PPC_FEATURE2_DSCR)
> - && check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET)
> && check_regset (tid, NT_PPC_DSCR, PPC_LINUX_SIZEOF_DSCRREGSET))
> + features.dscr = true;
> +
> + if (hwcap2 & PPC_FEATURE2_ARCH_2_07)
> {
> - features.ppr_dscr = true;
> - if ((hwcap2 & PPC_FEATURE2_ARCH_2_07)
> - && (hwcap2 & PPC_FEATURE2_TAR)
> - && (hwcap2 & PPC_FEATURE2_EBB)
> - && check_regset (tid, NT_PPC_TAR, PPC_LINUX_SIZEOF_TARREGSET)
> - && check_regset (tid, NT_PPC_EBB, PPC_LINUX_SIZEOF_EBBREGSET)
> - && check_regset (tid, NT_PPC_PMU, PPC_LINUX_SIZEOF_PMUREGSET))
> - {
> - features.isa207 = true;
> - if ((hwcap2 & PPC_FEATURE2_HTM)
> - && check_regset (tid, NT_PPC_TM_SPR,
> - PPC_LINUX_SIZEOF_TM_SPRREGSET))
> - features.htm = true;
> - }
> + if ((hwcap2 & PPC_FEATURE2_TAR)
> + && check_regset (tid, NT_PPC_TAR, PPC_LINUX_SIZEOF_TARREGSET))
> + features.tar = true;
> +
> + if ((hwcap2 & PPC_FEATURE2_EBB)
> + && check_regset (tid, NT_PPC_EBB, PPC_LINUX_SIZEOF_EBBREGSET))
> + features.ebb = true;
> +
> + if (check_regset (tid, NT_PPC_PMU, PPC_LINUX_SIZEOF_PMUREGSET))
> + features.pmu = true;
> + }
> +
> + if (hwcap2 & PPC_FEATURE2_HTM)
> + {
> + if (check_regset (tid, NT_PPC_TM_CVMX, PPC_LINUX_SIZEOF_CVMXREGSET))
> + features.htm.altivec = true;
> +
> + if (features.wordsize == 8)
> + {
> + if (check_regset (tid, NT_PPC_TM_CGPR,
> + PPC64_LINUX_SIZEOF_CGPRREGSET))
> + features.htm.core = true;
> + }
> + else if (features.wordsize == 4)
> + {
> + if (check_regset (tid, NT_PPC_TM_CGPR,
> + PPC32_LINUX_SIZEOF_CGPRREGSET))
> + features.htm.core = true;
> + }
> +
> + if (check_regset (tid, NT_PPC_TM_CDSCR, PPC_LINUX_SIZEOF_CDSCRREGSET))
> + features.htm.dscr = true;
> +
> + if (check_regset (tid, NT_PPC_TM_CFPR, PPC_LINUX_SIZEOF_CFPRREGSET))
> + features.htm.fpu = true;
> +
> + if (check_regset (tid, NT_PPC_TM_CPPR, PPC_LINUX_SIZEOF_CPPRREGSET))
> + features.htm.ppr = true;
> +
> + if (check_regset (tid, NT_PPC_TM_SPR, PPC_LINUX_SIZEOF_TM_SPRREGSET))
> + features.htm.spr = true;
> +
> + if (check_regset (tid, NT_PPC_TM_CTAR, PPC_LINUX_SIZEOF_CTARREGSET))
> + features.htm.tar = true;
> +
> + if (check_regset (tid, NT_PPC_TM_CVSX, PPC_LINUX_SIZEOF_CVSXREGSET))
> + features.htm.vsx = true;
> }
>
> - return ppc_linux_match_description (features);
> + return ppc_linux_create_target_description (features);
> }
>
> /* Routines for installing hardware watchpoints and breakpoints. When
> diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
> index 4c4bdacf4d..4a38ac5976 100644
> --- a/gdb/ppc-linux-tdep.c
> +++ b/gdb/ppc-linux-tdep.c
> @@ -37,7 +37,7 @@
> #include "ppc64-tdep.h"
> #include "ppc-linux-tdep.h"
> #include "arch/ppc-linux-common.h"
> -#include "arch/ppc-linux-tdesc.h"
> +#include "target-descriptions.h"
> #include "glibc-tdep.h"
> #include "trad-frame.h"
> #include "frame-unwind.h"
> @@ -62,26 +62,6 @@
> #include <ctype.h>
> #include "elf-bfd.h"
>
> -#include "features/rs6000/powerpc-32l.c"
> -#include "features/rs6000/powerpc-altivec32l.c"
> -#include "features/rs6000/powerpc-vsx32l.c"
> -#include "features/rs6000/powerpc-isa205-32l.c"
> -#include "features/rs6000/powerpc-isa205-altivec32l.c"
> -#include "features/rs6000/powerpc-isa205-vsx32l.c"
> -#include "features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c"
> -#include "features/rs6000/powerpc-isa207-vsx32l.c"
> -#include "features/rs6000/powerpc-isa207-htm-vsx32l.c"
> -#include "features/rs6000/powerpc-64l.c"
> -#include "features/rs6000/powerpc-altivec64l.c"
> -#include "features/rs6000/powerpc-vsx64l.c"
> -#include "features/rs6000/powerpc-isa205-64l.c"
> -#include "features/rs6000/powerpc-isa205-altivec64l.c"
> -#include "features/rs6000/powerpc-isa205-vsx64l.c"
> -#include "features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c"
> -#include "features/rs6000/powerpc-isa207-vsx64l.c"
> -#include "features/rs6000/powerpc-isa207-htm-vsx64l.c"
> -#include "features/rs6000/powerpc-e500l.c"
> -
> /* Shared library operations for PowerPC-Linux. */
> static struct target_so_ops powerpc_so_ops;
>
> @@ -1563,7 +1543,15 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
> asection *dscr = bfd_get_section_by_name (abfd, ".reg-ppc-dscr");
> asection *tar = bfd_get_section_by_name (abfd, ".reg-ppc-tar");
> asection *pmu = bfd_get_section_by_name (abfd, ".reg-ppc-pmu");
> + asection *ebb = bfd_get_section_by_name (abfd, ".reg-ppc-ebb");
> + asection *htmaltivec = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cvmx");
> + asection *htmcore = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cgpr");
> + asection *htmdscr = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cdscr");
> + asection *htmfpu = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cfpr");
> + asection *htmppr = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cppr");
> asection *htmspr = bfd_get_section_by_name (abfd, ".reg-ppc-tm-spr");
> + asection *htmtar = bfd_get_section_by_name (abfd, ".reg-ppc-tm-ctar");
> + asection *htmvsx = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cvsx");
>
> if (! section)
> return NULL;
> @@ -1588,25 +1576,48 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
>
> CORE_ADDR hwcap = linux_get_hwcap (target);
>
> - features.isa205 = ppc_linux_has_isa205 (hwcap);
> + features.fpscr64 = ppc_linux_has_fpscr64 (hwcap);
>
> - if (ppr && dscr)
> - {
> - features.ppr_dscr = true;
> + if (ppr)
> + features.ppr = true;
>
> - /* We don't require the EBB note section to be present in the
> - core file to select isa207 because these registers could have
> - been unavailable when the core file was created. They will
> - be in the tdep but will show as unavailable. */
> - if (tar && pmu)
> - {
> - features.isa207 = true;
> - if (htmspr)
> - features.htm = true;
> - }
> - }
> + if (dscr)
> + features.dscr = true;
> +
> + if (tar)
> + features.tar = true;
> +
> + if (pmu)
> + features.pmu = true;
> +
> + if (ebb)
> + features.ebb = true;
> +
> + if (htmaltivec)
> + features.htm.altivec = true;
>
> - return ppc_linux_match_description (features);
> + if (htmcore)
> + features.htm.core = true;
> +
> + if (htmdscr)
> + features.htm.dscr = true;
> +
> + if (htmfpu)
> + features.htm.fpu = true;
> +
> + if (htmppr)
> + features.htm.ppr = true;
> +
> + if (htmspr)
> + features.htm.spr = true;
> +
> + if (htmtar)
> + features.htm.tar = true;
> +
> + if (htmvsx)
> + features.htm.vsx = true;
> +
> + return ppc_linux_create_target_description (features);
> }
>
>
> @@ -2167,25 +2178,4 @@ _initialize_ppc_linux_tdep ()
> ppc_linux_init_abi);
> gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
> ppc_linux_init_abi);
> -
> - /* Initialize the Linux target descriptions. */
> - initialize_tdesc_powerpc_32l ();
> - initialize_tdesc_powerpc_altivec32l ();
> - initialize_tdesc_powerpc_vsx32l ();
> - initialize_tdesc_powerpc_isa205_32l ();
> - initialize_tdesc_powerpc_isa205_altivec32l ();
> - initialize_tdesc_powerpc_isa205_vsx32l ();
> - initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l ();
> - initialize_tdesc_powerpc_isa207_vsx32l ();
> - initialize_tdesc_powerpc_isa207_htm_vsx32l ();
> - initialize_tdesc_powerpc_64l ();
> - initialize_tdesc_powerpc_altivec64l ();
> - initialize_tdesc_powerpc_vsx64l ();
> - initialize_tdesc_powerpc_isa205_64l ();
> - initialize_tdesc_powerpc_isa205_altivec64l ();
> - initialize_tdesc_powerpc_isa205_vsx64l ();
> - initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l ();
> - initialize_tdesc_powerpc_isa207_vsx64l ();
> - initialize_tdesc_powerpc_isa207_htm_vsx64l ();
> - initialize_tdesc_powerpc_e500l ();
> }
> diff --git a/gdb/regformats/rs6000/powerpc-32l.dat b/gdb/regformats/rs6000/powerpc-32l.dat
> deleted file mode 100644
> index 2c8ccbe49b..0000000000
> --- a/gdb/regformats/rs6000/powerpc-32l.dat
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-32l.xml
> -name:powerpc_32l
> -xmltarget:powerpc-32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -32:fpscr
> -32:orig_r3
> -32:trap
> diff --git a/gdb/regformats/rs6000/powerpc-64l.dat b/gdb/regformats/rs6000/powerpc-64l.dat
> deleted file mode 100644
> index 10f43b1624..0000000000
> --- a/gdb/regformats/rs6000/powerpc-64l.dat
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-64l.xml
> -name:powerpc_64l
> -xmltarget:powerpc-64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -32:fpscr
> -64:orig_r3
> -64:trap
> diff --git a/gdb/regformats/rs6000/powerpc-altivec32l.dat b/gdb/regformats/rs6000/powerpc-altivec32l.dat
> deleted file mode 100644
> index c792a2f961..0000000000
> --- a/gdb/regformats/rs6000/powerpc-altivec32l.dat
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-altivec32l.xml
> -name:powerpc_altivec32l
> -xmltarget:powerpc-altivec32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -32:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> diff --git a/gdb/regformats/rs6000/powerpc-altivec64l.dat b/gdb/regformats/rs6000/powerpc-altivec64l.dat
> deleted file mode 100644
> index a806141b6e..0000000000
> --- a/gdb/regformats/rs6000/powerpc-altivec64l.dat
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-altivec64l.xml
> -name:powerpc_altivec64l
> -xmltarget:powerpc-altivec64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -32:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> diff --git a/gdb/regformats/rs6000/powerpc-e500l.dat b/gdb/regformats/rs6000/powerpc-e500l.dat
> deleted file mode 100644
> index 750eafed7c..0000000000
> --- a/gdb/regformats/rs6000/powerpc-e500l.dat
> +++ /dev/null
> @@ -1,80 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-e500l.xml
> -name:powerpc_e500l
> -xmltarget:powerpc-e500l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -32:ev0h
> -32:ev1h
> -32:ev2h
> -32:ev3h
> -32:ev4h
> -32:ev5h
> -32:ev6h
> -32:ev7h
> -32:ev8h
> -32:ev9h
> -32:ev10h
> -32:ev11h
> -32:ev12h
> -32:ev13h
> -32:ev14h
> -32:ev15h
> -32:ev16h
> -32:ev17h
> -32:ev18h
> -32:ev19h
> -32:ev20h
> -32:ev21h
> -32:ev22h
> -32:ev23h
> -32:ev24h
> -32:ev25h
> -32:ev26h
> -32:ev27h
> -32:ev28h
> -32:ev29h
> -32:ev30h
> -32:ev31h
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -0:
> -32:orig_r3
> -32:trap
> -64:acc
> -32:spefscr
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-32l.dat b/gdb/regformats/rs6000/powerpc-isa205-32l.dat
> deleted file mode 100644
> index 7227d06c97..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-32l.dat
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-32l.xml
> -name:powerpc_isa205_32l
> -xmltarget:powerpc-isa205-32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -64:fpscr
> -32:orig_r3
> -32:trap
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-64l.dat b/gdb/regformats/rs6000/powerpc-isa205-64l.dat
> deleted file mode 100644
> index 13a72c7eb8..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-64l.dat
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-64l.xml
> -name:powerpc_isa205_64l
> -xmltarget:powerpc-isa205-64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -64:fpscr
> -64:orig_r3
> -64:trap
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat b/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
> deleted file mode 100644
> index 051724c613..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-altivec32l.xml
> -name:powerpc_isa205_altivec32l
> -xmltarget:powerpc-isa205-altivec32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -64:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat b/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
> deleted file mode 100644
> index 867e821351..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-altivec64l.xml
> -name:powerpc_isa205_altivec64l
> -xmltarget:powerpc-isa205-altivec64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -64:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
> deleted file mode 100644
> index 31a7d02e95..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
> +++ /dev/null
> @@ -1,146 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
> -name:powerpc_isa205_ppr_dscr_vsx32l
> -xmltarget:powerpc-isa205-ppr-dscr-vsx32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -64:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> -64:ppr
> -64:dscr
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat
> deleted file mode 100644
> index 74c8feb3ee..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat
> +++ /dev/null
> @@ -1,146 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
> -name:powerpc_isa205_ppr_dscr_vsx64l
> -xmltarget:powerpc-isa205-ppr-dscr-vsx64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -64:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> -64:ppr
> -64:dscr
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
> deleted file mode 100644
> index fa05cae859..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
> +++ /dev/null
> @@ -1,144 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-vsx32l.xml
> -name:powerpc_isa205_vsx32l
> -xmltarget:powerpc-isa205-vsx32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -64:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> diff --git a/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
> deleted file mode 100644
> index 75bd4539ad..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
> +++ /dev/null
> @@ -1,144 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa205-vsx64l.xml
> -name:powerpc_isa205_vsx64l
> -xmltarget:powerpc-isa205-vsx64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -64:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> diff --git a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat
> deleted file mode 100644
> index c19416db86..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat
> +++ /dev/null
> @@ -1,296 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa207-htm-vsx32l.xml
> -name:powerpc_isa207_htm_vsx32l
> -xmltarget:powerpc-isa207-htm-vsx32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -64:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> -64:ppr
> -64:dscr
> -64:tar
> -64:bescr
> -64:ebbhr
> -64:ebbrr
> -64:mmcr0
> -64:mmcr2
> -64:siar
> -64:sdar
> -64:sier
> -64:tfhar
> -64:texasr
> -64:tfiar
> -32:cr0
> -32:cr1
> -32:cr2
> -32:cr3
> -32:cr4
> -32:cr5
> -32:cr6
> -32:cr7
> -32:cr8
> -32:cr9
> -32:cr10
> -32:cr11
> -32:cr12
> -32:cr13
> -32:cr14
> -32:cr15
> -32:cr16
> -32:cr17
> -32:cr18
> -32:cr19
> -32:cr20
> -32:cr21
> -32:cr22
> -32:cr23
> -32:cr24
> -32:cr25
> -32:cr26
> -32:cr27
> -32:cr28
> -32:cr29
> -32:cr30
> -32:cr31
> -32:ccr
> -32:cxer
> -32:clr
> -32:cctr
> -64:cf0
> -64:cf1
> -64:cf2
> -64:cf3
> -64:cf4
> -64:cf5
> -64:cf6
> -64:cf7
> -64:cf8
> -64:cf9
> -64:cf10
> -64:cf11
> -64:cf12
> -64:cf13
> -64:cf14
> -64:cf15
> -64:cf16
> -64:cf17
> -64:cf18
> -64:cf19
> -64:cf20
> -64:cf21
> -64:cf22
> -64:cf23
> -64:cf24
> -64:cf25
> -64:cf26
> -64:cf27
> -64:cf28
> -64:cf29
> -64:cf30
> -64:cf31
> -64:cfpscr
> -128:cvr0
> -128:cvr1
> -128:cvr2
> -128:cvr3
> -128:cvr4
> -128:cvr5
> -128:cvr6
> -128:cvr7
> -128:cvr8
> -128:cvr9
> -128:cvr10
> -128:cvr11
> -128:cvr12
> -128:cvr13
> -128:cvr14
> -128:cvr15
> -128:cvr16
> -128:cvr17
> -128:cvr18
> -128:cvr19
> -128:cvr20
> -128:cvr21
> -128:cvr22
> -128:cvr23
> -128:cvr24
> -128:cvr25
> -128:cvr26
> -128:cvr27
> -128:cvr28
> -128:cvr29
> -128:cvr30
> -128:cvr31
> -32:cvscr
> -32:cvrsave
> -64:cvs0h
> -64:cvs1h
> -64:cvs2h
> -64:cvs3h
> -64:cvs4h
> -64:cvs5h
> -64:cvs6h
> -64:cvs7h
> -64:cvs8h
> -64:cvs9h
> -64:cvs10h
> -64:cvs11h
> -64:cvs12h
> -64:cvs13h
> -64:cvs14h
> -64:cvs15h
> -64:cvs16h
> -64:cvs17h
> -64:cvs18h
> -64:cvs19h
> -64:cvs20h
> -64:cvs21h
> -64:cvs22h
> -64:cvs23h
> -64:cvs24h
> -64:cvs25h
> -64:cvs26h
> -64:cvs27h
> -64:cvs28h
> -64:cvs29h
> -64:cvs30h
> -64:cvs31h
> -64:cppr
> -64:cdscr
> -64:ctar
> diff --git a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat
> deleted file mode 100644
> index 38359959fd..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat
> +++ /dev/null
> @@ -1,296 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa207-htm-vsx64l.xml
> -name:powerpc_isa207_htm_vsx64l
> -xmltarget:powerpc-isa207-htm-vsx64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -64:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> -64:ppr
> -64:dscr
> -64:tar
> -64:bescr
> -64:ebbhr
> -64:ebbrr
> -64:mmcr0
> -64:mmcr2
> -64:siar
> -64:sdar
> -64:sier
> -64:tfhar
> -64:texasr
> -64:tfiar
> -64:cr0
> -64:cr1
> -64:cr2
> -64:cr3
> -64:cr4
> -64:cr5
> -64:cr6
> -64:cr7
> -64:cr8
> -64:cr9
> -64:cr10
> -64:cr11
> -64:cr12
> -64:cr13
> -64:cr14
> -64:cr15
> -64:cr16
> -64:cr17
> -64:cr18
> -64:cr19
> -64:cr20
> -64:cr21
> -64:cr22
> -64:cr23
> -64:cr24
> -64:cr25
> -64:cr26
> -64:cr27
> -64:cr28
> -64:cr29
> -64:cr30
> -64:cr31
> -32:ccr
> -32:cxer
> -64:clr
> -64:cctr
> -64:cf0
> -64:cf1
> -64:cf2
> -64:cf3
> -64:cf4
> -64:cf5
> -64:cf6
> -64:cf7
> -64:cf8
> -64:cf9
> -64:cf10
> -64:cf11
> -64:cf12
> -64:cf13
> -64:cf14
> -64:cf15
> -64:cf16
> -64:cf17
> -64:cf18
> -64:cf19
> -64:cf20
> -64:cf21
> -64:cf22
> -64:cf23
> -64:cf24
> -64:cf25
> -64:cf26
> -64:cf27
> -64:cf28
> -64:cf29
> -64:cf30
> -64:cf31
> -64:cfpscr
> -128:cvr0
> -128:cvr1
> -128:cvr2
> -128:cvr3
> -128:cvr4
> -128:cvr5
> -128:cvr6
> -128:cvr7
> -128:cvr8
> -128:cvr9
> -128:cvr10
> -128:cvr11
> -128:cvr12
> -128:cvr13
> -128:cvr14
> -128:cvr15
> -128:cvr16
> -128:cvr17
> -128:cvr18
> -128:cvr19
> -128:cvr20
> -128:cvr21
> -128:cvr22
> -128:cvr23
> -128:cvr24
> -128:cvr25
> -128:cvr26
> -128:cvr27
> -128:cvr28
> -128:cvr29
> -128:cvr30
> -128:cvr31
> -32:cvscr
> -32:cvrsave
> -64:cvs0h
> -64:cvs1h
> -64:cvs2h
> -64:cvs3h
> -64:cvs4h
> -64:cvs5h
> -64:cvs6h
> -64:cvs7h
> -64:cvs8h
> -64:cvs9h
> -64:cvs10h
> -64:cvs11h
> -64:cvs12h
> -64:cvs13h
> -64:cvs14h
> -64:cvs15h
> -64:cvs16h
> -64:cvs17h
> -64:cvs18h
> -64:cvs19h
> -64:cvs20h
> -64:cvs21h
> -64:cvs22h
> -64:cvs23h
> -64:cvs24h
> -64:cvs25h
> -64:cvs26h
> -64:cvs27h
> -64:cvs28h
> -64:cvs29h
> -64:cvs30h
> -64:cvs31h
> -64:cppr
> -64:cdscr
> -64:ctar
> diff --git a/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat
> deleted file mode 100644
> index 0718d72d93..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat
> +++ /dev/null
> @@ -1,155 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa207-vsx32l.xml
> -name:powerpc_isa207_vsx32l
> -xmltarget:powerpc-isa207-vsx32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -64:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> -64:ppr
> -64:dscr
> -64:tar
> -64:bescr
> -64:ebbhr
> -64:ebbrr
> -64:mmcr0
> -64:mmcr2
> -64:siar
> -64:sdar
> -64:sier
> diff --git a/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
> deleted file mode 100644
> index 510c6c87da..0000000000
> --- a/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
> +++ /dev/null
> @@ -1,155 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-isa207-vsx64l.xml
> -name:powerpc_isa207_vsx64l
> -xmltarget:powerpc-isa207-vsx64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -64:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> -64:ppr
> -64:dscr
> -64:tar
> -64:bescr
> -64:ebbhr
> -64:ebbrr
> -64:mmcr0
> -64:mmcr2
> -64:siar
> -64:sdar
> -64:sier
> diff --git a/gdb/regformats/rs6000/powerpc-vsx32l.dat b/gdb/regformats/rs6000/powerpc-vsx32l.dat
> deleted file mode 100644
> index 6db3e38d5f..0000000000
> --- a/gdb/regformats/rs6000/powerpc-vsx32l.dat
> +++ /dev/null
> @@ -1,144 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-vsx32l.xml
> -name:powerpc_vsx32l
> -xmltarget:powerpc-vsx32l.xml
> -expedite:r1,pc
> -32:r0
> -32:r1
> -32:r2
> -32:r3
> -32:r4
> -32:r5
> -32:r6
> -32:r7
> -32:r8
> -32:r9
> -32:r10
> -32:r11
> -32:r12
> -32:r13
> -32:r14
> -32:r15
> -32:r16
> -32:r17
> -32:r18
> -32:r19
> -32:r20
> -32:r21
> -32:r22
> -32:r23
> -32:r24
> -32:r25
> -32:r26
> -32:r27
> -32:r28
> -32:r29
> -32:r30
> -32:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -32:pc
> -32:msr
> -32:cr
> -32:lr
> -32:ctr
> -32:xer
> -32:fpscr
> -32:orig_r3
> -32:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> diff --git a/gdb/regformats/rs6000/powerpc-vsx64l.dat b/gdb/regformats/rs6000/powerpc-vsx64l.dat
> deleted file mode 100644
> index bc0a45512c..0000000000
> --- a/gdb/regformats/rs6000/powerpc-vsx64l.dat
> +++ /dev/null
> @@ -1,144 +0,0 @@
> -# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
> -# Generated from: rs6000/powerpc-vsx64l.xml
> -name:powerpc_vsx64l
> -xmltarget:powerpc-vsx64l.xml
> -expedite:r1,pc
> -64:r0
> -64:r1
> -64:r2
> -64:r3
> -64:r4
> -64:r5
> -64:r6
> -64:r7
> -64:r8
> -64:r9
> -64:r10
> -64:r11
> -64:r12
> -64:r13
> -64:r14
> -64:r15
> -64:r16
> -64:r17
> -64:r18
> -64:r19
> -64:r20
> -64:r21
> -64:r22
> -64:r23
> -64:r24
> -64:r25
> -64:r26
> -64:r27
> -64:r28
> -64:r29
> -64:r30
> -64:r31
> -64:f0
> -64:f1
> -64:f2
> -64:f3
> -64:f4
> -64:f5
> -64:f6
> -64:f7
> -64:f8
> -64:f9
> -64:f10
> -64:f11
> -64:f12
> -64:f13
> -64:f14
> -64:f15
> -64:f16
> -64:f17
> -64:f18
> -64:f19
> -64:f20
> -64:f21
> -64:f22
> -64:f23
> -64:f24
> -64:f25
> -64:f26
> -64:f27
> -64:f28
> -64:f29
> -64:f30
> -64:f31
> -64:pc
> -64:msr
> -32:cr
> -64:lr
> -64:ctr
> -32:xer
> -32:fpscr
> -64:orig_r3
> -64:trap
> -128:vr0
> -128:vr1
> -128:vr2
> -128:vr3
> -128:vr4
> -128:vr5
> -128:vr6
> -128:vr7
> -128:vr8
> -128:vr9
> -128:vr10
> -128:vr11
> -128:vr12
> -128:vr13
> -128:vr14
> -128:vr15
> -128:vr16
> -128:vr17
> -128:vr18
> -128:vr19
> -128:vr20
> -128:vr21
> -128:vr22
> -128:vr23
> -128:vr24
> -128:vr25
> -128:vr26
> -128:vr27
> -128:vr28
> -128:vr29
> -128:vr30
> -128:vr31
> -32:vscr
> -32:vrsave
> -64:vs0h
> -64:vs1h
> -64:vs2h
> -64:vs3h
> -64:vs4h
> -64:vs5h
> -64:vs6h
> -64:vs7h
> -64:vs8h
> -64:vs9h
> -64:vs10h
> -64:vs11h
> -64:vs12h
> -64:vs13h
> -64:vs14h
> -64:vs15h
> -64:vs16h
> -64:vs17h
> -64:vs18h
> -64:vs19h
> -64:vs20h
> -64:vs21h
> -64:vs22h
> -64:vs23h
> -64:vs24h
> -64:vs25h
> -64:vs26h
> -64:vs27h
> -64:vs28h
> -64:vs29h
> -64:vs30h
> -64:vs31h
> diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c
> index 20a3a640f4..b6a80edbbb 100644
> --- a/gdb/target-descriptions.c
> +++ b/gdb/target-descriptions.c
> @@ -1698,7 +1698,8 @@ maint_print_c_tdesc_cmd (const char *args, int from_tty)
> || startswith (filename_after_features.c_str (), "tic6x-")
> || startswith (filename_after_features.c_str (), "aarch64")
> || startswith (filename_after_features.c_str (), "arm/")
> - || startswith (filename_after_features.c_str (), "arc/"))
> + || startswith (filename_after_features.c_str (), "arc/")
> + || startswith (filename_after_features.c_str (), "rs6000/"))
> {
> print_c_feature v (filename_after_features);
>
> diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
> index 9a027e44af..b76e40dce6 100644
> --- a/gdbserver/configure.srv
> +++ b/gdbserver/configure.srv
> @@ -27,8 +27,6 @@
> # Default hostio_last_error implementation
> srv_hostio_err_objs="hostio-errno.o"
>
> -ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-isa205-ppr-dscr-vsx32l-ipa.o powerpc-isa207-vsx32l-ipa.o powerpc-isa207-htm-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o powerpc-isa205-ppr-dscr-vsx64l-ipa.o powerpc-isa207-vsx64l-ipa.o powerpc-isa207-htm-vsx64l-ipa.o"
> -
> # Linux object files. This is so we don't have to repeat
> # these files over and over again.
> srv_linux_obj="linux-low.o nat/linux-osdata.o nat/linux-procfs.o nat/linux-ptrace.o nat/linux-waitpid.o nat/linux-personality.o nat/linux-namespaces.o fork-child.o nat/fork-inferior.o"
> @@ -205,43 +203,16 @@ case "${gdbserver_host}" in
> srv_linux_usrregs=yes
> srv_linux_thread_db=yes
> ;;
> - powerpc*-*-linux*) srv_regobj="powerpc-32l.o"
> - srv_regobj="${srv_regobj} powerpc-altivec32l.o"
> - srv_regobj="${srv_regobj} powerpc-vsx32l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-32l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-ppr-dscr-vsx32l.o"
> - srv_regobj="${srv_regobj} powerpc-isa207-vsx32l.o"
> - srv_regobj="${srv_regobj} powerpc-isa207-htm-vsx32l.o"
> - srv_regobj="${srv_regobj} powerpc-e500l.o"
> - srv_regobj="${srv_regobj} powerpc-64l.o"
> - srv_regobj="${srv_regobj} powerpc-altivec64l.o"
> - srv_regobj="${srv_regobj} powerpc-vsx64l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-64l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o"
> - srv_regobj="${srv_regobj} powerpc-isa205-ppr-dscr-vsx64l.o"
> - srv_regobj="${srv_regobj} powerpc-isa207-vsx64l.o"
> - srv_regobj="${srv_regobj} powerpc-isa207-htm-vsx64l.o"
> - srv_tgtobj="$srv_linux_obj linux-ppc-low.o"
> + powerpc*-*-linux*) srv_tgtobj="$srv_linux_obj linux-ppc-low.o"
> srv_tgtobj="${srv_tgtobj} nat/ppc-linux.o"
> srv_tgtobj="${srv_tgtobj} arch/ppc-linux-common.o"
> - srv_xmlfiles="rs6000/powerpc-32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-vsx32l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-htm-vsx32l.xml"
> + srv_tgtobj="${srv_tgtobj} linux-ppc-tdesc.o"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml"
> + srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-fpscr64.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-dscr.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-ppr.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-tar.xml"
> @@ -255,24 +226,16 @@ case "${gdbserver_host}" in
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-ppr.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-dscr.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-tar.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-vsx64l.xml"
> - srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-htm-vsx64l.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml"
> srv_xmlfiles="${srv_xmlfiles} rs6000/power64-htm-core.xml"
> srv_linux_usrregs=yes
> srv_linux_regsets=yes
> srv_linux_thread_db=yes
> - ipa_obj="${ipa_ppc_linux_regobj} linux-ppc-ipa.o"
> + ipa_obj="linux-ppc-ipa.o"
> + ipa_obj="${ipa_obj} linux-ppc-tdesc-ipa.o"
> + ipa_obj="${ipa_obj} arch/ppc-linux-common-ipa.o"
> ;;
> powerpc-*-lynxos*) srv_regobj="powerpc-32.o"
> srv_tgtobj="lynx-low.o lynx-ppc-low.o"
> diff --git a/gdbserver/linux-ppc-ipa.cc b/gdbserver/linux-ppc-ipa.cc
> index 42d668f7d3..6414b22829 100644
> --- a/gdbserver/linux-ppc-ipa.cc
> +++ b/gdbserver/linux-ppc-ipa.cc
> @@ -21,12 +21,12 @@
> #include "server.h"
> #include <sys/mman.h>
> #include "tracepoint.h"
> -#include "arch/ppc-linux-tdesc.h"
> -#include "linux-ppc-tdesc-init.h"
> #include <elf.h>
> #ifdef HAVE_GETAUXVAL
> #include <sys/auxv.h>
> #endif
> +#include "arch/ppc-linux-common.h"
> +#include "linux-ppc-tdesc.h"
>
> /* These macros define the position of registers in the buffer collected
> by the fast tracepoint jump pad. */
> @@ -174,86 +174,20 @@ alloc_jump_pad_buffer (size_t size)
> const struct target_desc *
> get_ipa_tdesc (int idx)
> {
> - switch (idx)
> + if (idx >= PPC_TDESC_LAST)
> {
> -#ifdef __powerpc64__
> - case PPC_TDESC_BASE:
> - return tdesc_powerpc_64l;
> - case PPC_TDESC_ALTIVEC:
> - return tdesc_powerpc_altivec64l;
> - case PPC_TDESC_VSX:
> - return tdesc_powerpc_vsx64l;
> - case PPC_TDESC_ISA205:
> - return tdesc_powerpc_isa205_64l;
> - case PPC_TDESC_ISA205_ALTIVEC:
> - return tdesc_powerpc_isa205_altivec64l;
> - case PPC_TDESC_ISA205_VSX:
> - return tdesc_powerpc_isa205_vsx64l;
> - case PPC_TDESC_ISA205_PPR_DSCR_VSX:
> - return tdesc_powerpc_isa205_ppr_dscr_vsx64l;
> - case PPC_TDESC_ISA207_VSX:
> - return tdesc_powerpc_isa207_vsx64l;
> - case PPC_TDESC_ISA207_HTM_VSX:
> - return tdesc_powerpc_isa207_htm_vsx64l;
> -#else
> - case PPC_TDESC_BASE:
> - return tdesc_powerpc_32l;
> - case PPC_TDESC_ALTIVEC:
> - return tdesc_powerpc_altivec32l;
> - case PPC_TDESC_VSX:
> - return tdesc_powerpc_vsx32l;
> - case PPC_TDESC_ISA205:
> - return tdesc_powerpc_isa205_32l;
> - case PPC_TDESC_ISA205_ALTIVEC:
> - return tdesc_powerpc_isa205_altivec32l;
> - case PPC_TDESC_ISA205_VSX:
> - return tdesc_powerpc_isa205_vsx32l;
> - case PPC_TDESC_ISA205_PPR_DSCR_VSX:
> - return tdesc_powerpc_isa205_ppr_dscr_vsx32l;
> - case PPC_TDESC_ISA207_VSX:
> - return tdesc_powerpc_isa207_vsx32l;
> - case PPC_TDESC_ISA207_HTM_VSX:
> - return tdesc_powerpc_isa207_htm_vsx32l;
> - case PPC_TDESC_E500:
> - return tdesc_powerpc_e500l;
> -#endif
> - default:
> internal_error (__FILE__, __LINE__,
> - "unknown ipa tdesc index: %d", idx);
> -#ifdef __powerpc64__
> - return tdesc_powerpc_64l;
> -#else
> - return tdesc_powerpc_32l;
> -#endif
> + "unknown ipa tdesc index: %d", idx);
> }
> +
> + return ppc_linux_read_description (idx_to_ppc_features(idx));
Whitespace before '(idx)'.
> }
>
> -
> /* Initialize ipa_tdesc and others. */
>
> void
> initialize_low_tracepoint (void)
> {
> -#ifdef __powerpc64__
> - init_registers_powerpc_64l ();
> - init_registers_powerpc_altivec64l ();
> - init_registers_powerpc_vsx64l ();
> - init_registers_powerpc_isa205_64l ();
> - init_registers_powerpc_isa205_altivec64l ();
> - init_registers_powerpc_isa205_vsx64l ();
> - init_registers_powerpc_isa205_ppr_dscr_vsx64l ();
> - init_registers_powerpc_isa207_vsx64l ();
> - init_registers_powerpc_isa207_htm_vsx64l ();
> -#else
> - init_registers_powerpc_32l ();
> - init_registers_powerpc_altivec32l ();
> - init_registers_powerpc_vsx32l ();
> - init_registers_powerpc_isa205_32l ();
> - init_registers_powerpc_isa205_altivec32l ();
> - init_registers_powerpc_isa205_vsx32l ();
> - init_registers_powerpc_isa205_ppr_dscr_vsx32l ();
> - init_registers_powerpc_isa207_vsx32l ();
> - init_registers_powerpc_isa207_htm_vsx32l ();
> - init_registers_powerpc_e500l ();
> -#endif
> + for (auto i = 0; i < PPC_TDESC_LAST; i++)
> + ppc_linux_read_description (idx_to_ppc_features(i));
> }
> diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc
> index 337d555aee..fb44531f70 100644
> --- a/gdbserver/linux-ppc-low.cc
> +++ b/gdbserver/linux-ppc-low.cc
> @@ -25,13 +25,12 @@
> #include <elf.h>
> #include <asm/ptrace.h>
>
> -#include "arch/ppc-linux-common.h"
> -#include "arch/ppc-linux-tdesc.h"
> +#include "linux-ppc-tdesc.h"
> #include "nat/ppc-linux.h"
> #include "nat/linux-ptrace.h"
> -#include "linux-ppc-tdesc-init.h"
> #include "ax.h"
> #include "tracepoint.h"
> +#include "arch/ppc-linux-common.h"
>
> #define PPC_FIELD(value, from, len) \
> (((value) >> (32 - (from) - (len))) & ((1 << (len)) - 1))
> @@ -885,56 +884,94 @@ ppc_target::low_arch_setup ()
>
> features.wordsize = ppc_linux_target_wordsize (tid);
>
> - if (features.wordsize == 4)
> - tdesc = tdesc_powerpc_32l;
> - else
> - tdesc = tdesc_powerpc_64l;
> -
> - current_process ()->tdesc = tdesc;
> + current_process ()->tdesc = ppc_linux_read_description (features);
>
> /* The value of current_process ()->tdesc needs to be set for this
> call. */
> ppc_hwcap = linux_get_hwcap (features.wordsize);
> ppc_hwcap2 = linux_get_hwcap2 (features.wordsize);
>
> - features.isa205 = ppc_linux_has_isa205 (ppc_hwcap);
> + features.fpscr64 = ppc_linux_has_fpscr64 (ppc_hwcap);
>
> if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
> features.vsx = true;
>
> + if (ppc_check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET))
> + features.ppr = true;
> +
> if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
> features.altivec = true;
>
> if ((ppc_hwcap2 & PPC_FEATURE2_DSCR)
> - && ppc_check_regset (tid, NT_PPC_DSCR, PPC_LINUX_SIZEOF_DSCRREGSET)
> - && ppc_check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET))
> + && ppc_check_regset (tid, NT_PPC_DSCR, PPC_LINUX_SIZEOF_DSCRREGSET))
> + features.dscr = true;
> +
> + if (ppc_hwcap2 & PPC_FEATURE2_ARCH_2_07)
> {
> - features.ppr_dscr = true;
> - if ((ppc_hwcap2 & PPC_FEATURE2_ARCH_2_07)
> - && (ppc_hwcap2 & PPC_FEATURE2_TAR)
> - && (ppc_hwcap2 & PPC_FEATURE2_EBB)
> - && ppc_check_regset (tid, NT_PPC_TAR,
> - PPC_LINUX_SIZEOF_TARREGSET)
> - && ppc_check_regset (tid, NT_PPC_EBB,
> - PPC_LINUX_SIZEOF_EBBREGSET)
> - && ppc_check_regset (tid, NT_PPC_PMU,
> - PPC_LINUX_SIZEOF_PMUREGSET))
> - {
> - features.isa207 = true;
> - if ((ppc_hwcap2 & PPC_FEATURE2_HTM)
> - && ppc_check_regset (tid, NT_PPC_TM_SPR,
> - PPC_LINUX_SIZEOF_TM_SPRREGSET))
> - features.htm = true;
> - }
> + if ((ppc_hwcap2 & PPC_FEATURE2_TAR)
> + && ppc_check_regset (tid, NT_PPC_TAR, PPC_LINUX_SIZEOF_TARREGSET))
> + features.tar = true;
> +
> + if ((ppc_hwcap2 & PPC_FEATURE2_EBB)
> + && ppc_check_regset (tid, NT_PPC_EBB, PPC_LINUX_SIZEOF_EBBREGSET))
> + features.ebb = true;
> +
> + if (ppc_check_regset (tid, NT_PPC_PMU, PPC_LINUX_SIZEOF_PMUREGSET))
> + features.pmu = true;
> }
>
> - tdesc = ppc_linux_match_description (features);
> + if (ppc_hwcap2 & PPC_FEATURE2_HTM)
> + {
> + if (ppc_check_regset (tid, NT_PPC_TM_CVMX,
> + PPC_LINUX_SIZEOF_CVMXREGSET))
> + features.htm.altivec = true;
> +
> + if (features.wordsize == 8)
> + {
> + if (ppc_check_regset (tid, NT_PPC_TM_CGPR,
> + PPC64_LINUX_SIZEOF_CGPRREGSET))
> + features.htm.core = true;
> + }
> + else if (features.wordsize == 4)
> + {
> + if (ppc_check_regset (tid, NT_PPC_TM_CGPR,
> + PPC32_LINUX_SIZEOF_CGPRREGSET))
> + features.htm.core = true;
> + }
> +
> + if (ppc_check_regset (tid, NT_PPC_TM_CDSCR,
> + PPC_LINUX_SIZEOF_CDSCRREGSET))
> + features.htm.dscr = true;
> +
> + if (ppc_check_regset (tid, NT_PPC_TM_CFPR,
> + PPC_LINUX_SIZEOF_CFPRREGSET))
> + features.htm.fpu = true;
> +
> + if (ppc_check_regset (tid, NT_PPC_TM_CPPR,
> + PPC_LINUX_SIZEOF_CPPRREGSET))
> + features.htm.ppr = true;
> +
> + if (ppc_check_regset (tid, NT_PPC_TM_SPR,
> + PPC_LINUX_SIZEOF_TM_SPRREGSET))
> + features.htm.spr = true;
> +
> + if (ppc_check_regset (tid, NT_PPC_TM_CTAR,
> + PPC_LINUX_SIZEOF_CTARREGSET))
> + features.htm.tar = true;
> +
> + if (ppc_check_regset (tid, NT_PPC_TM_CVSX,
> + PPC_LINUX_SIZEOF_CVSXREGSET))
> + features.htm.vsx = true;
> + }
> +
> + tdesc = ppc_linux_read_description (features);
>
> /* On 32-bit machines, check for SPE registers.
> Set the low target's regmap field as appropriately. */
> #ifndef __powerpc64__
> if (ppc_hwcap & PPC_FEATURE_HAS_SPE)
> - tdesc = tdesc_powerpc_e500l;
> + features.spe = true;
> + tdesc = ppc_linux_read_target_description (features);
>
> if (!ppc_regmap_adjusted)
> {
> @@ -973,59 +1010,59 @@ ppc_target::low_arch_setup ()
> switch (regset->nt_type)
> {
> case NT_PPC_PPR:
> - regset->size = (features.ppr_dscr ?
> + regset->size = (features.ppr ?
> PPC_LINUX_SIZEOF_PPRREGSET : 0);
> break;
> case NT_PPC_DSCR:
> - regset->size = (features.ppr_dscr ?
> + regset->size = (features.dscr ?
> PPC_LINUX_SIZEOF_DSCRREGSET : 0);
> break;
> case NT_PPC_TAR:
> - regset->size = (features.isa207 ?
> + regset->size = (features.tar ?
> PPC_LINUX_SIZEOF_TARREGSET : 0);
> break;
> case NT_PPC_EBB:
> - regset->size = (features.isa207 ?
> + regset->size = (features.ebb ?
> PPC_LINUX_SIZEOF_EBBREGSET : 0);
> break;
> case NT_PPC_PMU:
> - regset->size = (features.isa207 ?
> + regset->size = (features.pmu ?
> PPC_LINUX_SIZEOF_PMUREGSET : 0);
> break;
> case NT_PPC_TM_SPR:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.spr ?
> PPC_LINUX_SIZEOF_TM_SPRREGSET : 0);
> break;
> case NT_PPC_TM_CGPR:
> if (features.wordsize == 4)
> - regset->size = (features.htm ?
> + regset->size = (features.htm.core ?
> PPC32_LINUX_SIZEOF_CGPRREGSET : 0);
> else
> - regset->size = (features.htm ?
> + regset->size = (features.htm.core ?
> PPC64_LINUX_SIZEOF_CGPRREGSET : 0);
> break;
> case NT_PPC_TM_CFPR:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.fpu ?
> PPC_LINUX_SIZEOF_CFPRREGSET : 0);
> break;
> case NT_PPC_TM_CVMX:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.altivec ?
> PPC_LINUX_SIZEOF_CVMXREGSET : 0);
> break;
> case NT_PPC_TM_CVSX:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.vsx ?
> PPC_LINUX_SIZEOF_CVSXREGSET : 0);
> break;
> case NT_PPC_TM_CPPR:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.ppr ?
> PPC_LINUX_SIZEOF_CPPRREGSET : 0);
> break;
> case NT_PPC_TM_CDSCR:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.dscr ?
> PPC_LINUX_SIZEOF_CDSCRREGSET : 0);
> break;
> case NT_PPC_TM_CTAR:
> - regset->size = (features.htm ?
> + regset->size = (features.htm.tar ?
> PPC_LINUX_SIZEOF_CTARREGSET : 0);
> break;
> default:
> @@ -3402,49 +3439,7 @@ ppc_target::get_ipa_tdesc_idx ()
> struct regcache *regcache = get_thread_regcache (current_thread, 0);
> const struct target_desc *tdesc = regcache->tdesc;
>
> -#ifdef __powerpc64__
> - if (tdesc == tdesc_powerpc_64l)
> - return PPC_TDESC_BASE;
> - if (tdesc == tdesc_powerpc_altivec64l)
> - return PPC_TDESC_ALTIVEC;
> - if (tdesc == tdesc_powerpc_vsx64l)
> - return PPC_TDESC_VSX;
> - if (tdesc == tdesc_powerpc_isa205_64l)
> - return PPC_TDESC_ISA205;
> - if (tdesc == tdesc_powerpc_isa205_altivec64l)
> - return PPC_TDESC_ISA205_ALTIVEC;
> - if (tdesc == tdesc_powerpc_isa205_vsx64l)
> - return PPC_TDESC_ISA205_VSX;
> - if (tdesc == tdesc_powerpc_isa205_ppr_dscr_vsx64l)
> - return PPC_TDESC_ISA205_PPR_DSCR_VSX;
> - if (tdesc == tdesc_powerpc_isa207_vsx64l)
> - return PPC_TDESC_ISA207_VSX;
> - if (tdesc == tdesc_powerpc_isa207_htm_vsx64l)
> - return PPC_TDESC_ISA207_HTM_VSX;
> -#endif
> -
> - if (tdesc == tdesc_powerpc_32l)
> - return PPC_TDESC_BASE;
> - if (tdesc == tdesc_powerpc_altivec32l)
> - return PPC_TDESC_ALTIVEC;
> - if (tdesc == tdesc_powerpc_vsx32l)
> - return PPC_TDESC_VSX;
> - if (tdesc == tdesc_powerpc_isa205_32l)
> - return PPC_TDESC_ISA205;
> - if (tdesc == tdesc_powerpc_isa205_altivec32l)
> - return PPC_TDESC_ISA205_ALTIVEC;
> - if (tdesc == tdesc_powerpc_isa205_vsx32l)
> - return PPC_TDESC_ISA205_VSX;
> - if (tdesc == tdesc_powerpc_isa205_ppr_dscr_vsx32l)
> - return PPC_TDESC_ISA205_PPR_DSCR_VSX;
> - if (tdesc == tdesc_powerpc_isa207_vsx32l)
> - return PPC_TDESC_ISA207_VSX;
> - if (tdesc == tdesc_powerpc_isa207_htm_vsx32l)
> - return PPC_TDESC_ISA207_HTM_VSX;
> - if (tdesc == tdesc_powerpc_e500l)
> - return PPC_TDESC_E500;
> -
> - return 0;
> + return ppc_get_ipa_tdesc_idx (tdesc);
> }
>
> /* The linux target ops object. */
> @@ -3454,29 +3449,5 @@ linux_process_target *the_linux_target = &the_ppc_target;
> void
> initialize_low_arch (void)
> {
> - /* Initialize the Linux target descriptions. */
> -
> - init_registers_powerpc_32l ();
> - init_registers_powerpc_altivec32l ();
> - init_registers_powerpc_vsx32l ();
> - init_registers_powerpc_isa205_32l ();
> - init_registers_powerpc_isa205_altivec32l ();
> - init_registers_powerpc_isa205_vsx32l ();
> - init_registers_powerpc_isa205_ppr_dscr_vsx32l ();
> - init_registers_powerpc_isa207_vsx32l ();
> - init_registers_powerpc_isa207_htm_vsx32l ();
> - init_registers_powerpc_e500l ();
> -#if __powerpc64__
> - init_registers_powerpc_64l ();
> - init_registers_powerpc_altivec64l ();
> - init_registers_powerpc_vsx64l ();
> - init_registers_powerpc_isa205_64l ();
> - init_registers_powerpc_isa205_altivec64l ();
> - init_registers_powerpc_isa205_vsx64l ();
> - init_registers_powerpc_isa205_ppr_dscr_vsx64l ();
> - init_registers_powerpc_isa207_vsx64l ();
> - init_registers_powerpc_isa207_htm_vsx64l ();
> -#endif
> -
> initialize_regsets_info (&ppc_regsets_info);
> }
> diff --git a/gdbserver/linux-ppc-tdesc-init.h b/gdbserver/linux-ppc-tdesc-init.h
> deleted file mode 100644
> index 3afd78baee..0000000000
> --- a/gdbserver/linux-ppc-tdesc-init.h
> +++ /dev/null
> @@ -1,106 +0,0 @@
> -/* Low level support for ppc, shared between gdbserver and IPA.
> -
> - Copyright (C) 2016-2020 Free Software Foundation, Inc.
> -
> - This file is part of GDB.
> -
> - This program is free software; you can redistribute it and/or modify
> - it under the terms of the GNU General Public License as published by
> - the Free Software Foundation; either version 3 of the License, or
> - (at your option) any later version.
> -
> - This program is distributed in the hope that it will be useful,
> - but WITHOUT ANY WARRANTY; without even the implied warranty of
> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - GNU General Public License for more details.
> -
> - You should have received a copy of the GNU General Public License
> - along with this program. If not, see <http://www.gnu.org/licenses/>. */
> -
> -#ifndef GDBSERVER_LINUX_PPC_TDESC_INIT_H
> -#define GDBSERVER_LINUX_PPC_TDESC_INIT_H
> -
> -/* Note: since IPA obviously knows what ABI it's running on (32 vs 64),
> - it's sufficient to pass only the register set here. This, together with
> - the ABI known at IPA compile time, maps to a tdesc. */
> -
> -enum ppc_linux_tdesc {
> - PPC_TDESC_BASE,
> - PPC_TDESC_ALTIVEC,
> - PPC_TDESC_CELL, /* No longer used, but kept to avoid ABI changes. */
> - PPC_TDESC_VSX,
> - PPC_TDESC_ISA205,
> - PPC_TDESC_ISA205_ALTIVEC,
> - PPC_TDESC_ISA205_VSX,
> - PPC_TDESC_ISA205_PPR_DSCR_VSX,
> - PPC_TDESC_ISA207_VSX,
> - PPC_TDESC_ISA207_HTM_VSX,
> - PPC_TDESC_E500,
> -};
> -
> -#if !defined __powerpc64__ || !defined IN_PROCESS_AGENT
> -
> -/* Defined in auto-generated file powerpc-32l.c. */
> -void init_registers_powerpc_32l (void);
> -
> -/* Defined in auto-generated file powerpc-altivec32l.c. */
> -void init_registers_powerpc_altivec32l (void);
> -
> -/* Defined in auto-generated file powerpc-vsx32l.c. */
> -void init_registers_powerpc_vsx32l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-32l.c. */
> -void init_registers_powerpc_isa205_32l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-altivec32l.c. */
> -void init_registers_powerpc_isa205_altivec32l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-vsx32l.c. */
> -void init_registers_powerpc_isa205_vsx32l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-ppr-dscr-vsx32l.c. */
> -void init_registers_powerpc_isa205_ppr_dscr_vsx32l (void);
> -
> -/* Defined in auto-generated file powerpc-isa207-vsx32l.c. */
> -void init_registers_powerpc_isa207_vsx32l (void);
> -
> -/* Defined in auto-generated file powerpc-isa207-htm-vsx32l.c. */
> -void init_registers_powerpc_isa207_htm_vsx32l (void);
> -
> -/* Defined in auto-generated file powerpc-e500l.c. */
> -void init_registers_powerpc_e500l (void);
> -
> -#endif
> -
> -#if defined __powerpc64__
> -
> -/* Defined in auto-generated file powerpc-64l.c. */
> -void init_registers_powerpc_64l (void);
> -
> -/* Defined in auto-generated file powerpc-altivec64l.c. */
> -void init_registers_powerpc_altivec64l (void);
> -
> -/* Defined in auto-generated file powerpc-vsx64l.c. */
> -void init_registers_powerpc_vsx64l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-64l.c. */
> -void init_registers_powerpc_isa205_64l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-altivec64l.c. */
> -void init_registers_powerpc_isa205_altivec64l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-vsx64l.c. */
> -void init_registers_powerpc_isa205_vsx64l (void);
> -
> -/* Defined in auto-generated file powerpc-isa205-ppr-dscr-vsx64l.c. */
> -void init_registers_powerpc_isa205_ppr_dscr_vsx64l (void);
> -
> -/* Defined in auto-generated file powerpc-isa207-vsx64l.c. */
> -void init_registers_powerpc_isa207_vsx64l (void);
> -
> -/* Defined in auto-generated file powerpc-isa207-htm-vsx64l.c. */
> -void init_registers_powerpc_isa207_htm_vsx64l (void);
> -
> -#endif
> -
> -#endif /* GDBSERVER_LINUX_PPC_TDESC_INIT_H */
> diff --git a/gdbserver/linux-ppc-tdesc.cc b/gdbserver/linux-ppc-tdesc.cc
> new file mode 100644
> index 0000000000..610d6d111d
> --- /dev/null
> +++ b/gdbserver/linux-ppc-tdesc.cc
> @@ -0,0 +1,156 @@
> +/* GNU/Linux/Power specific target description, for the remote server
> + for GDB.
> + Copyright (C) 2020 Free Software Foundation, Inc.
> + This file is part of GDB.
> + This program is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 3 of the License, or
> + (at your option) any later version.
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + GNU General Public License for more details.
> + You should have received a copy of the GNU General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>. */
> +
> +#include "server.h"
> +
> +#include "arch/ppc-linux-common.h"
> +#include "linux-ppc-tdesc.h"
> +
> +#include "tdesc.h"
> +
> +/* All ppc target descriptors avaliable. */
> +static struct target_desc *ppc_tdescs[PPC_TDESC_LAST] = { };
> +
> +/* Supported ISA combinations. For now ISA only collects core registers:
> + GPR's. This is here to match with registers collected by linux (low). */
> +static enum ppc_linux_tdesc
> +get_ppc_tdesc_idx (const struct ppc_linux_features features)
> +{
> + enum ppc_linux_tdesc idx = PPC_TDESC_LAST;
> +
> + if (features.wordsize == 4 || features.wordsize == 8)
> + idx = PPC_TDESC_CORE;
> + if (features.altivec)
> + idx = PPC_TDESC_ALTIVEC;
> + if (features.vsx)
> + idx = PPC_TDESC_VSX;
> + if (features.fpscr64)
> + {
> + idx = PPC_TDESC_FPSCR64;
> + if (features.vsx)
> + idx = PPC_TDESC_FPSCR64_VSX;
> + if (features.ppr && features.dscr)
> + idx = PPC_TDESC_FPSCR64_PPR_DSCR_VSX;
> + }
> + if (features.tar && features.pmu && features.vsx)
> + {
> + idx = PPC_TDESC_ISA207_VSX;
> + if (features.htm.core)
> + idx = PPC_TDESC_ISA207_HTM_VSX;
> + }
> + if (features.spe)
> + idx = PPC_TDESC_E500;
> +
> + return idx;
> +}
> +
> +/* Convert index to ppc cpu features. */
> +struct ppc_linux_features idx_to_ppc_features (int idx)
> +{
> + struct ppc_linux_features features;
> +
> +#if __powerpc64__
> + features.wordsize = 8;
> +#else
> + features.wordsize = 4;
> +#endif
> +
> + switch (idx)
> + {
> + default:
> + case PPC_TDESC_CORE:
> + break;
> + case PPC_TDESC_ALTIVEC:
> + features.altivec = true;
> + break;
> + case PPC_TDESC_VSX:
> + features.altivec = true;
> + features.vsx = true;
> + break;
> + case PPC_TDESC_FPSCR64:
> + features.fpscr64 = true;
> + break;
> + case PPC_TDESC_FPSCR64_VSX:
> + features.fpscr64 = true;
> + features.altivec = true;
> + features.vsx = true;
> + break;
> + case PPC_TDESC_FPSCR64_PPR_DSCR_VSX:
> + features.fpscr64 = true;
> + features.altivec = true;
> + features.vsx = true;
> + features.ppr = true;
> + features.dscr = true;
> + break;
> + case PPC_TDESC_ISA207_VSX:
> + features.fpscr64 = true;
> + features.altivec = true;
> + features.vsx = true;
> + features.ppr = true;
> + features.dscr = true;
> + features.tar = true;
> + features.pmu = true;
> + break;
> + case PPC_TDESC_ISA207_HTM_VSX:
> + features.fpscr64 = true;
> + features.altivec = true;
> + features.vsx = true;
> + features.ppr = true;
> + features.dscr = true;
> + features.tar = true;
> + features.pmu = true;
> + features.htm.core = true;
> + break;
> + case PPC_TDESC_E500:
> + features.spe = true;
> + break;
> + }
> +
> + return features;
> +}
> +
> +#ifndef IN_PROCESS_AGENT
> +int ppc_get_ipa_tdesc_idx (const struct target_desc *tdesc)
> +{
> + for (int i = 0; i < PPC_TDESC_LAST; i++)
> + {
> + if (tdesc == ppc_tdescs[i])
> + return i;
> + }
> + return PPC_TDESC_CORE;
> +}
> +#endif
> +
> +/* Create the Power target description. */
> +const target_desc *
> +ppc_linux_read_description (struct ppc_linux_features features)
> +{
> + enum ppc_linux_tdesc idx = get_ppc_tdesc_idx(features);
Whitespace before '(features)'.
> +
> + if (idx == PPC_TDESC_LAST)
> + return NULL;
> +
> + struct target_desc **tdesc = NULL;
> + tdesc = &ppc_tdescs[idx];
> +
> + if (*tdesc == NULL)
> + {
> + *tdesc = ppc_linux_create_target_description (features);
> +
> + static const char* expedite_regs[] = { "r1", "pc" };
> + init_target_desc (*tdesc, expedite_regs);
> + }
> + return *tdesc;
It feels strange to me to have the target description caching outside
of the arch/ files. From what I can tell (please correct me if I'm
wrong), neither of the two previous calls to
ppc_linux_create_target_description in the gdb/ tree had caching, and
this is probably a bug.
If you look at the arc/riscv.c file you'll see we do the caching
within that file, that feels like a better model (though riscv doesn't
cache for gdbserver which is probably should).
Thanks,
Andrew
> +}
> diff --git a/gdbserver/linux-ppc-tdesc.h b/gdbserver/linux-ppc-tdesc.h
> new file mode 100644
> index 0000000000..643e030d56
> --- /dev/null
> +++ b/gdbserver/linux-ppc-tdesc.h
> @@ -0,0 +1,46 @@
> +/* Low level support for Power, shared between gdbserver and IPA.
> + Copyright (C) 2020 Free Software Foundation, Inc.
> + This file is part of GDB.
> + This program is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 3 of the License, or
> + (at your option) any later version.
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + GNU General Public License for more details.
> + You should have received a copy of the GNU General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>. */
> +
> +#ifndef GDBSERVER_LINUX_PPC_TDESC_H
> +#define GDBSERVER_LINUX_PPC_TDESC_H
> +
> +/* IPA knows what ABI is running if is a ppc32 or ppc64. So we can
> + just indicate the register set which maps to a tdesc. IPA only
> + collects the core registers (gpr) for ppc for now but we need to
> + map the register sets that we may have avaliable in linux-low. */
> +enum ppc_linux_tdesc
> +{
> + PPC_TDESC_CORE = 0,
> + PPC_TDESC_ALTIVEC = 1,
> + PPC_TDESC_VSX = 2,
> + PPC_TDESC_FPSCR64 = 3,
> + PPC_TDESC_FPSCR64_VSX = 4,
> + PPC_TDESC_FPSCR64_PPR_DSCR_VSX = 5,
> + PPC_TDESC_ISA207_VSX = 6,
> + PPC_TDESC_ISA207_HTM_VSX = 7,
> + PPC_TDESC_E500 = 8,
> + PPC_TDESC_LAST = 9,
> +};
> +
> +#if !defined IN_PROCESS_AGENT
> +int ppc_get_ipa_tdesc_idx (const struct target_desc *tdesc);
> +#endif
> +
> +const target_desc *
> +ppc_linux_read_description (struct ppc_linux_features features);
> +
> +struct ppc_linux_features
> +idx_to_ppc_features (int idx);
> +
> +#endif /* GDBSERVER_LINUX_PPC_TDESC_H */
> --
> 2.17.1
>
More information about the Gdb-patches
mailing list