aboutsummaryrefslogtreecommitdiff
path: root/gdb/features/arm
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2019-06-20 08:38:18 +0100
committerAlan Hayward <alan.hayward@arm.com>2019-07-10 14:20:49 +0100
commit89abbcc26d891425678b8b463bc1fa81273fb54c (patch)
tree129fb2faf4d44ec2315992cdbb42fba107176107 /gdb/features/arm
parentb863685d70199489b3fe27abedfb1eb6d1452b7d (diff)
downloadgdb-89abbcc26d891425678b8b463bc1fa81273fb54c.zip
gdb-89abbcc26d891425678b8b463bc1fa81273fb54c.tar.gz
gdb-89abbcc26d891425678b8b463bc1fa81273fb54c.tar.bz2
Arm: Create feature files for Arm target descriptions
Add Arm to the list of feature target description targets and generate the relevant C files. Add arm-m-profile-with-fpa.xml as the feature version of the exisiting arm-with-m-fpa-layout.xml. Add extra comments to the Makefile for readability. New files are not yet used. gdb/ChangeLog: * features/Makefile: Use feature target descriptions for Arm. * features/arm/arm-core.c: Generate new file. * features/arm/arm-fpa.c: Likewise. * features/arm/arm-m-profile-with-fpa.xml: Likewise. * features/arm/arm-m-profile.c: Likewise. * features/arm/arm-vfpv2.c: Likewise. * features/arm/arm-vfpv3.c: Likewise. * features/arm/xscale-iwmmxt.c: Likewise. * target-descriptions.c (maint_print_c_tdesc_cmd): Add Arm.
Diffstat (limited to 'gdb/features/arm')
-rw-r--r--gdb/features/arm/arm-core.c31
-rw-r--r--gdb/features/arm/arm-fpa.c23
-rw-r--r--gdb/features/arm/arm-m-profile-with-fpa.c39
-rw-r--r--gdb/features/arm/arm-m-profile-with-fpa.xml39
-rw-r--r--gdb/features/arm/arm-m-profile.c31
-rw-r--r--gdb/features/arm/arm-vfpv2.c30
-rw-r--r--gdb/features/arm/arm-vfpv3.c46
-rw-r--r--gdb/features/arm/xscale-iwmmxt.c57
8 files changed, 296 insertions, 0 deletions
diff --git a/gdb/features/arm/arm-core.c b/gdb/features/arm/arm-core.c
new file mode 100644
index 0000000..e401411
--- /dev/null
+++ b/gdb/features/arm/arm-core.c
@@ -0,0 +1,31 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-core.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_core (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.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, "sp", regnum++, 1, NULL, 32, "data_ptr");
+ tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 32, "code_ptr");
+ regnum = 25;
+ tdesc_create_reg (feature, "cpsr", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/arm/arm-fpa.c b/gdb/features/arm/arm-fpa.c
new file mode 100644
index 0000000..65a49f5
--- /dev/null
+++ b/gdb/features/arm/arm-fpa.c
@@ -0,0 +1,23 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-fpa.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_fpa (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.fpa");
+ regnum = 16;
+ tdesc_create_reg (feature, "f0", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f1", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f2", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f3", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f4", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f5", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f6", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "f7", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "fps", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/arm/arm-m-profile-with-fpa.c b/gdb/features/arm/arm-m-profile-with-fpa.c
new file mode 100644
index 0000000..2b7c785
--- /dev/null
+++ b/gdb/features/arm/arm-m-profile-with-fpa.c
@@ -0,0 +1,39 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-m-profile-with-fpa.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_m_profile_with_fpa (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+ tdesc_create_reg (feature, "r0", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r1", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r2", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r3", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r4", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r5", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r6", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r7", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r8", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r9", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r10", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r11", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r12", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sp", regnum++, 1, NULL, 32, "data_ptr");
+ tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 32, "code_ptr");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 96, "arm_fpa_ext");
+ tdesc_create_reg (feature, "", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "xpsr", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/arm/arm-m-profile-with-fpa.xml b/gdb/features/arm/arm-m-profile-with-fpa.xml
new file mode 100644
index 0000000..91e183c
--- /dev/null
+++ b/gdb/features/arm/arm-m-profile-with-fpa.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2019 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.m-profile">
+ <reg name="r0" bitsize="32"/>
+ <reg name="r1" bitsize="32"/>
+ <reg name="r2" bitsize="32"/>
+ <reg name="r3" bitsize="32"/>
+ <reg name="r4" bitsize="32"/>
+ <reg name="r5" bitsize="32"/>
+ <reg name="r6" bitsize="32"/>
+ <reg name="r7" bitsize="32"/>
+ <reg name="r8" bitsize="32"/>
+ <reg name="r9" bitsize="32"/>
+ <reg name="r10" bitsize="32"/>
+ <reg name="r11" bitsize="32"/>
+ <reg name="r12" bitsize="32"/>
+ <reg name="sp" bitsize="32" type="data_ptr"/>
+ <reg name="lr" bitsize="32"/>
+ <reg name="pc" bitsize="32" type="code_ptr"/>
+
+ <!-- Slack for unused FPA registers (f0-f7 + fps). -->
+ <reg name="" bitsize="96" type="arm_fpa_ext" regnum="16"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="" bitsize="32"/>
+
+ <reg name="xpsr" bitsize="32" regnum="25"/>
+</feature>
diff --git a/gdb/features/arm/arm-m-profile.c b/gdb/features/arm/arm-m-profile.c
new file mode 100644
index 0000000..027f3c1
--- /dev/null
+++ b/gdb/features/arm/arm-m-profile.c
@@ -0,0 +1,31 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-m-profile.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_m_profile (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+ tdesc_create_reg (feature, "r0", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r1", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r2", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r3", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r4", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r5", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r6", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r7", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r8", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r9", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r10", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r11", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "r12", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sp", regnum++, 1, NULL, 32, "data_ptr");
+ tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 32, "code_ptr");
+ regnum = 25;
+ tdesc_create_reg (feature, "xpsr", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/arm/arm-vfpv2.c b/gdb/features/arm/arm-vfpv2.c
new file mode 100644
index 0000000..d6f8e79
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv2.c
@@ -0,0 +1,30 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-vfpv2.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_vfpv2 (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+ tdesc_create_reg (feature, "d0", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d1", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d2", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d3", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d4", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d5", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d6", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d7", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d8", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d9", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d10", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d11", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d12", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d13", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d14", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d15", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/arm/arm-vfpv3.c b/gdb/features/arm/arm-vfpv3.c
new file mode 100644
index 0000000..b5ef4ba
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv3.c
@@ -0,0 +1,46 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-vfpv3.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_vfpv3 (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+ tdesc_create_reg (feature, "d0", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d1", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d2", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d3", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d4", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d5", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d6", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d7", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d8", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d9", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d10", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d11", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d12", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d13", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d14", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d15", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d16", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d17", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d18", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d19", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d20", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d21", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d22", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d23", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d24", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d25", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d26", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d27", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d28", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d29", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d30", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d31", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/arm/xscale-iwmmxt.c b/gdb/features/arm/xscale-iwmmxt.c
new file mode 100644
index 0000000..797fb91
--- /dev/null
+++ b/gdb/features/arm/xscale-iwmmxt.c
@@ -0,0 +1,57 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: xscale-iwmmxt.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_xscale_iwmmxt (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.xscale.iwmmxt");
+ tdesc_type *element_type;
+ element_type = tdesc_named_type (feature, "uint8");
+ tdesc_create_vector (feature, "iwmmxt_v8u8", element_type, 8);
+
+ element_type = tdesc_named_type (feature, "uint16");
+ tdesc_create_vector (feature, "iwmmxt_v4u16", element_type, 4);
+
+ element_type = tdesc_named_type (feature, "uint32");
+ tdesc_create_vector (feature, "iwmmxt_v2u32", element_type, 2);
+
+ tdesc_type_with_fields *type_with_fields;
+ type_with_fields = tdesc_create_union (feature, "iwmmxt_vec64i");
+ tdesc_type *field_type;
+ field_type = tdesc_named_type (feature, "iwmmxt_v8u8");
+ tdesc_add_field (type_with_fields, "u8", field_type);
+ field_type = tdesc_named_type (feature, "iwmmxt_v4u16");
+ tdesc_add_field (type_with_fields, "u16", field_type);
+ field_type = tdesc_named_type (feature, "iwmmxt_v2u32");
+ tdesc_add_field (type_with_fields, "u32", field_type);
+ field_type = tdesc_named_type (feature, "uint64");
+ tdesc_add_field (type_with_fields, "u64", field_type);
+
+ tdesc_create_reg (feature, "wR0", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR1", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR2", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR3", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR4", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR5", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR6", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR7", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR8", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR9", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR10", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR11", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR12", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR13", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR14", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wR15", regnum++, 1, NULL, 64, "iwmmxt_vec64i");
+ tdesc_create_reg (feature, "wCSSF", regnum++, 1, "vector", 32, "int");
+ tdesc_create_reg (feature, "wCASF", regnum++, 1, "vector", 32, "int");
+ tdesc_create_reg (feature, "wCGR0", regnum++, 1, "vector", 32, "int");
+ tdesc_create_reg (feature, "wCGR1", regnum++, 1, "vector", 32, "int");
+ tdesc_create_reg (feature, "wCGR2", regnum++, 1, "vector", 32, "int");
+ tdesc_create_reg (feature, "wCGR3", regnum++, 1, "vector", 32, "int");
+ return regnum;
+}