Hi David, I agree, and I'll fix the test as described and backport everywhere, assuming I don't encounter any problems. Thanks for catching this!
Bill On Wed, 2015-04-29 at 09:21 -0400, David Edelsohn wrote: > On Wed, Mar 4, 2015 at 3:14 PM, Bill Schmidt > <wschm...@linux.vnet.ibm.com> wrote: > > Hi, > > > > I recently observed that -mno-crypto disables all instructions in > > section 5.11 of the 2.07 ISA, rather than just those flagged as > > Category:Vector.Crypto. This patch fixes that undesirable situation. > > > > The main fix is to ensure the remaining instructions are gated by > > TARGET_P8_VECTOR rather than TARGET_CRYPTO. This leaves us in a > > somewhat ugly state where we have builtins named __builtin_crypto_* that > > are not controlled by -mcrypto. However, we have to keep support for > > these existing builtins. As discussed elsewhere, the longer-term plan > > is to implement a different common naming scheme for these builtins > > across all POWER compilers, at which point the __builtin_crypto_* forms > > will be deprecated. > > > > The changes to rs6000-builtin.def aren't the prettiest in the world, but > > were the best I could think of that continues support for the existing > > builtins while changing their predicates. Let me know if there's a > > better way. > > > > Ok for trunk once GCC 5 branches? I would eventually like to fix this > > in 4.8, 4.9, and 5 as well. > > > Index: gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c > > =================================================================== > > --- gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (revision 0) > > +++ gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (working copy) > > @@ -0,0 +1,36 @@ > > +/* { dg-do compile { target { powerpc*-*-* } } } */ > > +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ > > +/* { dg-require-effective-target powerpc_vsx_ok } */ > > +/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { > > "-mcpu=power8" } } */ > > +/* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */ > > Bill, > > I think this test criterion is wrong and should be > > Index: crypto-builtin-2.c > =================================================================== > --- crypto-builtin-2.c (revision 222534) > +++ crypto-builtin-2.c (working copy) > @@ -1,6 +1,6 @@ > /* { dg-do compile { target { powerpc*-*-* } } } */ > /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ > -/* { dg-require-effective-target powerpc_vsx_ok } */ > +/* { dg-require-effective-target powerpc_p8vector_ok } */ > /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" > } { "-mcpu=power8" } } */ > /* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */ > > Thoughts? > > - David >