|  | /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro: | 
|  | Original: 32bit-sse.xml */ | 
|  |  | 
|  | #include "gdbsupport/tdesc.h" | 
|  |  | 
|  | static int | 
|  | create_feature_i386_32bit_sse (struct target_desc *result, long regnum) | 
|  | { | 
|  | struct tdesc_feature *feature; | 
|  |  | 
|  | feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse"); | 
|  | tdesc_type *element_type; | 
|  | element_type = tdesc_named_type (feature, "bfloat16"); | 
|  | tdesc_create_vector (feature, "v8bf16", element_type, 8); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "ieee_half"); | 
|  | tdesc_create_vector (feature, "v8h", element_type, 8); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "ieee_single"); | 
|  | tdesc_create_vector (feature, "v4f", element_type, 4); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "ieee_double"); | 
|  | tdesc_create_vector (feature, "v2d", element_type, 2); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "int8"); | 
|  | tdesc_create_vector (feature, "v16i8", element_type, 16); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "int16"); | 
|  | tdesc_create_vector (feature, "v8i16", element_type, 8); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "int32"); | 
|  | tdesc_create_vector (feature, "v4i32", element_type, 4); | 
|  |  | 
|  | element_type = tdesc_named_type (feature, "int64"); | 
|  | tdesc_create_vector (feature, "v2i64", element_type, 2); | 
|  |  | 
|  | 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, "v8bf16"); | 
|  | tdesc_add_field (type_with_fields, "v8_bfloat16", field_type); | 
|  | field_type = tdesc_named_type (feature, "v8h"); | 
|  | tdesc_add_field (type_with_fields, "v8_half", 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, "v2d"); | 
|  | tdesc_add_field (type_with_fields, "v2_double", field_type); | 
|  | field_type = tdesc_named_type (feature, "v16i8"); | 
|  | tdesc_add_field (type_with_fields, "v16_int8", 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, "v4i32"); | 
|  | tdesc_add_field (type_with_fields, "v4_int32", field_type); | 
|  | field_type = tdesc_named_type (feature, "v2i64"); | 
|  | tdesc_add_field (type_with_fields, "v2_int64", field_type); | 
|  | field_type = tdesc_named_type (feature, "uint128"); | 
|  | tdesc_add_field (type_with_fields, "uint128", field_type); | 
|  |  | 
|  | type_with_fields = tdesc_create_flags (feature, "i386_mxcsr", 4); | 
|  | tdesc_add_flag (type_with_fields, 0, "IE"); | 
|  | tdesc_add_flag (type_with_fields, 1, "DE"); | 
|  | tdesc_add_flag (type_with_fields, 2, "ZE"); | 
|  | tdesc_add_flag (type_with_fields, 3, "OE"); | 
|  | tdesc_add_flag (type_with_fields, 4, "UE"); | 
|  | tdesc_add_flag (type_with_fields, 5, "PE"); | 
|  | tdesc_add_flag (type_with_fields, 6, "DAZ"); | 
|  | tdesc_add_flag (type_with_fields, 7, "IM"); | 
|  | tdesc_add_flag (type_with_fields, 8, "DM"); | 
|  | tdesc_add_flag (type_with_fields, 9, "ZM"); | 
|  | tdesc_add_flag (type_with_fields, 10, "OM"); | 
|  | tdesc_add_flag (type_with_fields, 11, "UM"); | 
|  | tdesc_add_flag (type_with_fields, 12, "PM"); | 
|  | tdesc_add_flag (type_with_fields, 15, "FZ"); | 
|  |  | 
|  | regnum = 32; | 
|  | tdesc_create_reg (feature, "xmm0", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm1", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm2", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm3", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm4", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm5", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm6", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "xmm7", regnum++, 1, NULL, 128, "vec128"); | 
|  | tdesc_create_reg (feature, "mxcsr", regnum++, 1, "vector", 32, "i386_mxcsr"); | 
|  | return regnum; | 
|  | } |