https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110011

--- Comment #6 from Kewen Lin <linkw at gcc dot gnu.org> ---
btw, one simple fix is under testing:

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 3f129ea37d2..330c6a6fa5f 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -17314,7 +17314,7 @@ output_toc (FILE *file, rtx x, int labelno,
machine_mode mode)
       if (DECIMAL_FLOAT_MODE_P (GET_MODE (x)))
         REAL_VALUE_TO_TARGET_DECIMAL128 (*CONST_DOUBLE_REAL_VALUE (x), k);
       else
-        REAL_VALUE_TO_TARGET_LONG_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), k);
+        real_to_target (k, CONST_DOUBLE_REAL_VALUE (x), GET_MODE (x));

       if (TARGET_64BIT)
         {

Reply via email to