On Fri, Jun 03, 2016 at 11:41:26AM -0500, Bill Schmidt wrote: > When changing vec_ld and vec_st to be expanded during parsing, I > missed a subtle case that happens only for C++. If the base address > argument has an array type, this doesn’t get converted to a pointer. > For our purposes, we need the pointer, and it’s safe to make that > conversion, so this patch performs that adjustment. I’ve added a > test to the C++ torture bucket to verify this now works. > > Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no > regressions. Is this ok for trunk, and eventual backport to the 6 branch?
Okay. A few questions about the testcase... > +++ b/gcc/testsuite/g++.dg/torture/ppc-ldst-array.C > @@ -0,0 +1,18 @@ > +/* { dg-do compile { target { powerpc64*-*-* } } } */ > +/* { dg-skip-if "do not override mcpu" { powerpc*-*-* } { "-mcpu=*" } { > "-mcpu=power8" } } */ > +/* { dg-options "-O0 -mcpu=power8" } */ It's torture, do you need to force -O0? And the skip isn't necessary I think? Segher