Commit | Line | Data |
---|---|---|
6c73f67f YQ |
1 | /* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: |
2 | Original: 64bit-sse.xml */ | |
3 | ||
268a13a5 | 4 | #include "gdbsupport/tdesc.h" |
6c73f67f YQ |
5 | |
6 | static int | |
7 | create_feature_i386_64bit_sse (struct target_desc *result, long regnum) | |
8 | { | |
9 | struct tdesc_feature *feature; | |
10 | ||
3b74854b | 11 | feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse"); |
d4a0e8b5 SM |
12 | tdesc_type *element_type; |
13 | element_type = tdesc_named_type (feature, "ieee_single"); | |
14 | tdesc_create_vector (feature, "v4f", element_type, 4); | |
6c73f67f | 15 | |
d4a0e8b5 SM |
16 | element_type = tdesc_named_type (feature, "ieee_double"); |
17 | tdesc_create_vector (feature, "v2d", element_type, 2); | |
6c73f67f | 18 | |
d4a0e8b5 SM |
19 | element_type = tdesc_named_type (feature, "int8"); |
20 | tdesc_create_vector (feature, "v16i8", element_type, 16); | |
6c73f67f | 21 | |
d4a0e8b5 SM |
22 | element_type = tdesc_named_type (feature, "int16"); |
23 | tdesc_create_vector (feature, "v8i16", element_type, 8); | |
6c73f67f | 24 | |
d4a0e8b5 SM |
25 | element_type = tdesc_named_type (feature, "int32"); |
26 | tdesc_create_vector (feature, "v4i32", element_type, 4); | |
6c73f67f | 27 | |
d4a0e8b5 SM |
28 | element_type = tdesc_named_type (feature, "int64"); |
29 | tdesc_create_vector (feature, "v2i64", element_type, 2); | |
6c73f67f | 30 | |
d4a0e8b5 | 31 | tdesc_type_with_fields *type_with_fields; |
d4a0e8b5 | 32 | type_with_fields = tdesc_create_union (feature, "vec128"); |
a8d2e585 | 33 | tdesc_type *field_type; |
6c73f67f | 34 | field_type = tdesc_named_type (feature, "v4f"); |
d4a0e8b5 | 35 | tdesc_add_field (type_with_fields, "v4_float", field_type); |
6c73f67f | 36 | field_type = tdesc_named_type (feature, "v2d"); |
d4a0e8b5 | 37 | tdesc_add_field (type_with_fields, "v2_double", field_type); |
6c73f67f | 38 | field_type = tdesc_named_type (feature, "v16i8"); |
d4a0e8b5 | 39 | tdesc_add_field (type_with_fields, "v16_int8", field_type); |
6c73f67f | 40 | field_type = tdesc_named_type (feature, "v8i16"); |
d4a0e8b5 | 41 | tdesc_add_field (type_with_fields, "v8_int16", field_type); |
6c73f67f | 42 | field_type = tdesc_named_type (feature, "v4i32"); |
d4a0e8b5 | 43 | tdesc_add_field (type_with_fields, "v4_int32", field_type); |
6c73f67f | 44 | field_type = tdesc_named_type (feature, "v2i64"); |
d4a0e8b5 | 45 | tdesc_add_field (type_with_fields, "v2_int64", field_type); |
6c73f67f | 46 | field_type = tdesc_named_type (feature, "uint128"); |
d4a0e8b5 | 47 | tdesc_add_field (type_with_fields, "uint128", field_type); |
6c73f67f | 48 | |
d4a0e8b5 SM |
49 | type_with_fields = tdesc_create_flags (feature, "i386_mxcsr", 4); |
50 | tdesc_add_flag (type_with_fields, 0, "IE"); | |
51 | tdesc_add_flag (type_with_fields, 1, "DE"); | |
52 | tdesc_add_flag (type_with_fields, 2, "ZE"); | |
53 | tdesc_add_flag (type_with_fields, 3, "OE"); | |
54 | tdesc_add_flag (type_with_fields, 4, "UE"); | |
55 | tdesc_add_flag (type_with_fields, 5, "PE"); | |
56 | tdesc_add_flag (type_with_fields, 6, "DAZ"); | |
57 | tdesc_add_flag (type_with_fields, 7, "IM"); | |
58 | tdesc_add_flag (type_with_fields, 8, "DM"); | |
59 | tdesc_add_flag (type_with_fields, 9, "ZM"); | |
60 | tdesc_add_flag (type_with_fields, 10, "OM"); | |
61 | tdesc_add_flag (type_with_fields, 11, "UM"); | |
62 | tdesc_add_flag (type_with_fields, 12, "PM"); | |
63 | tdesc_add_flag (type_with_fields, 15, "FZ"); | |
6c73f67f YQ |
64 | |
65 | regnum = 40; | |
66 | tdesc_create_reg (feature, "xmm0", regnum++, 1, NULL, 128, "vec128"); | |
67 | tdesc_create_reg (feature, "xmm1", regnum++, 1, NULL, 128, "vec128"); | |
68 | tdesc_create_reg (feature, "xmm2", regnum++, 1, NULL, 128, "vec128"); | |
69 | tdesc_create_reg (feature, "xmm3", regnum++, 1, NULL, 128, "vec128"); | |
70 | tdesc_create_reg (feature, "xmm4", regnum++, 1, NULL, 128, "vec128"); | |
71 | tdesc_create_reg (feature, "xmm5", regnum++, 1, NULL, 128, "vec128"); | |
72 | tdesc_create_reg (feature, "xmm6", regnum++, 1, NULL, 128, "vec128"); | |
73 | tdesc_create_reg (feature, "xmm7", regnum++, 1, NULL, 128, "vec128"); | |
74 | tdesc_create_reg (feature, "xmm8", regnum++, 1, NULL, 128, "vec128"); | |
75 | tdesc_create_reg (feature, "xmm9", regnum++, 1, NULL, 128, "vec128"); | |
76 | tdesc_create_reg (feature, "xmm10", regnum++, 1, NULL, 128, "vec128"); | |
77 | tdesc_create_reg (feature, "xmm11", regnum++, 1, NULL, 128, "vec128"); | |
78 | tdesc_create_reg (feature, "xmm12", regnum++, 1, NULL, 128, "vec128"); | |
79 | tdesc_create_reg (feature, "xmm13", regnum++, 1, NULL, 128, "vec128"); | |
80 | tdesc_create_reg (feature, "xmm14", regnum++, 1, NULL, 128, "vec128"); | |
81 | tdesc_create_reg (feature, "xmm15", regnum++, 1, NULL, 128, "vec128"); | |
82 | tdesc_create_reg (feature, "mxcsr", regnum++, 1, "vector", 32, "i386_mxcsr"); | |
83 | return regnum; | |
84 | } |