X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=include%2Ffloatformat.h;fp=include%2Ffloatformat.h;h=c5f60a3cd93a285dfb8d3e063a614bd196a7a125;hp=f1bd7f601f536716b1e3cf6e8dc4d1e7dd0e7577;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/include/floatformat.h b/include/floatformat.h index f1bd7f6..c5f60a3 100644 --- a/include/floatformat.h +++ b/include/floatformat.h @@ -85,6 +85,13 @@ struct floatformat /* Validator method. */ int (*is_valid) (const struct floatformat *fmt, const void *from); + + /* Is the format actually the sum of two smaller floating point + formats (IBM long double, as described in + gcc/config/rs6000/darwin-ldouble-format)? If so, this is the + smaller format in question, and the fields sign_start through + intbit describe the first half. If not, this is NULL. */ + const struct floatformat *split_half; }; /* floatformats for IEEE single and double, big and little endian. */ @@ -118,6 +125,8 @@ extern const struct floatformat floatformat_ia64_spill_big; extern const struct floatformat floatformat_ia64_spill_little; extern const struct floatformat floatformat_ia64_quad_big; extern const struct floatformat floatformat_ia64_quad_little; +/* IBM long double (double+double). */ +extern const struct floatformat floatformat_ibm_long_double; /* Convert from FMT to a double. FROM is the address of the extended float.