public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-01-28 21:21 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-01-28 21:21 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:0be3fc716e325d98bf00dd0c91a74b27e27cb541
commit 0be3fc716e325d98bf00dd0c91a74b27e27cb541
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Fri Jan 28 16:20:01 2022 -0500
Revert patch.
2022-01-28 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
PR target/104253
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the
compiler used to build the current compiler defaults to IEEE
128-bit long double, make that the default for this build.
gcc/testsuite/
Revert patch.
PR target/104253
* gcc.target/powerpc/pr104253.c: New test.
Diff:
---
gcc/config/rs6000/rs6000.cc | 18 ----
gcc/testsuite/gcc.target/powerpc/pr104253.c | 154 ----------------------------
2 files changed, 172 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 4fa0540c6af..f5c089a2a26 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -11106,14 +11106,6 @@ init_float128_ibm (machine_mode mode)
names. */
if (mode == IFmode)
{
- set_conv_libfunc (sext_optab, mode, SFmode, "__extendsftf2");
- set_conv_libfunc (sext_optab, mode, DFmode, "__extenddftf2");
- set_conv_libfunc (trunc_optab, SFmode, mode, "__trunctfsf2");
- set_conv_libfunc (trunc_optab, DFmode, mode, "__trunctfdf2");
-
- set_conv_libfunc (sext_optab, mode, IFmode, "__trunctftf2");
- set_conv_libfunc (trunc_optab, IFmode, mode, "__extendtftf2");
-
set_conv_libfunc (sext_optab, mode, SDmode, "__dpd_extendsdtf");
set_conv_libfunc (sext_optab, mode, DDmode, "__dpd_extendddtf");
set_conv_libfunc (trunc_optab, mode, TDmode, "__dpd_trunctdtf");
@@ -11121,16 +11113,6 @@ init_float128_ibm (machine_mode mode)
set_conv_libfunc (trunc_optab, DDmode, mode, "__dpd_trunctfdd");
set_conv_libfunc (sext_optab, TDmode, mode, "__dpd_extendtftd");
- set_conv_libfunc (sfix_optab, SImode, mode, "__fixtfsi");
- set_conv_libfunc (ufix_optab, SImode, mode, "__fixunstfsi");
- set_conv_libfunc (sfix_optab, DImode, mode, "__fixtfdi");
- set_conv_libfunc (ufix_optab, DImode, mode, "__fixunstfdi");
-
- set_conv_libfunc (sfloat_optab, mode, SImode, "__floatsitf");
- set_conv_libfunc (ufloat_optab, mode, SImode, "__floatunsitf");
- set_conv_libfunc (sfloat_optab, mode, DImode, "__floatditf");
- set_conv_libfunc (ufloat_optab, mode, DImode, "__floatunditf");
-
if (TARGET_POWERPC64)
{
set_conv_libfunc (sfix_optab, TImode, mode, "__fixtfti");
diff --git a/gcc/testsuite/gcc.target/powerpc/pr104253.c b/gcc/testsuite/gcc.target/powerpc/pr104253.c
deleted file mode 100644
index a1e73fe012c..00000000000
--- a/gcc/testsuite/gcc.target/powerpc/pr104253.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Require float128 support because __ibm128 currently is not enabled unless we
- * also have __float128 support.
- */
-
-/* { dg-do run } */
-/* { require-effective-target ppc_float128_sw } */
-/* { dg-options "-O2 -mvsx -mfloat128" } */
-
-/*
- * PR target/104253
- *
- * Verify that the various conversions to and from __ibm128 work. When the
- * default for long double is changed to IEEE 128-bit, originally GCC would
- * call the functions using an 'if' name instead of 'tf.
- */
-
-#include <stdlib.h>
-
-extern float ibm128_to_sf (__ibm128) __attribute__((noinline));
-extern double ibm128_to_df (__ibm128) __attribute__((noinline));
-extern int ibm128_to_si (__ibm128) __attribute__((noinline));
-extern long long ibm128_to_di (__ibm128) __attribute__((noinline));
-extern unsigned int ibm128_to_usi (__ibm128) __attribute__((noinline));
-extern unsigned long long ibm128_to_udi (__ibm128) __attribute__((noinline));
-
-extern __ibm128 sf_to_ibm128 (float) __attribute__((noinline));
-extern __ibm128 df_to_ibm128 (double) __attribute__((noinline));
-extern __ibm128 si_to_ibm128 (int) __attribute__((noinline));
-extern __ibm128 di_to_ibm128 (long long) __attribute__((noinline));
-extern __ibm128 usi_to_ibm128 (unsigned int) __attribute__((noinline));
-extern __ibm128 udi_to_ibm128 (unsigned long long) __attribute__((noinline));
-
-float
-ibm128_to_sf (__ibm128 x)
-{
- return x;
-}
-
-double
-ibm128_to_df (__ibm128 x)
-{
- return x;
-}
-
-int
-ibm128_to_si (__ibm128 x)
-{
- return x;
-}
-
-long long
-ibm128_to_di (__ibm128 x)
-{
- return x;
-}
-
-unsigned int
-ibm128_to_usi (__ibm128 x)
-{
- return x;
-}
-
-unsigned long long
-ibm128_to_udi (__ibm128 x)
-{
- return x;
-}
-
-__ibm128
-sf_to_ibm128 (float x)
-{
- return x;
-}
-
-__ibm128
-df_to_ibm128 (double x)
-{
- return x;
-}
-
-__ibm128
-si_to_ibm128 (int x)
-{
- return x;
-}
-
-__ibm128
-di_to_ibm128 (long long x)
-{
- return x;
-}
-
-__ibm128
-usi_to_ibm128 (unsigned int x)
-{
- return x;
-}
-
-__ibm128
-udi_to_ibm128 (unsigned long long x)
-{
- return x;
-}
-
-volatile float seven_sf = 7.0f;
-volatile double seven_df = 7.0;
-volatile int seven_si = 7;
-volatile long long seven_di = 7LL;
-volatile unsigned int seven_usi = 7U;
-volatile unsigned long long seven_udi = 7ULL;
-volatile __ibm128 seven_ibm128 = 7.0;
-
-int
-main (void)
-{
- if (seven_ibm128 != sf_to_ibm128 (seven_sf))
- abort ();
-
- if (seven_ibm128 != df_to_ibm128 (seven_df))
- abort ();
-
- if (seven_ibm128 != si_to_ibm128 (seven_si))
- abort ();
-
- if (seven_ibm128 != di_to_ibm128 (seven_di))
- abort ();
-
- if (seven_ibm128 != usi_to_ibm128 (seven_usi))
- abort ();
-
- if (seven_ibm128 != udi_to_ibm128 (seven_udi))
- abort ();
-
- if (seven_sf != ibm128_to_sf (seven_ibm128))
- abort ();
-
- if (seven_df != ibm128_to_df (seven_ibm128))
- abort ();
-
- if (seven_si != ibm128_to_si (seven_ibm128))
- abort ();
-
- if (seven_di != ibm128_to_di (seven_ibm128))
- abort ();
-
- if (seven_usi != ibm128_to_usi (seven_ibm128))
- abort ();
-
- if (seven_udi != ibm128_to_udi (seven_ibm128))
- abort ();
-
- return 0;
-}
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-02-03 0:47 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-02-03 0:47 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:d0dddd1fff8b939f858f18c5fdb33aefe14f68ec
commit d0dddd1fff8b939f858f18c5fdb33aefe14f68ec
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Feb 2 19:46:53 2022 -0500
Revert patch.
2022-02-02 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
* config.in (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): New
configure option.
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the host
compiler used IEEE 128-bit long doubles and the long double format
was not specified with configuration switches, set the long double
format to IEEE 128-bit.
* configure.ac (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): Set as 1
if the host compiler used IEEE 128-bit long doubles.
* configure: Regenerate.
Diff:
---
gcc/config.in | 4 ----
gcc/config/rs6000/rs6000.cc | 7 +------
gcc/configure | 33 ---------------------------------
gcc/configure.ac | 21 +--------------------
4 files changed, 2 insertions(+), 63 deletions(-)
diff --git a/gcc/config.in b/gcc/config.in
index 746c522e4e6..64c27c9cfac 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2732,7 +2732,3 @@
#undef vfork
#endif
-/* Define if long double is IEEE 128-bit on PowerPC systems by default. */
-#ifndef USED_FOR_TARGET
-#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#endif
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index a0e234438cd..666dec694a8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -91,15 +91,10 @@
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. This needs to be after all
of the include files, so that POWERPC_LINUX and POWERPC_FREEBSD are
- properly defined.
-
- If we were built with a host compiler that defaulted to IEEE 128-bit, set
- the default here to use IEEE 128-bit. */
+ properly defined. */
#ifndef TARGET_IEEEQUAD_DEFAULT
#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
#define TARGET_IEEEQUAD_DEFAULT 1
-#elif defined (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE)
-#define TARGET_IEEEQUAD_DEFAULT 1
#else
#define TARGET_IEEEQUAD_DEFAULT 0
#endif
diff --git a/gcc/configure b/gcc/configure
index 113860968ed..bd4d4721868 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -31473,39 +31473,6 @@ on 64-bit PowerPC VSX Linux systems" "$LINENO" 5
with_long_double_format=""
;;
esac
-else
- gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PowerPC target defaults to IEEE 128-bit long double" >&5
-$as_echo_n "checking if PowerPC target defaults to IEEE 128-bit long double... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LDBL
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "IEEE_LDBL" >/dev/null 2>&1; then :
- gcc_cv_powerpc_ieee_long_double=yes
-else
- gcc_cv_powerpc_ieee_long_double=no
-fi
-rm -f conftest*
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_powerpc_ieee_long_double" >&5
-$as_echo "$gcc_cv_powerpc_ieee_long_double" >&6; }
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
-
-$as_echo "#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- ;;
- esac
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index d7a0d6e6999..1171c946e6e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -6975,26 +6975,7 @@ on 64-bit PowerPC VSX Linux systems])
with_long_double_format=""
;;
esac],
- [gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- AC_MSG_CHECKING(if PowerPC target defaults to IEEE 128-bit long double)
- AC_EGREP_CPP(IEEE_LDBL,[
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LDBL
-#endif
- ],
- [gcc_cv_powerpc_ieee_long_double=yes],
- [gcc_cv_powerpc_ieee_long_double=no])
- AC_MSG_RESULT($gcc_cv_powerpc_ieee_long_double)
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
- AC_DEFINE(TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE, 1,
- [Define if long double is IEEE 128-bit on PowerPC systems by default])
- fi
- ;;
- esac])
+ [])
# Check if the target LIBC supports exporting the AT_PLATFORM and AT_HWCAP
# values in the TCB. Currently, only GLIBC 2.23 and later support this.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-02-02 21:58 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-02-02 21:58 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:cff2393c38d6bf5e180bfbf21a01a24a1c7d0dc5
commit cff2393c38d6bf5e180bfbf21a01a24a1c7d0dc5
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Feb 2 16:58:27 2022 -0500
Revert patch.
2022-02-02 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
* config.in (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): New
configure option.
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the host
compiler used IEEE 128-bit long doubles and the long double format
was not specified with configuration switches, set the long double
format to IEEE 128-bit.
* configure.ac (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): Set as 1
if the host compiler used IEEE 128-bit long doubles.
* configure: Regenerate.
Diff:
---
gcc/config.in | 4 ----
gcc/config/rs6000/rs6000.cc | 7 +------
gcc/configure | 33 ---------------------------------
gcc/configure.ac | 21 +--------------------
4 files changed, 2 insertions(+), 63 deletions(-)
diff --git a/gcc/config.in b/gcc/config.in
index 746c522e4e6..64c27c9cfac 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2732,7 +2732,3 @@
#undef vfork
#endif
-/* Define if long double is IEEE 128-bit on PowerPC systems by default. */
-#ifndef USED_FOR_TARGET
-#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#endif
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index a0e234438cd..666dec694a8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -91,15 +91,10 @@
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. This needs to be after all
of the include files, so that POWERPC_LINUX and POWERPC_FREEBSD are
- properly defined.
-
- If we were built with a host compiler that defaulted to IEEE 128-bit, set
- the default here to use IEEE 128-bit. */
+ properly defined. */
#ifndef TARGET_IEEEQUAD_DEFAULT
#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
#define TARGET_IEEEQUAD_DEFAULT 1
-#elif defined (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE)
-#define TARGET_IEEEQUAD_DEFAULT 1
#else
#define TARGET_IEEEQUAD_DEFAULT 0
#endif
diff --git a/gcc/configure b/gcc/configure
index 824d172b606..bd4d4721868 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -31473,39 +31473,6 @@ on 64-bit PowerPC VSX Linux systems" "$LINENO" 5
with_long_double_format=""
;;
esac
-else
- gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PowerPC target defaults to IEEE 128-bit long double" >&5
-$as_echo_n "checking if PowerPC target defaults to IEEE 128-bit long double... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "IEEE_LONG_DOUBLE" >/dev/null 2>&1; then :
- gcc_cv_powerpc_ieee_long_double=yes
-else
- gcc_cv_powerpc_ieee_long_double=no
-fi
-rm -f conftest*
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_powerpc_ieee_long_double" >&5
-$as_echo "$gcc_cv_powerpc_ieee_long_double" >&6; }
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
-
-$as_echo "#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- ;;
- esac
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index c373b348568..1171c946e6e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -6975,26 +6975,7 @@ on 64-bit PowerPC VSX Linux systems])
with_long_double_format=""
;;
esac],
- [gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- AC_MSG_CHECKING(if PowerPC target defaults to IEEE 128-bit long double)
- AC_EGREP_CPP(IEEE_LONG_DOUBLE,[
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
- ],
- [gcc_cv_powerpc_ieee_long_double=yes],
- [gcc_cv_powerpc_ieee_long_double=no])
- AC_MSG_RESULT($gcc_cv_powerpc_ieee_long_double)
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
- AC_DEFINE(TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE, 1,
- [Define if long double is IEEE 128-bit on PowerPC systems by default])
- fi
- ;;
- esac])
+ [])
# Check if the target LIBC supports exporting the AT_PLATFORM and AT_HWCAP
# values in the TCB. Currently, only GLIBC 2.23 and later support this.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-02-02 18:47 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-02-02 18:47 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:52b446ee8df96dea2091a68ce4fd0135e8be8fb5
commit 52b446ee8df96dea2091a68ce4fd0135e8be8fb5
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Feb 2 13:47:20 2022 -0500
Revert patch.
2022-02-02 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
* config.in (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): New
configure option.
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the host
compiler used IEEE 128-bit long doubles and the long double format
was not specified with configuration switches, set the long double
format to IEEE 128-bit.
* configure.ac (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): Set as 1
if the host compiler used IEEE 128-bit long doubles.
* configure: Regenerate.
Diff:
---
gcc/config.in | 5 -----
gcc/config/rs6000/rs6000.cc | 7 +------
gcc/configure | 33 ---------------------------------
gcc/configure.ac | 21 +--------------------
4 files changed, 2 insertions(+), 64 deletions(-)
diff --git a/gcc/config.in b/gcc/config.in
index 8dc90def9ca..64c27c9cfac 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2732,8 +2732,3 @@
#undef vfork
#endif
-/* Define as 1 if the default long double on a PowerPC system uses the IEEE
- 128-bit format. */
-#ifndef USED_FOR_TARGET
-#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#endif
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index e005266361d..666dec694a8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -91,15 +91,10 @@
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. This needs to be after all
of the include files, so that POWERPC_LINUX and POWERPC_FREEBSD are
- properly defined.
-
- If we were built with a host compiler that defaulted to IEEE 128-bit, set
- the default here to use IEEE 128-bit. */
+ properly defined. */
#ifndef TARGET_IEEEQUAD_DEFAULT
#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
#define TARGET_IEEEQUAD_DEFAULT 1
-#elif defined (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE)
-#define TARGET_IEEEQUAD_DEFAULT TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
#else
#define TARGET_IEEEQUAD_DEFAULT 0
#endif
diff --git a/gcc/configure b/gcc/configure
index 824d172b606..bd4d4721868 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -31473,39 +31473,6 @@ on 64-bit PowerPC VSX Linux systems" "$LINENO" 5
with_long_double_format=""
;;
esac
-else
- gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PowerPC target defaults to IEEE 128-bit long double" >&5
-$as_echo_n "checking if PowerPC target defaults to IEEE 128-bit long double... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "IEEE_LONG_DOUBLE" >/dev/null 2>&1; then :
- gcc_cv_powerpc_ieee_long_double=yes
-else
- gcc_cv_powerpc_ieee_long_double=no
-fi
-rm -f conftest*
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_powerpc_ieee_long_double" >&5
-$as_echo "$gcc_cv_powerpc_ieee_long_double" >&6; }
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
-
-$as_echo "#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- ;;
- esac
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index c373b348568..1171c946e6e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -6975,26 +6975,7 @@ on 64-bit PowerPC VSX Linux systems])
with_long_double_format=""
;;
esac],
- [gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- AC_MSG_CHECKING(if PowerPC target defaults to IEEE 128-bit long double)
- AC_EGREP_CPP(IEEE_LONG_DOUBLE,[
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
- ],
- [gcc_cv_powerpc_ieee_long_double=yes],
- [gcc_cv_powerpc_ieee_long_double=no])
- AC_MSG_RESULT($gcc_cv_powerpc_ieee_long_double)
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
- AC_DEFINE(TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE, 1,
- [Define if long double is IEEE 128-bit on PowerPC systems by default])
- fi
- ;;
- esac])
+ [])
# Check if the target LIBC supports exporting the AT_PLATFORM and AT_HWCAP
# values in the TCB. Currently, only GLIBC 2.23 and later support this.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-02-02 18:29 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-02-02 18:29 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:243aff5ac4ffb036915da4af01aae20e36545b67
commit 243aff5ac4ffb036915da4af01aae20e36545b67
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Feb 2 13:28:48 2022 -0500
Revert patch.
2022-02-01 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
* config.in (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): New
configure option.
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the host
compiler used IEEE 128-bit long doubles and the long double format
was not specified with configuration switches, set the long double
format to IEEE 128-bit.
* configure.ac (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): Set as 1
if the host compiler used IEEE 128-bit long doubles.
* configure: Regenerate.
Diff:
---
gcc/config.in | 5 -----
gcc/config/rs6000/rs6000.cc | 7 +------
gcc/configure | 33 ---------------------------------
gcc/configure.ac | 21 +--------------------
4 files changed, 2 insertions(+), 64 deletions(-)
diff --git a/gcc/config.in b/gcc/config.in
index 8dc90def9ca..64c27c9cfac 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2732,8 +2732,3 @@
#undef vfork
#endif
-/* Define as 1 if the default long double on a PowerPC system uses the IEEE
- 128-bit format. */
-#ifndef USED_FOR_TARGET
-#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#endif
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index ea0e4cde3b6..666dec694a8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -91,15 +91,10 @@
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. This needs to be after all
of the include files, so that POWERPC_LINUX and POWERPC_FREEBSD are
- properly defined.
-
- If we were built with a host compiler that defaulted to IEEE 128-bit, set
- the default here to use IEEE 128-bit. */
+ properly defined. */
#ifndef TARGET_IEEEQUAD_DEFAULT
#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
#define TARGET_IEEEQUAD_DEFAULT 1
-#elif TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#define TARGET_IEEEQUAD_DEFAULT 1
#else
#define TARGET_IEEEQUAD_DEFAULT 0
#endif
diff --git a/gcc/configure b/gcc/configure
index 824d172b606..bd4d4721868 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -31473,39 +31473,6 @@ on 64-bit PowerPC VSX Linux systems" "$LINENO" 5
with_long_double_format=""
;;
esac
-else
- gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PowerPC target defaults to IEEE 128-bit long double" >&5
-$as_echo_n "checking if PowerPC target defaults to IEEE 128-bit long double... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "IEEE_LONG_DOUBLE" >/dev/null 2>&1; then :
- gcc_cv_powerpc_ieee_long_double=yes
-else
- gcc_cv_powerpc_ieee_long_double=no
-fi
-rm -f conftest*
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_powerpc_ieee_long_double" >&5
-$as_echo "$gcc_cv_powerpc_ieee_long_double" >&6; }
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
-
-$as_echo "#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- ;;
- esac
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index c373b348568..1171c946e6e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -6975,26 +6975,7 @@ on 64-bit PowerPC VSX Linux systems])
with_long_double_format=""
;;
esac],
- [gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- AC_MSG_CHECKING(if PowerPC target defaults to IEEE 128-bit long double)
- AC_EGREP_CPP(IEEE_LONG_DOUBLE,[
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
- ],
- [gcc_cv_powerpc_ieee_long_double=yes],
- [gcc_cv_powerpc_ieee_long_double=no])
- AC_MSG_RESULT($gcc_cv_powerpc_ieee_long_double)
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
- AC_DEFINE(TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE, 1,
- [Define if long double is IEEE 128-bit on PowerPC systems by default])
- fi
- ;;
- esac])
+ [])
# Check if the target LIBC supports exporting the AT_PLATFORM and AT_HWCAP
# values in the TCB. Currently, only GLIBC 2.23 and later support this.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-02-02 4:58 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-02-02 4:58 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:05656979619c99762eb434942e04eb80fbb1f917
commit 05656979619c99762eb434942e04eb80fbb1f917
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Feb 1 23:58:06 2022 -0500
Revert patch.
2022-02-01 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
* config.in (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): New
configure option.
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the host
compiler used IEEE 128-bit long doubles and the long double format
was not specified with configuration switches, set the long double
format to IEEE 128-bit.
* configure.ac (TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE): Set as 1
if the host compiler used IEEE 128-bit long doubles.
* configure: Regenerate.
Diff:
---
gcc/config.in | 5 -----
gcc/config/rs6000/rs6000.cc | 7 +------
gcc/configure | 33 ---------------------------------
gcc/configure.ac | 21 +--------------------
4 files changed, 2 insertions(+), 64 deletions(-)
diff --git a/gcc/config.in b/gcc/config.in
index 8dc90def9ca..64c27c9cfac 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2732,8 +2732,3 @@
#undef vfork
#endif
-/* Define as 1 if the default long double on a PowerPC system uses the IEEE
- 128-bit format. */
-#ifndef USED_FOR_TARGET
-#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#endif
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index ea0e4cde3b6..666dec694a8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -91,15 +91,10 @@
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. This needs to be after all
of the include files, so that POWERPC_LINUX and POWERPC_FREEBSD are
- properly defined.
-
- If we were built with a host compiler that defaulted to IEEE 128-bit, set
- the default here to use IEEE 128-bit. */
+ properly defined. */
#ifndef TARGET_IEEEQUAD_DEFAULT
#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
#define TARGET_IEEEQUAD_DEFAULT 1
-#elif TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE
-#define TARGET_IEEEQUAD_DEFAULT 1
#else
#define TARGET_IEEEQUAD_DEFAULT 0
#endif
diff --git a/gcc/configure b/gcc/configure
index 824d172b606..bd4d4721868 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -31473,39 +31473,6 @@ on 64-bit PowerPC VSX Linux systems" "$LINENO" 5
with_long_double_format=""
;;
esac
-else
- gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PowerPC target defaults to IEEE 128-bit long double" >&5
-$as_echo_n "checking if PowerPC target defaults to IEEE 128-bit long double... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "IEEE_LONG_DOUBLE" >/dev/null 2>&1; then :
- gcc_cv_powerpc_ieee_long_double=yes
-else
- gcc_cv_powerpc_ieee_long_double=no
-fi
-rm -f conftest*
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_powerpc_ieee_long_double" >&5
-$as_echo "$gcc_cv_powerpc_ieee_long_double" >&6; }
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
-
-$as_echo "#define TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- ;;
- esac
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 099e91d2a3f..1171c946e6e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -6975,26 +6975,7 @@ on 64-bit PowerPC VSX Linux systems])
with_long_double_format=""
;;
esac],
- [gcc_cv_powerpc_ieee_long_double=no
- case "$target" in
- powerpc*-*-linux*)
- # If --with-long-double format is not set, check to see whether the host
- # compiler defaults to it.
- AC_MSG_CHECKING(if PowerPC target defaults to IEEE 128-bit long double)
- AC_EGREP_CPP(IEEE_LONG_DOUBLE,[
-#if defined(_ARCH_PPC) && defined(__LONG_DOUBLE_IEEE128__)
-IEEE_LONG_DOUBLE
-#endif
- ],
- [gcc_cv_powerpc_ieee_long_double=yes],
- [gcc_cv_powerpc_ieee_long_double=no])
- AC_MSG_RESULT($gcc_cv_powerpc_ieee_long_double)
- if test x$gcc_cv_powerpc_ieee_long_double = xyes; then
- AC_DEFINE(TARGET_POWERPC_IEEE_128BIT_LONG_DOUBLE, 1,
- [Define if long double in IEEE 128-bit on PowerPC systems by default])
- fi
- ;;
- esac])
+ [])
# Check if the target LIBC supports exporting the AT_PLATFORM and AT_HWCAP
# values in the TCB. Currently, only GLIBC 2.23 and later support this.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-01-31 20:57 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-01-31 20:57 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:cb15f87ef42a151ff287489ff7da1218beddd0b3
commit cb15f87ef42a151ff287489ff7da1218beddd0b3
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Mon Jan 31 15:56:39 2022 -0500
Revert patch.
2022-01-26 Michael Meissner <meissner@the-meissners.org>
gcc/
Revert patch.
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the
compiler used to build the current compiler defaults to IEEE
128-bit long double, make that the default for this build.
Diff:
---
gcc/config/rs6000/rs6000.cc | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 3b4c496df56..666dec694a8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -91,22 +91,14 @@
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. This needs to be after all
of the include files, so that POWERPC_LINUX and POWERPC_FREEBSD are
- properly defined.
-
- If we are being built by a compiler that uses IEEE 128-bit as the default
- long double and no explicit long double format was selected, then also
- default long double to IEEE 128-bit. */
+ properly defined. */
#ifndef TARGET_IEEEQUAD_DEFAULT
#if !defined (POWERPC_LINUX) && !defined (POWERPC_FREEBSD)
#define TARGET_IEEEQUAD_DEFAULT 1
#else
-#ifdef __LONG_DOUBLE_IEEE128__
-#define TARGET_IEEEQUAD_DEFAULT 1
-#else
#define TARGET_IEEEQUAD_DEFAULT 0
#endif
#endif
-#endif
/* Don't enable PC-relative addressing if the target does not support it. */
#ifndef PCREL_SUPPORTED_BY_OS
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gcc(refs/users/meissner/heads/work077)] Revert patch.
@ 2022-01-28 14:53 Michael Meissner
0 siblings, 0 replies; 8+ messages in thread
From: Michael Meissner @ 2022-01-28 14:53 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:88198f18915687e4f0a3f20b34acca54174be5ad
commit 88198f18915687e4f0a3f20b34acca54174be5ad
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Fri Jan 28 09:53:20 2022 -0500
Revert patch.
2022-01-27 Michael Meissner <meissner@the-meissners.org>
gcc/
PR target/104253
* config/rs6000/rs6000.cc (TARGET_IEEEQUAD_DEFAULT): If the
compiler used to build the current compiler defaults to IEEE
128-bit long double, make that the default for this build.
Diff:
---
gcc/config/rs6000/rs6000.cc | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 4fa0540c6af..f5c089a2a26 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -11106,14 +11106,6 @@ init_float128_ibm (machine_mode mode)
names. */
if (mode == IFmode)
{
- set_conv_libfunc (sext_optab, mode, SFmode, "__extendsftf2");
- set_conv_libfunc (sext_optab, mode, DFmode, "__extenddftf2");
- set_conv_libfunc (trunc_optab, SFmode, mode, "__trunctfsf2");
- set_conv_libfunc (trunc_optab, DFmode, mode, "__trunctfdf2");
-
- set_conv_libfunc (sext_optab, mode, IFmode, "__trunctftf2");
- set_conv_libfunc (trunc_optab, IFmode, mode, "__extendtftf2");
-
set_conv_libfunc (sext_optab, mode, SDmode, "__dpd_extendsdtf");
set_conv_libfunc (sext_optab, mode, DDmode, "__dpd_extendddtf");
set_conv_libfunc (trunc_optab, mode, TDmode, "__dpd_trunctdtf");
@@ -11121,16 +11113,6 @@ init_float128_ibm (machine_mode mode)
set_conv_libfunc (trunc_optab, DDmode, mode, "__dpd_trunctfdd");
set_conv_libfunc (sext_optab, TDmode, mode, "__dpd_extendtftd");
- set_conv_libfunc (sfix_optab, SImode, mode, "__fixtfsi");
- set_conv_libfunc (ufix_optab, SImode, mode, "__fixunstfsi");
- set_conv_libfunc (sfix_optab, DImode, mode, "__fixtfdi");
- set_conv_libfunc (ufix_optab, DImode, mode, "__fixunstfdi");
-
- set_conv_libfunc (sfloat_optab, mode, SImode, "__floatsitf");
- set_conv_libfunc (ufloat_optab, mode, SImode, "__floatunsitf");
- set_conv_libfunc (sfloat_optab, mode, DImode, "__floatditf");
- set_conv_libfunc (ufloat_optab, mode, DImode, "__floatunditf");
-
if (TARGET_POWERPC64)
{
set_conv_libfunc (sfix_optab, TImode, mode, "__fixtfti");
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-02-03 0:47 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-28 21:21 [gcc(refs/users/meissner/heads/work077)] Revert patch Michael Meissner
-- strict thread matches above, loose matches on Subject: below --
2022-02-03 0:47 Michael Meissner
2022-02-02 21:58 Michael Meissner
2022-02-02 18:47 Michael Meissner
2022-02-02 18:29 Michael Meissner
2022-02-02 4:58 Michael Meissner
2022-01-31 20:57 Michael Meissner
2022-01-28 14:53 Michael Meissner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).