On Fri, Feb 03, 2017 at 09:11:38PM +0100, Jakub Jelinek wrote:
> On Fri, Feb 03, 2017 at 03:05:58PM -0500, Michael Meissner wrote:
> > > > --- gcc/testsuite/gcc.target/powerpc/pr79354.c.jj       2017-02-03 
> > > > 02:37:44.147938375 +0100
> > > > +++ gcc/testsuite/gcc.target/powerpc/pr79354.c  2017-02-03 
> > > > 02:38:34.838303987 +0100
> > > > @@ -0,0 +1,23 @@
> > > > +/* PR target/79354 */
> > > > +/* { dg-do compile { target { powerpc64*-*-* && lp64 } } } */
> > 
> > The code that moves SFmode vector registers to GPRs needs -m64 (the convert
> > from scalar format to vector format puts the converted SFmode value in the
> > upper 32-bits of the vector register, and then after the direct move, it 
> > does a
> > 32-bit shift right in the GPR).  Similarly, going from a GPR to a vector
> > register, we do a shift left 32-bits, direct move, and then convert from 
> > vector
> > format to scalar format.
> 
> The testcase is testing that the particular power9 instruction doesn't
> appear in -mcpu=power8 output.  The test is valid source even for -m32 and
> should not contain the power9 instruction either.
> Without the rs6000.md change the test will only FAIL with -m64 indeed.

The function being patched (movsi_from_sf) will only be called when -m64 and
-mcpu=power9 or -mcpu=power8 are used.  So, it doesn't harm anything to omit
the && lp64, but the fix being tested would only occur in 64-bit mode.

-- 
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