From 214486ebe2fc001276f086add29ff30e5a49bb19 Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Mon, 25 Jun 2018 18:59:55 +0000 Subject: [PATCH] config.gcc (powerpc64le*): Revert January 16th... 2018-06-25 Michael Meissner * 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 --- gcc/ChangeLog | 13 +++++++++++ gcc/config.gcc | 10 --------- gcc/config/rs6000/linux64.h | 13 +++-------- gcc/config/rs6000/rs6000.c | 8 ++----- gcc/config/rs6000/rs6000.h | 6 ----- gcc/config/rs6000/t-ldouble-linux64le-ibm | 26 ---------------------- gcc/config/rs6000/t-ldouble-linux64le-ieee | 26 ---------------------- 7 files changed, 18 insertions(+), 84 deletions(-) delete mode 100644 gcc/config/rs6000/t-ldouble-linux64le-ibm delete mode 100644 gcc/config/rs6000/t-ldouble-linux64le-ieee diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a837cae287e..b5558a0f93c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2018-06-25 Michael Meissner + + * 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 PR middle-end/86311 diff --git a/gcc/config.gcc b/gcc/config.gcc index ef67c88b348..63162aab676 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -4566,16 +4566,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 90fe6566255..44eab40a234 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 3cc64456a3e..d6d324b7cee 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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 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 455b03ed832..f44336ee90a 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -551,12 +551,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. */ #define TARGET_FCFID (TARGET_POWERPC64 \ diff --git a/gcc/config/rs6000/t-ldouble-linux64le-ibm b/gcc/config/rs6000/t-ldouble-linux64le-ibm deleted file mode 100644 index 4b209e8b907..00000000000 --- 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 -# . - -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 7d47953c908..00000000000 --- 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 -# . - -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) -- 2.30.2