9 struct tdesc_feature *feature;
12 tdesc_type *element_type;
13 element_type = tdesc_named_type (feature,
"ieee_single");
14 tdesc_create_vector (feature,
"v4f", element_type, 4);
16 element_type = tdesc_named_type (feature,
"ieee_double");
17 tdesc_create_vector (feature,
"v2d", element_type, 2);
19 element_type = tdesc_named_type (feature,
"int8");
20 tdesc_create_vector (feature,
"v16i8", element_type, 16);
22 element_type = tdesc_named_type (feature,
"int16");
23 tdesc_create_vector (feature,
"v8i16", element_type, 8);
25 element_type = tdesc_named_type (feature,
"int32");
26 tdesc_create_vector (feature,
"v4i32", element_type, 4);
28 element_type = tdesc_named_type (feature,
"int64");
29 tdesc_create_vector (feature,
"v2i64", element_type, 2);
31 tdesc_type_with_fields *type_with_fields;
32 type_with_fields = tdesc_create_union (feature,
"vec128");
33 tdesc_type *field_type;
34 field_type = tdesc_named_type (feature,
"v4f");
35 tdesc_add_field (type_with_fields,
"v4_float", field_type);
36 field_type = tdesc_named_type (feature,
"v2d");
37 tdesc_add_field (type_with_fields,
"v2_double", field_type);
38 field_type = tdesc_named_type (feature,
"v16i8");
39 tdesc_add_field (type_with_fields,
"v16_int8", field_type);
40 field_type = tdesc_named_type (feature,
"v8i16");
41 tdesc_add_field (type_with_fields,
"v8_int16", field_type);
42 field_type = tdesc_named_type (feature,
"v4i32");
43 tdesc_add_field (type_with_fields,
"v4_int32", field_type);
44 field_type = tdesc_named_type (feature,
"v2i64");
45 tdesc_add_field (type_with_fields,
"v2_int64", field_type);
46 field_type = tdesc_named_type (feature,
"uint128");
47 tdesc_add_field (type_with_fields,
"uint128", field_type);
49 tdesc_create_reg (feature,
"r0",
regnum++, 1, NULL, 32,
"int");
50 tdesc_create_reg (feature,
"r1",
regnum++, 1, NULL, 32,
"int");
51 tdesc_create_reg (feature,
"r2",
regnum++, 1, NULL, 32,
"int");
52 tdesc_create_reg (feature,
"r3",
regnum++, 1, NULL, 32,
"int");
53 tdesc_create_reg (feature,
"r4",
regnum++, 1, NULL, 32,
"int");
54 tdesc_create_reg (feature,
"r5",
regnum++, 1, NULL, 32,
"int");
55 tdesc_create_reg (feature,
"r6",
regnum++, 1, NULL, 32,
"int");
56 tdesc_create_reg (feature,
"r7",
regnum++, 1, NULL, 32,
"int");
57 tdesc_create_reg (feature,
"r8",
regnum++, 1, NULL, 32,
"int");
58 tdesc_create_reg (feature,
"r9",
regnum++, 1, NULL, 32,
"int");
59 tdesc_create_reg (feature,
"r10",
regnum++, 1, NULL, 32,
"int");
60 tdesc_create_reg (feature,
"r11",
regnum++, 1, NULL, 32,
"int");
61 tdesc_create_reg (feature,
"r12",
regnum++, 1, NULL, 32,
"int");
62 tdesc_create_reg (feature,
"r13",
regnum++, 1, NULL, 32,
"int");
63 tdesc_create_reg (feature,
"r14",
regnum++, 1, NULL, 32,
"data_ptr");
64 tdesc_create_reg (feature,
"r15",
regnum++, 1, NULL, 32,
"int");
65 tdesc_create_reg (feature,
"r16",
regnum++, 1, NULL, 32,
"int");
66 tdesc_create_reg (feature,
"r17",
regnum++, 1, NULL, 32,
"int");
67 tdesc_create_reg (feature,
"r18",
regnum++, 1, NULL, 32,
"int");
68 tdesc_create_reg (feature,
"r19",
regnum++, 1, NULL, 32,
"int");
69 tdesc_create_reg (feature,
"r20",
regnum++, 1, NULL, 32,
"int");
70 tdesc_create_reg (feature,
"r21",
regnum++, 1, NULL, 32,
"int");
71 tdesc_create_reg (feature,
"r22",
regnum++, 1, NULL, 32,
"int");
72 tdesc_create_reg (feature,
"r23",
regnum++, 1, NULL, 32,
"int");
73 tdesc_create_reg (feature,
"r24",
regnum++, 1, NULL, 32,
"int");
74 tdesc_create_reg (feature,
"r25",
regnum++, 1, NULL, 32,
"int");
75 tdesc_create_reg (feature,
"r26",
regnum++, 1, NULL, 32,
"int");
76 tdesc_create_reg (feature,
"r27",
regnum++, 1, NULL, 32,
"int");
77 tdesc_create_reg (feature,
"r28",
regnum++, 1, NULL, 32,
"int");
78 tdesc_create_reg (feature,
"r29",
regnum++, 1, NULL, 32,
"int");
79 tdesc_create_reg (feature,
"r30",
regnum++, 1, NULL, 32,
"int");
80 tdesc_create_reg (feature,
"r31",
regnum++, 1, NULL, 32,
"int");
82 tdesc_create_reg (feature,
"hi",
regnum++, 1, NULL, 32,
"int");
83 tdesc_create_reg (feature,
"lo",
regnum++, 1, NULL, 32,
"int");
85 tdesc_create_reg (feature,
"fr0",
regnum++, 1, NULL, 64,
"ieee_double");
86 tdesc_create_reg (feature,
"fr1",
regnum++, 1, NULL, 64,
"ieee_double");
87 tdesc_create_reg (feature,
"fr2",
regnum++, 1, NULL, 64,
"ieee_double");
88 tdesc_create_reg (feature,
"fr3",
regnum++, 1, NULL, 64,
"ieee_double");
89 tdesc_create_reg (feature,
"fr4",
regnum++, 1, NULL, 64,
"ieee_double");
90 tdesc_create_reg (feature,
"fr5",
regnum++, 1, NULL, 64,
"ieee_double");
91 tdesc_create_reg (feature,
"fr6",
regnum++, 1, NULL, 64,
"ieee_double");
92 tdesc_create_reg (feature,
"fr7",
regnum++, 1, NULL, 64,
"ieee_double");
93 tdesc_create_reg (feature,
"fr8",
regnum++, 1, NULL, 64,
"ieee_double");
94 tdesc_create_reg (feature,
"fr9",
regnum++, 1, NULL, 64,
"ieee_double");
95 tdesc_create_reg (feature,
"fr10",
regnum++, 1, NULL, 64,
"ieee_double");
96 tdesc_create_reg (feature,
"fr11",
regnum++, 1, NULL, 64,
"ieee_double");
97 tdesc_create_reg (feature,
"fr12",
regnum++, 1, NULL, 64,
"ieee_double");
98 tdesc_create_reg (feature,
"fr13",
regnum++, 1, NULL, 64,
"ieee_double");
99 tdesc_create_reg (feature,
"fr14",
regnum++, 1, NULL, 64,
"ieee_double");
100 tdesc_create_reg (feature,
"fr15",
regnum++, 1, NULL, 64,
"ieee_double");
101 tdesc_create_reg (feature,
"vr0",
regnum++, 1, NULL, 128,
"vec128");
102 tdesc_create_reg (feature,
"vr1",
regnum++, 1, NULL, 128,
"vec128");
103 tdesc_create_reg (feature,
"vr2",
regnum++, 1, NULL, 128,
"vec128");
104 tdesc_create_reg (feature,
"vr3",
regnum++, 1, NULL, 128,
"vec128");
105 tdesc_create_reg (feature,
"vr4",
regnum++, 1, NULL, 128,
"vec128");
106 tdesc_create_reg (feature,
"vr5",
regnum++, 1, NULL, 128,
"vec128");
107 tdesc_create_reg (feature,
"vr6",
regnum++, 1, NULL, 128,
"vec128");
108 tdesc_create_reg (feature,
"vr7",
regnum++, 1, NULL, 128,
"vec128");
109 tdesc_create_reg (feature,
"vr8",
regnum++, 1, NULL, 128,
"vec128");
110 tdesc_create_reg (feature,
"vr9",
regnum++, 1, NULL, 128,
"vec128");
111 tdesc_create_reg (feature,
"vr10",
regnum++, 1, NULL, 128,
"vec128");
112 tdesc_create_reg (feature,
"vr11",
regnum++, 1, NULL, 128,
"vec128");
113 tdesc_create_reg (feature,
"vr12",
regnum++, 1, NULL, 128,
"vec128");
114 tdesc_create_reg (feature,
"vr13",
regnum++, 1, NULL, 128,
"vec128");
115 tdesc_create_reg (feature,
"vr14",
regnum++, 1, NULL, 128,
"vec128");
116 tdesc_create_reg (feature,
"vr15",
regnum++, 1, NULL, 128,
"vec128");
117 tdesc_create_reg (feature,
"pc",
regnum++, 1, NULL, 32,
"code_ptr");
119 tdesc_create_reg (feature,
"psr",
regnum++, 1, NULL, 32,
"int");
121 tdesc_create_reg (feature,
"fid",
regnum++, 1, NULL, 32,
"int");
122 tdesc_create_reg (feature,
"fcr",
regnum++, 1, NULL, 32,
"int");
123 tdesc_create_reg (feature,
"fesr",
regnum++, 1, NULL, 32,
"int");
125 tdesc_create_reg (feature,
"usp",
regnum++, 1, NULL, 32,
"int");