[gcc(refs/users/meissner/heads/work098)] Update ChangeLog.meissner.
Michael Meissner
meissner@gcc.gnu.org
Fri Aug 19 00:40:53 GMT 2022
https://gcc.gnu.org/g:321d75d677d26b9ec52f2ee0f3f14340b144b895
commit 321d75d677d26b9ec52f2ee0f3f14340b144b895
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Thu Aug 18 20:40:34 2022 -0400
Update ChangeLog.meissner.
2022-08-17 Michael Meissner <meissner@linux.ibm.com>
gcc/
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index f633d9e8900..8884bd2f6fb 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,29 @@
+==================== work098, patch #18
+
+Make __float128 use the _Float128 type.
+
+Currently GCC uses the long double type node for __float128 if long double is
+IEEE 128-bit. It did not use the node for _Float128.
+
+This showed up if you call the nansq function to make a signaling NaN (nansq is
+mapped to nansf128). Because the type node for _Float128 is different from
+__float128, the machine independent code converts signaling NaNs to quiet NaNs
+if the types are not compatible. The following tests used to fail when run on
+a system where long double is IEEE 128-bit:
+
+ gcc.dg/torture/float128-nan.c
+ gcc.target/powerpc/nan128-1.c
+
+This patch makes both __float128 and _Float128 use the same type node.
+
+
+2022-08-17 Michael Meissner <meissner@linux.ibm.com>
+
+gcc/
+
+ * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Always use the
+ _Float128 type for __float128. Don't use the long double type.
+
==================== work098, patch #17 was reverted.
==================== work098, patch #16 was reverted.
More information about the Gcc-cvs
mailing list