This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Minimum floating-point requirements


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]