@@ -1292,14 +1292,14 @@ powerpc*-*-linux*)
if test $libgcc_cv_powerpc_float128 = yes; then
tmake_file="${tmake_file} rs6000/t-float128"
- fi
- if test $libgcc_cv_powerpc_float128_hw = yes; then
- tmake_file="${tmake_file} rs6000/t-float128-hw"
- fi
+ if test $libgcc_cv_powerpc_float128_hw = yes; then
+ tmake_file="${tmake_file} rs6000/t-float128-hw"
- if test $libgcc_cv_powerpc_3_1_float128_hw = yes; then
- tmake_file="${tmake_file} rs6000/t-float128-p10-hw"
+ if test $libgcc_cv_powerpc_3_1_float128_hw = yes; then
+ tmake_file="${tmake_file} rs6000/t-float128-p10-hw"
+ fi
+ fi
fi
extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
@@ -74,7 +74,13 @@ fp128_includes = $(srcdir)/soft-fp/double.h \
$(srcdir)/soft-fp/soft-fp.h
# Build the emulator without ISA 3.0 hardware support.
-FP128_CFLAGS_SW = -Wno-type-limits -mvsx -mfloat128 \
+#
+# In the past we added -mvsx to build the float128 specific libraries with the
+# VSX instruction set. This allowed the big endian GCC on server platforms to
+# build the float128 support. However, is causes problems when other default
+# cpu targets are used such as the 7450.
+
+FP128_CFLAGS_SW = -Wno-type-limits -mfloat128 \
-mno-float128-hardware -mno-gnu-attribute \
-I$(srcdir)/soft-fp \
-I$(srcdir)/config/rs6000 \
@@ -23,8 +23,7 @@ fp128_ifunc_obj = $(fp128_ifunc_static_obj) $(fp128_ifunc_shared_obj)
fp128_sed_hw = -hw
# Build the hardware support functions with appropriate hardware support
-FP128_CFLAGS_HW = -Wno-type-limits -mvsx -mfloat128 \
- -mcpu=power9 \
+FP128_CFLAGS_HW = -Wno-type-limits -mfloat128 -mcpu=power9 \
-mfloat128-hardware -mno-gnu-attribute \
-I$(srcdir)/soft-fp \
-I$(srcdir)/config/rs6000 \
@@ -13,8 +13,7 @@ fp128_3_1_hw_shared_obj = $(addsuffix _s$(objext),$(fp128_3_1_hw_funcs))
fp128_3_1_hw_obj = $(fp128_3_1_hw_static_obj) $(fp128_3_1_hw_shared_obj)
# Build the hardware support functions with appropriate hardware support
-FP128_3_1_CFLAGS_HW = -Wno-type-limits -mvsx -mfloat128 \
- -mcpu=power10 \
+FP128_3_1_CFLAGS_HW = -Wno-type-limits -mfloat128 -mcpu=power10 \
-mfloat128-hardware -mno-gnu-attribute \
-I$(srcdir)/soft-fp \
-I$(srcdir)/config/rs6000 \
@@ -5184,9 +5184,15 @@ case ${host} in
# check if we have VSX (ISA 2.06) support to build the software libraries, and
# whether the assembler can handle xsaddqp for hardware support. Also check if
# a new glibc is being used so that __builtin_cpu_supports can be used.
+#
+# with the VSX instruction set. This allowed the big endian GCC on server
+# platforms to build the float128 support. However, is causes problems when
+# other default cpu targets are used such as the 7450. Now
+# libgcc_cv_powerpc_float128 will fail if the default cpu cannot build the
+# float128 support.
powerpc*-*-linux*)
saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mabi=altivec -mvsx -mfloat128"
+ CFLAGS="$CFLAGS -mfloat128"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 2.06 to build __float128 libraries" >&5
$as_echo_n "checking for PowerPC ISA 2.06 to build __float128 libraries... " >&6; }
if ${libgcc_cv_powerpc_float128+:} false; then :
@@ -407,9 +407,15 @@ case ${host} in
# check if we have VSX (ISA 2.06) support to build the software libraries, and
# whether the assembler can handle xsaddqp for hardware support. Also check if
# a new glibc is being used so that __builtin_cpu_supports can be used.
+#
+# with the VSX instruction set. This allowed the big endian GCC on server
+# platforms to build the float128 support. However, is causes problems when
+# other default cpu targets are used such as the 7450. Now
+# libgcc_cv_powerpc_float128 will fail if the default cpu cannot build the
+# float128 support.
powerpc*-*-linux*)
saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mabi=altivec -mvsx -mfloat128"
+ CFLAGS="$CFLAGS -mfloat128"
AC_CACHE_CHECK([for PowerPC ISA 2.06 to build __float128 libraries],
[libgcc_cv_powerpc_float128],
[AC_COMPILE_IFELSE(