On Thu, Mar 09, 2017 at 12:45:00PM -0600, Segher Boessenkool wrote:
> On Fri, Mar 03, 2017 at 01:10:18PM -0500, Michael Meissner wrote:
> > On January 31st I commited a patch that improves conversion of 
> > signed/unsigned
> > char/short values to 32-bit and 64-bit floating point on Power9, 
> > particularly
> > when the values are coming from memory.  This adds similar support to
> > _Float128/__float128 (i.e. IEEE 128-bit floating point).  I have tested this
> > patch via bootstrap and make check and there were no regressions.  Can I 
> > check
> > this patch into the trunk?
> 
> Okay.  If it breaks anything it will only be ieee128.
> 
> The usual question about the testcase:
> 
> > --- gcc/testsuite/gcc.target/powerpc/pr79038-1.c    (revision 0)
> > +++ gcc/testsuite/gcc.target/powerpc/pr79038-1.c    (revision 0)
> > @@ -0,0 +1,39 @@
> > +/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
> 
> Why does it only work on 64-bit?

Because the particular optimization requires QImode and HImode values to be
allowed in vector registers, and that in turn depends on 64-bit because we
don't have all of the necessary bits for doing 64-bit direct moves on 32-bit
systems.

> 
> > +/* { dg-require-effective-target powerpc_p9vector_ok } */
> 
> This is a compile-only test; why this then?

I meant to use the target for system has power9 target support.
> 
> > +/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { 
> > "-mcpu=power9" } } */
> > +/* { dg-options "-mcpu=power9 -O2 -mfloat128" } */
> 
> 
> Segher
> 

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

Reply via email to