1 /* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: 2 Original: 64bit-fpu.xml */ 3 4 #include "gdbsupport/tdesc.h" 5 6 static int 7 create_feature_riscv_64bit_fpu (struct target_desc *result, long regnum) 8 { 9 struct tdesc_feature *feature; 10 11 feature = tdesc_create_feature (result, "org.gnu.gdb.riscv.fpu"); 12 tdesc_type_with_fields *type_with_fields; 13 type_with_fields = tdesc_create_union (feature, "riscv_double"); 14 tdesc_type *field_type; 15 field_type = tdesc_named_type (feature, "ieee_single"); 16 tdesc_add_field (type_with_fields, "float", field_type); 17 field_type = tdesc_named_type (feature, "ieee_double"); 18 tdesc_add_field (type_with_fields, "double", field_type); 19 20 regnum = 33; 21 tdesc_create_reg (feature, "ft0", regnum++, 1, NULL, 64, "riscv_double"); 22 tdesc_create_reg (feature, "ft1", regnum++, 1, NULL, 64, "riscv_double"); 23 tdesc_create_reg (feature, "ft2", regnum++, 1, NULL, 64, "riscv_double"); 24 tdesc_create_reg (feature, "ft3", regnum++, 1, NULL, 64, "riscv_double"); 25 tdesc_create_reg (feature, "ft4", regnum++, 1, NULL, 64, "riscv_double"); 26 tdesc_create_reg (feature, "ft5", regnum++, 1, NULL, 64, "riscv_double"); 27 tdesc_create_reg (feature, "ft6", regnum++, 1, NULL, 64, "riscv_double"); 28 tdesc_create_reg (feature, "ft7", regnum++, 1, NULL, 64, "riscv_double"); 29 tdesc_create_reg (feature, "fs0", regnum++, 1, NULL, 64, "riscv_double"); 30 tdesc_create_reg (feature, "fs1", regnum++, 1, NULL, 64, "riscv_double"); 31 tdesc_create_reg (feature, "fa0", regnum++, 1, NULL, 64, "riscv_double"); 32 tdesc_create_reg (feature, "fa1", regnum++, 1, NULL, 64, "riscv_double"); 33 tdesc_create_reg (feature, "fa2", regnum++, 1, NULL, 64, "riscv_double"); 34 tdesc_create_reg (feature, "fa3", regnum++, 1, NULL, 64, "riscv_double"); 35 tdesc_create_reg (feature, "fa4", regnum++, 1, NULL, 64, "riscv_double"); 36 tdesc_create_reg (feature, "fa5", regnum++, 1, NULL, 64, "riscv_double"); 37 tdesc_create_reg (feature, "fa6", regnum++, 1, NULL, 64, "riscv_double"); 38 tdesc_create_reg (feature, "fa7", regnum++, 1, NULL, 64, "riscv_double"); 39 tdesc_create_reg (feature, "fs2", regnum++, 1, NULL, 64, "riscv_double"); 40 tdesc_create_reg (feature, "fs3", regnum++, 1, NULL, 64, "riscv_double"); 41 tdesc_create_reg (feature, "fs4", regnum++, 1, NULL, 64, "riscv_double"); 42 tdesc_create_reg (feature, "fs5", regnum++, 1, NULL, 64, "riscv_double"); 43 tdesc_create_reg (feature, "fs6", regnum++, 1, NULL, 64, "riscv_double"); 44 tdesc_create_reg (feature, "fs7", regnum++, 1, NULL, 64, "riscv_double"); 45 tdesc_create_reg (feature, "fs8", regnum++, 1, NULL, 64, "riscv_double"); 46 tdesc_create_reg (feature, "fs9", regnum++, 1, NULL, 64, "riscv_double"); 47 tdesc_create_reg (feature, "fs10", regnum++, 1, NULL, 64, "riscv_double"); 48 tdesc_create_reg (feature, "fs11", regnum++, 1, NULL, 64, "riscv_double"); 49 tdesc_create_reg (feature, "ft8", regnum++, 1, NULL, 64, "riscv_double"); 50 tdesc_create_reg (feature, "ft9", regnum++, 1, NULL, 64, "riscv_double"); 51 tdesc_create_reg (feature, "ft10", regnum++, 1, NULL, 64, "riscv_double"); 52 tdesc_create_reg (feature, "ft11", regnum++, 1, NULL, 64, "riscv_double"); 53 regnum = 66; 54 tdesc_create_reg (feature, "fflags", regnum++, 1, NULL, 32, "int"); 55 tdesc_create_reg (feature, "frm", regnum++, 1, NULL, 32, "int"); 56 tdesc_create_reg (feature, "fcsr", regnum++, 1, NULL, 32, "int"); 57 return regnum; 58 } 59