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: Steve Munroe <sjmunroe at us dot ibm dot com>
- Cc: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, David Edelsohn <dje dot gcc at gmail dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, libc-alpha at sourceware dot org
- Date: Mon, 17 Feb 2014 15:34:17 -0500
- Subject: Re: Minimum floating-point requirements
- Authentication-results: sourceware.org; auth=none
- References: <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> <Pine dot LNX dot 4 dot 64 dot 1402151656510 dot 6358 at digraph dot polyomino dot org dot uk> <20140216045946 dot GG184 at brightrain dot aerifal dot cx> <CAGWvny=9Jeippop9xuERzwgWL8+QbZiqQFhgxGNdAW0C=EnOLQ at mail dot gmail dot com> <20140216214623 dot GI184 at brightrain dot aerifal dot cx> <OF6C3CF9D0 dot 7DE26AD8-ON86257C82 dot 006D70FA-86257C82 dot 006EF9D5 at us dot ibm dot com>
On Mon, Feb 17, 2014 at 02:12:09PM -0600, Steve Munroe wrote:
> > > Every ABI has peculiarities and historical baggage. One of the
> >
> > The original powerpc ABI (which gcc still supports, and which we
> > require gcc to be configured with for use with musl libc, since it
> > requires IEEE types) simply has long double == double. The
> > double-double nonsense was added long after it was known how bad it
> > is, and it should never have been added in the first place, but
> > presumably IBM fans pushed it through. So this is not just historical
> > baggage but a relatively new imposition of a historical mistake onto
> > the glibc powerpc ABI which used to be free of this mess.
> >
> Well I was there and at the time the big complaint was that
> long double == double was causing lots of test failures and that
> PowerPC get off their a** and implement long double. So we did ;)
Uhg. This is so typical of the Linux ecosystem. Somebody wants a new
feature but they don't understand the implications and how it
interacts with other things, so they end up making a very poor choice
for how to do the new feature and everybody ends up stuck with the
poor choice.
> Now I would like you to tell me what is the requirement for this?
>
> Because I talk to a lot of customers and NOT ONE have asked for
> supporting long double in non default rounding modes. And I can't
> think of one customer that even wants to change the rounding mode.
Anyone doing interval arithmetic wants to change rounding modes.
However, the need for correct rounding semantics is independent of
rounding mode. You want it even in default rounding mode.
> > There's a difference between accepting and accomodating legitimate
> > differences between cpu archs that don't affect the ability to satisfy
> > the contracts applications expect, and accommodating a nonsensical
> > type pushed by IBM folks that's not even a native type provided by the
> > hardware but just a lazy, poorly designed, but fast way of getting
> > more precision by using a hybrid hard/soft-float approach to operate
> > on a pair of hardware doubles.
>
> Last I checked long double is a non-native type on many platforms and
Such as...? Basically everywhere of modern relevance it's either
equivalent to double or it's ld80 (which is a conforming IEEE extended
precision type).
> even for platforms where it is a native type the implementation is
> not IEEE.
Such as...?
> So I don't understand all the hating on IBM and PowerPC.
Perhaps you're unaware of the history of IBM and their hostility
towards floating point standards...
Rich