[PATCH 2/3] Fix IEEE 128-bit min/max test.

Michael Meissner meissner@linux.ibm.com
Mon Jun 28 18:41:22 GMT 2021


On Fri, Jun 25, 2021 at 12:46:37PM -0500, Segher Boessenkool wrote:
> On Thu, Jun 17, 2021 at 04:11:40PM -0400, Michael Meissner wrote:
> > On Thu, Jun 17, 2021 at 01:11:58PM -0500, Segher Boessenkool wrote:
> > > > --- a/gcc/testsuite/gcc.target/powerpc/float128-minmax.c
> > > > +++ b/gcc/testsuite/gcc.target/powerpc/float128-minmax.c
> > > > @@ -1,6 +1,5 @@
> > > > -/* { dg-do compile { target lp64 } } */
> > > 
> > > Does that work?  Why was it there before?
> > 
> > The lp64 eliminates 32-bit, which does not support hardware IEEE 128-bit due to
> > the lack of TImode.
> 
> I still do not understand this.  Why would support for QP float require
> TImode?  "Need an integer mode of the same size" is not a convincing
> argument, since double-double is a 16 byte mode as well.

I suspect it is because we separate moves for IBM long double before the pass
that wants to use an integer type to do the move, so it doesn't see the 128-bit
type.

> > The test was written before the ppc_float128_hw test.  Now
> > that we have ppc_float128_hw, we don't need an explicit lp64.
> 
> Ah good, some progress.  Well, it *is* an improvement, a better
> abstraction, but on the other hand it only hides the actual problems
> deeper :-/
> 
> > > >  /* { dg-require-effective-target powerpc_p9vector_ok } */
> > > > -/* { dg-require-effective-target float128 } */
> > > > +/* { dg-require-effective-target ppc_float128_hw } */
> > > 
> > > Why is it okay to no longer run this test where it ran before?
> > 
> > The ppc_float128_hw test is a more precise test than just float128 and power9.
> 
> You did not delete the p9 test though.

Yes, I can probably delete the powerpc_p9vector_ok test.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.ibm.com, phone: +1 (978) 899-4797


More information about the Gcc-patches mailing list