summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>2018-06-25 19:34:01 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>2018-06-25 19:34:01 +0000
commit0e9af164efe5c92eba43d898fb67f7a1b1ed9254 (patch)
treeb8cccd87eaf9cc7d6cad45353202452d6d7892bc
parente8e6334e95fdd9eeae86d06cdaa9b697353a6bf2 (diff)
2018-06-25 Michael Meissner <meissner@linux.ibm.com>
Back port from trunk 2018-06-25 Michael Meissner <meissner@linux.ibm.com> * config.gcc (powerpc64le*): Revert January 16th, 2018 patch that added IEEE/IBM long double multilib support on PowerPC little endian Linux systems. * config/rs6000/linux64.h (MULTILIB_DEFAULTS_IEEE): Likewise. (MULTILIB_DEFAULTS): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. * config/rs6000/rs6000.h (TARGET_IEEEQUAD_MULTILIB): Likewise. * config/rs6000/t-ldouble-linux64le-ibm: Delete, no longer used. * config/rs6000/t-ldouble-linux64le-ieee: Delete, no longer used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@262108 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/config.gcc10
-rw-r--r--gcc/config/rs6000/linux64.h13
-rw-r--r--gcc/config/rs6000/rs6000.c8
-rw-r--r--gcc/config/rs6000/rs6000.h6
-rw-r--r--gcc/config/rs6000/t-ldouble-linux64le-ibm26
-rw-r--r--gcc/config/rs6000/t-ldouble-linux64le-ieee26
7 files changed, 21 insertions, 84 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7b5288bceb2e..8e7f31b32d13 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,19 @@
+2018-06-25 Michael Meissner <meissner@linux.ibm.com>
+
+ Back port from trunk
+ 2018-06-25 Michael Meissner <meissner@linux.ibm.com>
+
+ * config.gcc (powerpc64le*): Revert January 16th, 2018 patch that
+ added IEEE/IBM long double multilib support on PowerPC little
+ endian Linux systems.
+ * config/rs6000/linux64.h (MULTILIB_DEFAULTS_IEEE): Likewise.
+ (MULTILIB_DEFAULTS): Likewise.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal):
+ Likewise.
+ * config/rs6000/rs6000.h (TARGET_IEEEQUAD_MULTILIB): Likewise.
+ * config/rs6000/t-ldouble-linux64le-ibm: Delete, no longer used.
+ * config/rs6000/t-ldouble-linux64le-ieee: Delete, no longer used.
+
2018-06-25 Segher Boessenkool <segher@kernel.crashing.org>
Backport from trunk
diff --git a/gcc/config.gcc b/gcc/config.gcc
index afc932711461..532c33f4c2b6 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -4479,16 +4479,6 @@ case "${target}" in
elif test x$with_long_double_format = xibm; then
tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0"
fi
-
- case "${target}:${enable_multilib}:${with_long_double_format}" in
- powerpc64le*:yes:ieee | powerpc64le*:yes:ibm)
- tm_defines="${tm_defines} TARGET_IEEEQUAD_MULTILIB=1"
- tmake_file="${tmake_file} rs6000/t-ldouble-linux64le-${with_long_double_format}"
- ;;
- *)
- :
- ;;
- esac
;;
s390*-*-*)
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 90fe65662552..44eab40a2349 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -245,18 +245,11 @@ extern int dot_symbols;
#define DYNAMIC_LINKER_PREFIX ""
#endif
-#if TARGET_IEEEQUAD_DEFAULT
-#define MULTILIB_DEFAULTS_IEEE "mabi=ieeelongdouble"
-
-#else /* TARGET_IEEEQUAD_DEFAULT. */
-#define MULTILIB_DEFAULTS_IEEE "mabi=ibmlongdouble"
-#endif /* TARGET_IEEEQUAD_DEFAULT. */
-
-#undef MULTILIB_DEFAULTS
+#undef MULTILIB_DEFAULTS
#if DEFAULT_ARCH64_P
-#define MULTILIB_DEFAULTS { "m64", MULTILIB_DEFAULTS_IEEE }
+#define MULTILIB_DEFAULTS { "m64" }
#else
-#define MULTILIB_DEFAULTS { "m32", MULTILIB_DEFAULTS_IEEE }
+#define MULTILIB_DEFAULTS { "m32" }
#endif
/* Split stack is only supported for 64 bit, and requires glibc >= 2.18. */
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index edb533e6ec08..f07d61c99cdf 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4636,15 +4636,11 @@ rs6000_option_override_internal (bool global_init_p)
systems will also set long double to be IEEE 128-bit. AIX and Darwin
explicitly redefine TARGET_IEEEQUAD and TARGET_IEEEQUAD_DEFAULT to 0, so
those systems will not pick up this default. Warn if the user changes the
- default unless either the user used the -Wno-psabi option, or the compiler
- was built to enable multilibs to switch between the two long double
- types. */
+ default unless -Wno-psabi. */
if (!global_options_set.x_rs6000_ieeequad)
rs6000_ieeequad = TARGET_IEEEQUAD_DEFAULT;
- else if (!TARGET_IEEEQUAD_MULTILIB
- && rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT
- && TARGET_LONG_DOUBLE_128)
+ else if (rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT && TARGET_LONG_DOUBLE_128)
{
static bool warned_change_long_double;
if (!warned_change_long_double)
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index c57c8ccaba49..b83b304e3ebe 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -573,12 +573,6 @@ extern int rs6000_vector_align[];
#define TARGET_ALTIVEC_ABI rs6000_altivec_abi
#define TARGET_LDBRX (TARGET_POPCNTD || rs6000_cpu == PROCESSOR_CELL)
-/* Define as 1 if we support multilibs for switching long double between IEEE
- 128-bit floating point and IBM extended double. */
-#ifndef TARGET_IEEEQUAD_MULTILIB
-#define TARGET_IEEEQUAD_MULTILIB 0
-#endif
-
/* ISA 2.01 allowed FCFID to be done in 32-bit, previously it was 64-bit only.
Enable 32-bit fcfid's on any of the switches for newer ISA machines or
XILINX. */
diff --git a/gcc/config/rs6000/t-ldouble-linux64le-ibm b/gcc/config/rs6000/t-ldouble-linux64le-ibm
deleted file mode 100644
index 4b209e8b9072..000000000000
--- a/gcc/config/rs6000/t-ldouble-linux64le-ibm
+++ /dev/null
@@ -1,26 +0,0 @@
-# Long double multilib libraries for PowerPC 64-bit little endian systems using
-# IBM extended double as the long double type.
-#
-# Copyright (C) 2018 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GCC is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
-MULTILIB_DIRNAMES += ieee128 ibm128
-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
- mabi.ieeelongdouble=../lib64/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
diff --git a/gcc/config/rs6000/t-ldouble-linux64le-ieee b/gcc/config/rs6000/t-ldouble-linux64le-ieee
deleted file mode 100644
index 7d47953c9083..000000000000
--- a/gcc/config/rs6000/t-ldouble-linux64le-ieee
+++ /dev/null
@@ -1,26 +0,0 @@
-# Long double multilib libraries for PowerPC 64-bit little endian systems using
-# IEEE 128-bit floating point as the long double type.
-#
-# Copyright (C) 2018 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GCC is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
-MULTILIB_DIRNAMES += ieee128 ibm128
-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
- mabi.ieeelongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)