Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Apr 2003 17:59:05 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        cvs-src@FreeBSD.org
Subject:   Re: cvs commit: src/sys/ia64/include float.h
Message-ID:  <20030402075905.GA30835@cirb503493.alcatel.com.au>
In-Reply-To: <20030402154250.X25489@gamplex.bde.org>
References:  <200303272038.h2RKcM7L096560@repoman.freebsd.org> <20030327204935.GA18134@HAL9000.homeunix.com> <20030330175646.281097ad.Alexander@Leidinger.net> <20030331082023.GE11307@cirb503493.alcatel.com.au> <20030401172440.701aaafd.Alexander@Leidinger.net> <20030401200457.GA30284@cirb503493.alcatel.com.au> <20030402154250.X25489@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030402075905.GA30835>