aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/lib/target-supports.exp17
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 570d5d3..52d3d03 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -5887,6 +5887,21 @@ proc check_effective_target_powerpc_hard_double { } {
}
}
+# Return 1 if this is a PowerPC target with hardware floating point sqrt.
+
+proc check_effective_target_powerpc_sqrt { } {
+ # We need to be PowerPC, and we need to have hardware fp enabled.
+ if {![check_effective_target_powerpc_fprs]} {
+ return 0;
+ }
+
+ return [check_no_compiler_messages powerpc_sqrt object {
+ #ifndef _ARCH_PPCSQ
+ #error _ARCH_PPCSQ is not defined
+ #endif
+ } {}]
+}
+
# Return 1 if this is a PowerPC target supporting -maltivec.
proc check_effective_target_powerpc_altivec_ok { } {
@@ -7581,7 +7596,7 @@ proc check_effective_target_vect_call_copysignf { } {
proc check_effective_target_sqrt_insn { } {
return [check_cached_effective_target sqrt_insn {
expr { [istarget i?86-*-*] || [istarget x86_64-*-*]
- || [istarget powerpc*-*-*]
+ || [check_effective_target_powerpc_sqrt]
|| [istarget aarch64*-*-*]
|| ([istarget arm*-*-*] && [check_effective_target_arm_vfp_ok])
|| ([istarget s390*-*-*]