Blame sysdeps/powerpc/powerpc64/le/configure.ac

Packit Service 82fcde
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
Packit Service 82fcde
# Local configure fragment for sysdeps/powerpc/powerpc64le.
Packit Service 82fcde
Packit Service 82fcde
dnl Require binary128 floating point support on powerpc64le (available in
Packit Service 82fcde
dnl GCC 6.2).
Packit Service 82fcde
AC_CACHE_CHECK([if $CC supports binary128 floating point type],
Packit Service 82fcde
	       libc_cv_compiler_powerpc64le_binary128_ok, [dnl
Packit Service 82fcde
save_CFLAGS="$CFLAGS"
Packit Service 82fcde
CFLAGS="$CFLAGS -Werror -mfloat128"
Packit Service 82fcde
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
Packit Service 82fcde
__float128 a, b, c, d, e;
Packit Service 82fcde
int i;
Packit Service 82fcde
Packit Service 82fcde
__float128
Packit Service 82fcde
foobar (__float128 x)
Packit Service 82fcde
{
Packit Service 82fcde
  a = __builtin_nansq ("0");
Packit Service 82fcde
  b = __builtin_huge_valq ();
Packit Service 82fcde
  c = __builtin_infq ();
Packit Service 82fcde
  d = __builtin_fabsq (x);
Packit Service 82fcde
  e = __builtin_nanq ("0");
Packit Service 82fcde
  i = __builtin_signbit (x);
Packit Service 82fcde
  return __builtin_copysignq (x, x);
Packit Service 82fcde
}
Packit Service 82fcde
]])],
Packit Service 82fcde
		  [libc_cv_compiler_powerpc64le_binary128_ok=yes],
Packit Service 82fcde
		  [libc_cv_compiler_powerpc64le_binary128_ok=no])
Packit Service 82fcde
CFLAGS="$save_CFLAGS"])
Packit Service 82fcde
AS_IF([test "$libc_cv_compiler_powerpc64le_binary128_ok" != "yes"],
Packit Service 82fcde
      [critic_missing="$critic_missing binary128 floating point type (GCC >= 6.2) is required on powerpc64le."])
Packit Service 82fcde
Packit Service 82fcde
dnl Require at least POWER8 on powerpc64le
Packit Service 82fcde
OLD_CFLAGS="$CFLAGS"
Packit Service 82fcde
CFLAGS="$CFLAGS $libc_cv_cc_submachine"
Packit Service 82fcde
AC_CACHE_CHECK([if the target machine is at least POWER8],
Packit Service 82fcde
	       libc_cv_target_power8_ok, [
Packit Service 82fcde
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
Packit Service 82fcde
#ifndef _ARCH_PWR8
Packit Service 82fcde
#error invalid target architecture
Packit Service 82fcde
#endif
Packit Service 82fcde
]])],
Packit Service 82fcde
	       [libc_cv_target_power8_ok=yes],
Packit Service 82fcde
	       [libc_cv_target_power8_ok=no])])
Packit Service 82fcde
AS_IF([test "$libc_cv_target_power8_ok" != "yes"],
Packit Service 82fcde
      [critic_missing="$critic_missing POWER8 or newer is required on powerpc64le."])
Packit Service 82fcde
CFLAGS="$OLD_CFLAGS"
Packit Service 82fcde
Packit Service 82fcde
test -n "$critic_missing" && AC_MSG_ERROR([*** $critic_missing])