public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work095)] Mangle __ibm128 into u8__ibm128.
@ 2022-07-29 19:29 Michael Meissner
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Meissner @ 2022-07-29 19:29 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:455317497e400a6dd14df6c4518d796f7dff7b43

commit 455317497e400a6dd14df6c4518d796f7dff7b43
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Fri Jul 29 15:29:00 2022 -0400

    Mangle __ibm128 into u8__ibm128.
    
    This patch changes the mangling of __ibm128 when long double uses the IBM
    128-bit encoding.  This change is necessary due to the change where __ibm128 and
    long double no longer share the same internal type node.
    
    2022-07-29   Michael Meissner  <meissner@linux.ibm.com>
    
    gcc/
    
            PR target/85657
            * config/rs6000/rs600.cc (rs6000_mangle_type): Mangle __ibm128 into
            "u8__ibm128".

Diff:
---
 gcc/config/rs6000/rs6000.cc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index cf1b1816ebd..6f73c040035 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -20195,6 +20195,12 @@ rs6000_mangle_type (const_tree type)
   if (type == bool_int_type_node) return "U6__booli";
   if (type == bool_long_long_type_node) return "U6__boolx";
 
+  /* If long double uses the IBM 128-bit extended format, we need to
+     distinguish between __ibm128 and long double.  */
+  if (type == ibm128_float_type_node && TARGET_LONG_DOUBLE_128
+      && !TARGET_IEEEQUAD)
+    return "u8__ibm128";
+
   if (SCALAR_FLOAT_TYPE_P (type) && FLOAT128_IBM_P (TYPE_MODE (type)))
     return "g";
   if (SCALAR_FLOAT_TYPE_P (type) && FLOAT128_IEEE_P (TYPE_MODE (type)))


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gcc(refs/users/meissner/heads/work095)] Mangle __ibm128 into u8__ibm128.
@ 2022-07-28 22:46 Michael Meissner
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Meissner @ 2022-07-28 22:46 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:6d53d555423a57be9241854cdabfe6f4234b714f

commit 6d53d555423a57be9241854cdabfe6f4234b714f
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Thu Jul 28 18:46:01 2022 -0400

    Mangle __ibm128 into u8__ibm128.
    
    2022-07-28   Michael Meissner  <meissner@linux.ibm.com>
    
    gcc/
    
            * config/rs6000/rs600.cc (rs6000_mangle_type): Mangle __ibm128 into
            "u8__ibm128".

Diff:
---
 gcc/config/rs6000/rs6000.cc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 0099c8b95ab..a5d67f534c2 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -20198,6 +20198,12 @@ rs6000_mangle_type (const_tree type)
   if (type == bool_int_type_node) return "U6__booli";
   if (type == bool_long_long_type_node) return "U6__boolx";
 
+  /* If long double uses the IBM 128-bit extended format, we need to
+     distinguish between __ibm128 and long double.  */
+  if (type == ibm128_float_type_node && TARGET_LONG_DOUBLE_128
+      && !TARGET_IEEEQUAD)
+    return "u8__ibm128";
+
   if (SCALAR_FLOAT_TYPE_P (type) && FLOAT128_IBM_P (TYPE_MODE (type)))
     return "g";
   if (SCALAR_FLOAT_TYPE_P (type) && FLOAT128_IEEE_P (TYPE_MODE (type)))


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-07-29 19:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-29 19:29 [gcc(refs/users/meissner/heads/work095)] Mangle __ibm128 into u8__ibm128 Michael Meissner
  -- strict thread matches above, loose matches on Subject: below --
2022-07-28 22:46 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).