}
}
+# 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 { } {
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*-*-*]