aboutsummaryrefslogtreecommitdiff
path: root/libgcc/configure
diff options
context:
space:
mode:
Diffstat (limited to 'libgcc/configure')
-rwxr-xr-xlibgcc/configure37
1 files changed, 37 insertions, 0 deletions
diff --git a/libgcc/configure b/libgcc/configure
index dd3afb2..4919a56 100755
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -5263,6 +5263,43 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_float128_hw" >&5
$as_echo "$libgcc_cv_powerpc_float128_hw" >&6; }
CFLAGS="$saved_CFLAGS"
+
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -mcpu=power10 -mfloat128-hardware"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 3.1 to build hardware __float128 libraries" >&5
+$as_echo_n "checking for PowerPC ISA 3.1 to build hardware __float128 libraries... " >&6; }
+if ${libgcc_cv_powerpc_3_1_float128_hw+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/auxv.h>
+ #ifndef AT_PLATFORM
+ #error "AT_PLATFORM is not defined"
+ #endif
+ #ifndef __BUILTIN_CPU_SUPPORTS__
+ #error "__builtin_cpu_supports is not available"
+ #endif
+ vector unsigned char conv (vector unsigned char qs)
+ {
+ vector unsigned char ret;
+ __asm__ ("xscvsqqp %0,%1" : "=v" (ret) : "v" (qs));
+ return ret;
+ }
+ void *conv_resolver (void) { return (void *) conv; }
+ __float128 conv_ifunc (__float128)
+ __attribute__ ((__ifunc__ ("conv_resolver")));
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libgcc_cv_powerpc_3_1_float128_hw=yes
+else
+ libgcc_cv_powerpc_3_1_float128_hw=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_3_1_float128_hw" >&5
+$as_echo "$libgcc_cv_powerpc_3_1_float128_hw" >&6; }
+ CFLAGS="$saved_CFLAGS"
esac
# Collect host-machine-specific information.