real.c
113 KB
-
(GET_REAL, PUT_REAL): Add TFmode versions. · 842fbaaa
(MAXDECEXP, MINDECEXP): New decimal exponent limits that vary with definition of LONG_DOUBLE_TYPE_SIZE. (endian, ereal_atof, real_value_truncate, einfin, emdnorm, asctoeg): Add cases for TFmode. (etartdouble): New function converts REAL_VALUE_TYPE to TFmode for use by ASM_OUTPUT_LONG_DOUBLE. (edivm, emulm): Ifdef out, replace by faster multiply and divide. (etoe113, toe113, e113toe): New type conversions for TFmode. (asctoe113, e113toasc): New TFmode binary <-> decimal conversions. (at top level): Define constants ezero, eone, emtens, etens, ... in a new 20-byte format when LONG_DOUBLE_TYPE_SIZE = 128 and set NE to 10. Otherwise, the internal format remains 12 bytes wide. (etoudi, etodi, ditoe, uditoe): New functions, signed and unsigned DImode float and fix, for real.c used in a libgcc-of-last-resort. (esqrt): New function, correctly rounded square root for libgcc. (etodec): Delete ifdef'd version. (eroundi, eroundui): Rename to efixi, efixui and always round towards zero. From frank@atom.ansto.gov.au (Frank Crawford): (etoibm, toibm, ibmtoe): New conversions for IBM 370 float format. (e53toe, e64toe, toe64, etoe53, toe53, etoe24, toe24, asctoe53, asctoeg, make_nan): Ifdef for IBM. From-SVN: r5153
Jim Wilson committed