PowerPC Add has_arch_pwr* checks
authorWill Schmidt <will_schmidt@vnet.ibm.com>
Thu, 27 Feb 2020 17:01:20 +0000 (11:01 -0600)
committerWill Schmidt <will_schmidt@vnet.ibm.com>
Thu, 27 Feb 2020 17:01:20 +0000 (11:01 -0600)
testsuite/

2020-02-25 Will Schmidt  <will_schmidt@vnet.ibm.com>

      * lib/target_supports.exp (check_effective_target_has_arch_pwr5): New.
      (check_effective_target_has_arch_pwr6): New.
      (check_effective_target_has_arch_pwr7): New.
      (check_effective_target_has_arch_pwr8): New.
      (check_effective_target_has_arch_pwr9): New.
      * gcc.target/powerpc/pr92132-fp-1.c: Add target check.

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/pr92132-fp-1.c
gcc/testsuite/lib/target-supports.exp

index c7f1abd24679caee9b2f6fde800f660e9b6bf84e..b2a82be4658d9a546eeb71fd63befe70cdf8527b 100644 (file)
@@ -1,3 +1,13 @@
+2020-02-27  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * lib/target_supports.exp (check_effective_target_has_arch_pwr5): New.
+       (check_effective_target_has_arch_pwr6): New.
+       (check_effective_target_has_arch_pwr7): New.
+       (check_effective_target_has_arch_pwr8): New.
+       (check_effective_target_has_arch_pwr9): New.
+       * gcc.target/powerpc/pr92132-fp-1.c: Add target check.
+
+
 2020-02-27  Bill Schmidt  <wschmidt@linux.ibm.com>
 
        * gcc.target/powerpc/ppc64-abi-1.c: Compile with -mno-pcrel.
index 1023e8cd9d8fda7ea3535b18cc77689f58a42e5a..c5cbb62ee736bd9ac2cee93a94a571d872287985 100644 (file)
@@ -294,4 +294,4 @@ main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 14 "vect" } } */
+/* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 14 "vect" { target has_arch_pwr8 } } } */
index 9592c539c11634f580357d3ebbd02cdeb1da1b3a..ca3895c22690dc15b6c2beffb53ea6f39ad80b38 100644 (file)
@@ -5549,6 +5549,58 @@ proc check_effective_target_powerpc_p9modulo_ok { } {
     }
 }
 
+# return 1 if our compiler returns the ARCH_PWR defines with the options
+# as provided by the test.
+proc check_effective_target_has_arch_pwr5 { } {
+       return [check_no_compiler_messages arch_pwr5 assembly {
+               #ifndef _ARCH_PWR5
+               #error does not have power5 support.
+               #else
+               /* "has power5 support" */
+               #endif
+       }]
+}
+
+proc check_effective_target_has_arch_pwr6 { } {
+       return [check_no_compiler_messages arch_pwr6 assembly {
+               #ifndef _ARCH_PWR6
+               #error does not have power6 support.
+               #else
+               /* "has power6 support" */
+               #endif
+       }]
+}
+
+proc check_effective_target_has_arch_pwr7 { } {
+       return [check_no_compiler_messages arch_pwr7 assembly {
+               #ifndef _ARCH_PWR7
+               #error does not have power7 support.
+               #else
+               /* "has power7 support" */
+               #endif
+       }]
+}
+
+proc check_effective_target_has_arch_pwr8 { } {
+       return [check_no_compiler_messages arch_pwr8 assembly {
+               #ifndef _ARCH_PWR8
+               #error does not have power8 support.
+               #else
+               /* "has power8 support" */
+               #endif
+       }]
+}
+
+proc check_effective_target_has_arch_pwr9 { } {
+       return [check_no_compiler_messages arch_pwr9 assembly {
+               #ifndef _ARCH_PWR9
+               #error does not have power9 support.
+               #else
+               /* "has power9 support" */
+               #endif
+       }]
+}
+
 # Return 1 if this is a PowerPC target supporting -mfuture.
 # Limit this to 64-bit linux systems for now until other
 # targets support FUTURE.