Hi! I'd like to ping this patch. Thanks! Bill
On 11/18/21 7:47 AM, Bill Schmidt wrote: > Hi! This patch is broken out from the patch with test suite changes for the > new builtins support. > > With the old builtins support, cmpb-2.c produces: > warning: implicit declaration of function '__builtin_cmpb; did you mean > '__builtin_bcmp'? > > With the new support, it produces: > error: '__builtin_p6_cmpb requires the '-mcpu=power6' option and either the > '-m64' or '-mpowerpc64' option > note: builtin '__builtin_cmpb' requires builtin '__builtin_p6_cmpb' > > The reason for this is that this builtin wasn't even initialized in the > old support. This reflects a difference in philosophy between the old and > new methods. The old support often doesn't initialize builtins for which > the conditions don't apply based on compile options, but this can backfire > in general when such constructs as "#pragma target" are used. The new > support initializes all builtins, and waits until expand time to determine > whether or not they are enabled. Besides added flexibility, we also get > better error messages as a result. > > The case for cmpb32-2.c is similar. > > Tested on powerpc64le-linux-gnu and powerpc64-linux-gnu (-m32/-m64) with > no regressions. Is this okay for trunk? > > Thanks! > Bill > > > 2021-11-17 Bill Schmidt <wschm...@linux.ibm.com> > > gcc/testsuite/ > * gcc.target/powerpc/cmpb-2.c: Adjust error message. > * gcc.target/powerpc/cmpb32-2.c: Likewise. > --- > gcc/testsuite/gcc.target/powerpc/cmpb-2.c | 2 +- > gcc/testsuite/gcc.target/powerpc/cmpb32-2.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gcc/testsuite/gcc.target/powerpc/cmpb-2.c > b/gcc/testsuite/gcc.target/powerpc/cmpb-2.c > index 113ab6a5f99..02b84d0731d 100644 > --- a/gcc/testsuite/gcc.target/powerpc/cmpb-2.c > +++ b/gcc/testsuite/gcc.target/powerpc/cmpb-2.c > @@ -8,7 +8,7 @@ void abort (); > unsigned long long int > do_compare (unsigned long long int a, unsigned long long int b) > { > - return __builtin_cmpb (a, b); /* { dg-warning "implicit declaration > of function '__builtin_cmpb'" } */ > + return __builtin_cmpb (a, b); /* { dg-error "'__builtin_p6_cmpb' > requires the '-mcpu=power6' option" } */ > } > > void > diff --git a/gcc/testsuite/gcc.target/powerpc/cmpb32-2.c > b/gcc/testsuite/gcc.target/powerpc/cmpb32-2.c > index 37b54745e0e..d4264ab6e7d 100644 > --- a/gcc/testsuite/gcc.target/powerpc/cmpb32-2.c > +++ b/gcc/testsuite/gcc.target/powerpc/cmpb32-2.c > @@ -7,7 +7,7 @@ void abort (); > unsigned int > do_compare (unsigned int a, unsigned int b) > { > - return __builtin_cmpb (a, b); /* { dg-warning "implicit declaration of > function '__builtin_cmpb'" } */ > + return __builtin_cmpb (a, b); /* { dg-error "'__builtin_p6_cmpb_32' > requires the '-mcpu=power6' option" } */ > } > > void