This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Minimum floating-point requirements
- From: Rich Felker <dalias at aerifal dot cx>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: "Joseph S. Myers" <joseph at codesourcery dot com>, Steve Munroe <sjmunroe at us dot ibm dot com>, Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Date: Sat, 15 Feb 2014 23:58:12 -0500
- Subject: Re: Minimum floating-point requirements
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnym4yN=7rLrm0RRtNN++T=xwx8r3MUKJOfz4r+H=Z9zd7Q at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1401300038120 dot 24633 at digraph dot polyomino dot org dot uk> <OF9FA4A0A3 dot 0CD33B43-ON86257C70 dot 0073531F-86257C70 dot 0073A4BB at us dot ibm dot com> <Pine dot LNX dot 4 dot 64 dot 1401302108080 dot 12540 at digraph dot polyomino dot org dot uk> <Pine dot LNX dot 4 dot 64 dot 1402072347200 dot 12232 at digraph dot polyomino dot org dot uk> <OF54854818 dot C108092B-ON86257C7B dot 0063B8C0-86257C7B dot 006B6B53 at us dot ibm dot com> <Pine dot LNX dot 4 dot 64 dot 1402102231400 dot 26591 at digraph dot polyomino dot org dot uk> <CAGWvnyn-Cj4Mw4efQTs2MYFHhknyskAEznEqpGeYnb9rY3X4hg at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1402150136490 dot 31722 at digraph dot polyomino dot org dot uk> <CAGWvny=aJCdoQvC8q-dNvFdDNAqRCcZ7_adD=Sst8FDr0MN1Qg at mail dot gmail dot com>
On Sat, Feb 15, 2014 at 11:49:53AM -0500, David Edelsohn wrote:
> > The PowerPC port is not just for recent POWER server hardware and whatever
> > applications thereon care about performance of certain long double
> > operations but not about accuracy and exceptions in cases where the
> > present functions are defective. I'm thinking more in terms of embedded
> > and general-purpose GNU/Linux distributions that support a wide range of
> > processors and where consistency between different architectures is
> > important. And I consider consistency between different architectures to
> > be one of the great strengths of the GNU system as a whole.
>
> The POWER long double format, including its peculiarities and
> limitations, has existed for over 20 years. It has performed to the
> satisfaction of a huge number of customers without this additional
> conformance. No one has requested this additional conformance except
> people who are concerned about conformance for conformance sake.
That's not true. In order to be able to reason about rounding, you
need IEEE semantics that IBM double-double does not provide. Of course
you could refrain from using long double and stick to the standard
IEEE types, but this doesn't work on i386, where FLT_EVAL_METHOD==2
and float_t and double_t are both long double; in that case, trying to
do any reasoning about rounding with float or double is futile and you
have to use long double.
It would be nice to just be able to write programs that need to have
well-defined rounding semantics using long double and not have to
worry about system-specific wackiness, but IBM double-double breaks
this. I make this complaint about IBM double-double as a floating
point programmer who specifically has to work around its brokenness.
Rich