cvs commit: src/sys/ia64/include float.h

Peter Jeremy peterjeremy at optushome.com.au
Tue Apr 1 23:59:17 PST 2003


On Wed, Apr 02, 2003 at 04:21:30PM +1000, Bruce Evans wrote:
>On Wed, 2 Apr 2003, Peter Jeremy wrote:
>
>> On Tue, Apr 01, 2003 at 05:24:40PM +0200, Alexander Leidinger wrote:
>> >We noticed that icc does use other values for LDBL_MIN than we do, and
>> >instead of just thinking that Intel does it right I wanted to verify it.
>
>This might be caused by icc actually understanding the target's default
>precision for long doubles (FreeBSD changes the hardware default of 64-bit
>to 53-bit for technical reasons).

Is this also true on ia64?  And the LDBL_* constants for sparc64 are
for 113-bit fractions.  I was going to mention this but thought it had
changed since all the LDBL_* constants have been changed to 64-bit
fraction values (they are 53-bit in -STABLE).

Which is more wrong: LDBL_* constants that are "correct" but unusable
because the CPU is set to "round to double" or LBDL_* constants that
match the CPU rounding but not the compiler's "long double" type?

>ucbtest is good but is too old to cover much of C99.  I haven't found
>anything anywhere near as good and up to date.

I was also thinking of paranoia - which has been imported into gcc
as enquire.  It's even older than ucbtest and does a good job of
generating all the float.h constants - but it doesn't check that
the CPU actually implements IEEE arithmetic correctly.

Peter


More information about the cvs-src mailing list