[gcc/devel/ranger] Patch ieee128-lib-patch001b

Aldy Hernandez aldyh@gcc.gnu.org
Wed Jun 17 21:03:34 GMT 2020


https://gcc.gnu.org/g:f1d82734ecfc3fc9913d598871192fd0f3fff536

commit f1d82734ecfc3fc9913d598871192fd0f3fff536
Author: Michael Meissner <Michael Meissner meissner@linux.ibm.com>
Date:   Tue May 5 12:28:48 2020 -0400

    Patch ieee128-lib-patch001b

Diff:
---
 gcc/ChangeLog.meissner     | 8 ++++++++
 gcc/config/rs6000/rs6000.c | 8 +++++---
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 98683f43554..332f5ead10b 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,11 @@
+2020-05-05  Michael Meissner  <meissner@linux.ibm.com>
+
+	(ieee128-lib-patch001b)
+	PR target/94630
+	* config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Do
+	the mapping for <name>l to <name>f128 when the long double default
+	is IEEE 128-bit.
+
 2020-05-05   Michael Meissner  <meissner@linux.ibm.com>
 
 	Clone branch
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 355aea8628d..abc1b8909eb 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -26326,13 +26326,15 @@ rs6000_globalize_decl_name (FILE * stream, tree decl)
    library before you can switch the real*16 type at compile time.
 
    We use the TARGET_MANGLE_DECL_ASSEMBLER_NAME hook to change this name.  We
-   only do this if the default is that long double is IBM extended double, and
-   the user asked for IEEE 128-bit.  */
+   only do this transformation if the __float128 type is enabled.  This
+   prevents us from doing the transformation on older 32-bit parts that might
+   have enabled using IEEE 128-bit floating point as the default long double
+   type.  */
 
 static tree
 rs6000_mangle_decl_assembler_name (tree decl, tree id)
 {
-  if (!TARGET_IEEEQUAD_DEFAULT && TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128
+  if (TARGET_FLOAT128_TYPE && TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128
       && TREE_CODE (decl) == FUNCTION_DECL && DECL_IS_BUILTIN (decl) )
     {
       size_t len = IDENTIFIER_LENGTH (id);


More information about the Gcc-cvs mailing list