On Thu, Jun 14, 2018 at 08:15:51PM -0400, Michael Meissner wrote:
> On Thu, Jun 14, 2018 at 07:00:52PM -0500, Segher Boessenkool wrote:
> > Hi Mike,
> > 
> > On Wed, Jun 13, 2018 at 05:16:37PM -0400, Michael Meissner wrote:
> > > This fixes some of the PowerPC tests that had implicit assumptions about 
> > > the
> > > long double format.  The fixes involved:
> > > 
> > >     1)    Using long double __complex instead of using a KC attribute;
> > 
> > Why?  Does KC not work?  It should work.
> 
> No KC does not work if long double is IEEE, just like IC does not work if long
> double is IBM extended double.  This is part of the __float128/__ibm128 
> changes
> that eliminated using separate types all of the time.

But those aren't types, those are modes.  Why would the modes not work?
That makes no sense.  Just like the __ieee128 and __ibm128 types work
always, so should the IF, KF, IC and KC modes.

So what happens if you try to use KC?

> > >     2)    Explicitly adding -mabi=ibmlongdouble; (or)
> > 
> > What in these tests requires IBM long double?  It is not clear.
> 
> These are tests that test things like the format of IBM extended double 
> (things
> like pack, unpack, making sure the various __builtin_is<xxx> work for 
> carefully
> crafted numbers).

Aha.

> > >     3)    Using __ibm128 instead of long double if long double is IEEE 
> > > 128-bit.
> > 
> > Can't you do that *always*?  Why not?
> 
> Because __ibm128 is only defined if we have __float128 support.  It is not
> defined on non-VSX Linux systems.

Please document this in the test, then.


Segher

Reply via email to