Commit 214486eb by Michael Meissner Committed by Michael Meissner

config.gcc (powerpc64le*): Revert January 16th...

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.

From-SVN: r262105
parent d66a58d3
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 Alexander Monakov <amonakov@ispras.ru> 2018-06-25 Alexander Monakov <amonakov@ispras.ru>
PR middle-end/86311 PR middle-end/86311
......
...@@ -4566,16 +4566,6 @@ case "${target}" in ...@@ -4566,16 +4566,6 @@ case "${target}" in
elif test x$with_long_double_format = xibm; then elif test x$with_long_double_format = xibm; then
tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0" tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0"
fi 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*-*-*) s390*-*-*)
......
...@@ -245,18 +245,11 @@ extern int dot_symbols; ...@@ -245,18 +245,11 @@ extern int dot_symbols;
#define DYNAMIC_LINKER_PREFIX "" #define DYNAMIC_LINKER_PREFIX ""
#endif #endif
#if TARGET_IEEEQUAD_DEFAULT #undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS_IEEE "mabi=ieeelongdouble"
#else /* TARGET_IEEEQUAD_DEFAULT. */
#define MULTILIB_DEFAULTS_IEEE "mabi=ibmlongdouble"
#endif /* TARGET_IEEEQUAD_DEFAULT. */
#undef MULTILIB_DEFAULTS
#if DEFAULT_ARCH64_P #if DEFAULT_ARCH64_P
#define MULTILIB_DEFAULTS { "m64", MULTILIB_DEFAULTS_IEEE } #define MULTILIB_DEFAULTS { "m64" }
#else #else
#define MULTILIB_DEFAULTS { "m32", MULTILIB_DEFAULTS_IEEE } #define MULTILIB_DEFAULTS { "m32" }
#endif #endif
/* Split stack is only supported for 64 bit, and requires glibc >= 2.18. */ /* Split stack is only supported for 64 bit, and requires glibc >= 2.18. */
......
...@@ -4582,15 +4582,11 @@ rs6000_option_override_internal (bool global_init_p) ...@@ -4582,15 +4582,11 @@ rs6000_option_override_internal (bool global_init_p)
systems will also set long double to be IEEE 128-bit. AIX and Darwin 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 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 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 default unless -Wno-psabi. */
was built to enable multilibs to switch between the two long double
types. */
if (!global_options_set.x_rs6000_ieeequad) if (!global_options_set.x_rs6000_ieeequad)
rs6000_ieeequad = TARGET_IEEEQUAD_DEFAULT; rs6000_ieeequad = TARGET_IEEEQUAD_DEFAULT;
else if (!TARGET_IEEEQUAD_MULTILIB else if (rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT && TARGET_LONG_DOUBLE_128)
&& rs6000_ieeequad != TARGET_IEEEQUAD_DEFAULT
&& TARGET_LONG_DOUBLE_128)
{ {
static bool warned_change_long_double; static bool warned_change_long_double;
if (!warned_change_long_double) if (!warned_change_long_double)
...@@ -551,12 +551,6 @@ extern int rs6000_vector_align[]; ...@@ -551,12 +551,6 @@ extern int rs6000_vector_align[];
#define TARGET_ALTIVEC_ABI rs6000_altivec_abi #define TARGET_ALTIVEC_ABI rs6000_altivec_abi
#define TARGET_LDBRX (TARGET_POPCNTD || rs6000_cpu == PROCESSOR_CELL) #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. /* 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. */ Enable 32-bit fcfid's on any of the switches for newer ISA machines. */
#define TARGET_FCFID (TARGET_POWERPC64 \ #define TARGET_FCFID (TARGET_POWERPC64 \
......
# 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)
# 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)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment