1 /* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
2 Original: aarch64-fpu.xml */
4 #include "common/tdesc.h"
7 create_feature_aarch64_fpu (struct target_desc
*result
, long regnum
)
9 struct tdesc_feature
*feature
;
11 feature
= tdesc_create_feature (result
, "org.gnu.gdb.aarch64.fpu");
12 tdesc_type
*element_type
;
13 element_type
= tdesc_named_type (feature
, "ieee_double");
14 tdesc_create_vector (feature
, "v2d", element_type
, 2);
16 element_type
= tdesc_named_type (feature
, "uint64");
17 tdesc_create_vector (feature
, "v2u", element_type
, 2);
19 element_type
= tdesc_named_type (feature
, "int64");
20 tdesc_create_vector (feature
, "v2i", element_type
, 2);
22 element_type
= tdesc_named_type (feature
, "ieee_single");
23 tdesc_create_vector (feature
, "v4f", element_type
, 4);
25 element_type
= tdesc_named_type (feature
, "uint32");
26 tdesc_create_vector (feature
, "v4u", element_type
, 4);
28 element_type
= tdesc_named_type (feature
, "int32");
29 tdesc_create_vector (feature
, "v4i", element_type
, 4);
31 element_type
= tdesc_named_type (feature
, "ieee_half");
32 tdesc_create_vector (feature
, "v8f", element_type
, 8);
34 element_type
= tdesc_named_type (feature
, "uint16");
35 tdesc_create_vector (feature
, "v8u", element_type
, 8);
37 element_type
= tdesc_named_type (feature
, "int16");
38 tdesc_create_vector (feature
, "v8i", element_type
, 8);
40 element_type
= tdesc_named_type (feature
, "uint8");
41 tdesc_create_vector (feature
, "v16u", element_type
, 16);
43 element_type
= tdesc_named_type (feature
, "int8");
44 tdesc_create_vector (feature
, "v16i", element_type
, 16);
46 element_type
= tdesc_named_type (feature
, "uint128");
47 tdesc_create_vector (feature
, "v1u", element_type
, 1);
49 element_type
= tdesc_named_type (feature
, "int128");
50 tdesc_create_vector (feature
, "v1i", element_type
, 1);
52 tdesc_type_with_fields
*type_with_fields
;
53 type_with_fields
= tdesc_create_union (feature
, "vnd");
54 tdesc_type
*field_type
;
55 field_type
= tdesc_named_type (feature
, "v2d");
56 tdesc_add_field (type_with_fields
, "f", field_type
);
57 field_type
= tdesc_named_type (feature
, "v2u");
58 tdesc_add_field (type_with_fields
, "u", field_type
);
59 field_type
= tdesc_named_type (feature
, "v2i");
60 tdesc_add_field (type_with_fields
, "s", field_type
);
62 type_with_fields
= tdesc_create_union (feature
, "vns");
63 field_type
= tdesc_named_type (feature
, "v4f");
64 tdesc_add_field (type_with_fields
, "f", field_type
);
65 field_type
= tdesc_named_type (feature
, "v4u");
66 tdesc_add_field (type_with_fields
, "u", field_type
);
67 field_type
= tdesc_named_type (feature
, "v4i");
68 tdesc_add_field (type_with_fields
, "s", field_type
);
70 type_with_fields
= tdesc_create_union (feature
, "vnh");
71 field_type
= tdesc_named_type (feature
, "v8f");
72 tdesc_add_field (type_with_fields
, "f", field_type
);
73 field_type
= tdesc_named_type (feature
, "v8u");
74 tdesc_add_field (type_with_fields
, "u", field_type
);
75 field_type
= tdesc_named_type (feature
, "v8i");
76 tdesc_add_field (type_with_fields
, "s", field_type
);
78 type_with_fields
= tdesc_create_union (feature
, "vnb");
79 field_type
= tdesc_named_type (feature
, "v16u");
80 tdesc_add_field (type_with_fields
, "u", field_type
);
81 field_type
= tdesc_named_type (feature
, "v16i");
82 tdesc_add_field (type_with_fields
, "s", field_type
);
84 type_with_fields
= tdesc_create_union (feature
, "vnq");
85 field_type
= tdesc_named_type (feature
, "v1u");
86 tdesc_add_field (type_with_fields
, "u", field_type
);
87 field_type
= tdesc_named_type (feature
, "v1i");
88 tdesc_add_field (type_with_fields
, "s", field_type
);
90 type_with_fields
= tdesc_create_union (feature
, "aarch64v");
91 field_type
= tdesc_named_type (feature
, "vnd");
92 tdesc_add_field (type_with_fields
, "d", field_type
);
93 field_type
= tdesc_named_type (feature
, "vns");
94 tdesc_add_field (type_with_fields
, "s", field_type
);
95 field_type
= tdesc_named_type (feature
, "vnh");
96 tdesc_add_field (type_with_fields
, "h", field_type
);
97 field_type
= tdesc_named_type (feature
, "vnb");
98 tdesc_add_field (type_with_fields
, "b", field_type
);
99 field_type
= tdesc_named_type (feature
, "vnq");
100 tdesc_add_field (type_with_fields
, "q", field_type
);
103 tdesc_create_reg (feature
, "v0", regnum
++, 1, NULL
, 128, "aarch64v");
104 tdesc_create_reg (feature
, "v1", regnum
++, 1, NULL
, 128, "aarch64v");
105 tdesc_create_reg (feature
, "v2", regnum
++, 1, NULL
, 128, "aarch64v");
106 tdesc_create_reg (feature
, "v3", regnum
++, 1, NULL
, 128, "aarch64v");
107 tdesc_create_reg (feature
, "v4", regnum
++, 1, NULL
, 128, "aarch64v");
108 tdesc_create_reg (feature
, "v5", regnum
++, 1, NULL
, 128, "aarch64v");
109 tdesc_create_reg (feature
, "v6", regnum
++, 1, NULL
, 128, "aarch64v");
110 tdesc_create_reg (feature
, "v7", regnum
++, 1, NULL
, 128, "aarch64v");
111 tdesc_create_reg (feature
, "v8", regnum
++, 1, NULL
, 128, "aarch64v");
112 tdesc_create_reg (feature
, "v9", regnum
++, 1, NULL
, 128, "aarch64v");
113 tdesc_create_reg (feature
, "v10", regnum
++, 1, NULL
, 128, "aarch64v");
114 tdesc_create_reg (feature
, "v11", regnum
++, 1, NULL
, 128, "aarch64v");
115 tdesc_create_reg (feature
, "v12", regnum
++, 1, NULL
, 128, "aarch64v");
116 tdesc_create_reg (feature
, "v13", regnum
++, 1, NULL
, 128, "aarch64v");
117 tdesc_create_reg (feature
, "v14", regnum
++, 1, NULL
, 128, "aarch64v");
118 tdesc_create_reg (feature
, "v15", regnum
++, 1, NULL
, 128, "aarch64v");
119 tdesc_create_reg (feature
, "v16", regnum
++, 1, NULL
, 128, "aarch64v");
120 tdesc_create_reg (feature
, "v17", regnum
++, 1, NULL
, 128, "aarch64v");
121 tdesc_create_reg (feature
, "v18", regnum
++, 1, NULL
, 128, "aarch64v");
122 tdesc_create_reg (feature
, "v19", regnum
++, 1, NULL
, 128, "aarch64v");
123 tdesc_create_reg (feature
, "v20", regnum
++, 1, NULL
, 128, "aarch64v");
124 tdesc_create_reg (feature
, "v21", regnum
++, 1, NULL
, 128, "aarch64v");
125 tdesc_create_reg (feature
, "v22", regnum
++, 1, NULL
, 128, "aarch64v");
126 tdesc_create_reg (feature
, "v23", regnum
++, 1, NULL
, 128, "aarch64v");
127 tdesc_create_reg (feature
, "v24", regnum
++, 1, NULL
, 128, "aarch64v");
128 tdesc_create_reg (feature
, "v25", regnum
++, 1, NULL
, 128, "aarch64v");
129 tdesc_create_reg (feature
, "v26", regnum
++, 1, NULL
, 128, "aarch64v");
130 tdesc_create_reg (feature
, "v27", regnum
++, 1, NULL
, 128, "aarch64v");
131 tdesc_create_reg (feature
, "v28", regnum
++, 1, NULL
, 128, "aarch64v");
132 tdesc_create_reg (feature
, "v29", regnum
++, 1, NULL
, 128, "aarch64v");
133 tdesc_create_reg (feature
, "v30", regnum
++, 1, NULL
, 128, "aarch64v");
134 tdesc_create_reg (feature
, "v31", regnum
++, 1, NULL
, 128, "aarch64v");
135 tdesc_create_reg (feature
, "fpsr", regnum
++, 1, NULL
, 32, "int");
136 tdesc_create_reg (feature
, "fpcr", regnum
++, 1, NULL
, 32, "int");