cpu-builtin-1.c: Change test to use #ifdef __BUILTIN_CPU_SUPPORTS to see if...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Wed, 19 Jul 2017 19:29:16 +0000 (19:29 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Wed, 19 Jul 2017 19:29:16 +0000 (19:29 +0000)
2017-07-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/cpu-builtin-1.c: Change test to use #ifdef
__BUILTIN_CPU_SUPPORTS to see if the GLIBC is new enough that
__builtin_cpu_is and __builtin_cpu_supports are supported.

From-SVN: r250364

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c

index 4cbab4e28d395b06e716bbc03c92606596574500..ce75e23d7d7d9de80a8f959ec6f2c07ba7d89ed0 100644 (file)
@@ -1,3 +1,9 @@
+2017-07-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * gcc.target/powerpc/cpu-builtin-1.c: Change test to use #ifdef
+       __BUILTIN_CPU_SUPPORTS to see if the GLIBC is new enough that
+       __builtin_cpu_is and __builtin_cpu_supports are supported.
+
 2017-07-19  Steven Munroe  <munroesj@gcc.gnu.org>
 
        * gcc.target/powerpc/bmi-check.h (main): Skip unless
index c13fed7efd49a8ad44d5334485e4198fc7e2c2a8..1de4b6980af708452af4990ae807b6be32f429e2 100644 (file)
@@ -1,10 +1,14 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
-/* { dg-require-effective-target ppc_cpu_supports_hw } */
 
 void
 use_cpu_is_builtins (unsigned int *p)
 {
+  /* If GCC was configured to use an old GLIBC (before 2.23), the
+     __builtin_cpu_is and __builtin_cpu_supports built-in functions return 0,
+     and the compiler issues a warning that you need a newer glibc to use them.
+     Use #ifdef to avoid the warning.  */
+#ifdef __BUILTIN_CPU_SUPPORTS__
   p[0] = __builtin_cpu_is ("power9");
   p[1] = __builtin_cpu_is ("power8");
   p[2] = __builtin_cpu_is ("power7");
@@ -20,11 +24,15 @@ use_cpu_is_builtins (unsigned int *p)
   p[12] = __builtin_cpu_is ("ppc440");
   p[13] = __builtin_cpu_is ("ppc405");
   p[14] = __builtin_cpu_is ("ppc-cell-be");
+#else
+  p[0] = 0;
+#endif
 }
 
 void
 use_cpu_supports_builtins (unsigned int *p)
 {
+#ifdef __BUILTIN_CPU_SUPPORTS__
   p[0] = __builtin_cpu_supports ("4xxmac");
   p[1] = __builtin_cpu_supports ("altivec");
   p[2] = __builtin_cpu_supports ("arch_2_05");
@@ -63,4 +71,7 @@ use_cpu_supports_builtins (unsigned int *p)
   p[35] = __builtin_cpu_supports ("ucache");
   p[36] = __builtin_cpu_supports ("vcrypto");
   p[37] = __builtin_cpu_supports ("vsx");
+#else
+  p[0] = 0;
+#endif
 }