[gcc(refs/users/meissner/heads/work096)] Update ChangeLog.meissner.
Michael Meissner
meissner@gcc.gnu.org
Tue Aug 2 18:00:43 GMT 2022
https://gcc.gnu.org/g:24371f3904ec916001745f6ac8bc012113940304
commit 24371f3904ec916001745f6ac8bc012113940304
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Aug 2 14:00:24 2022 -0400
Update ChangeLog.meissner.
2022-08-02 Michael Meissner <meissner@linux.ibm.com>
gcc/
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 014aefff8eb..9a743ceb9a1 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,31 @@
+==================== work096, patch 8.
+
+Rework 128-bit complex multiply and divide.
+
+This function reworks how the complex multiply and divide built-in functions are
+done. Previously we created built-in declarations for doing long double complex
+multiply and divide when long double is IEEE 128-bit. The old code also did not
+support __ibm128 complex multiply and divide if long double is IEEE 128-bit.
+
+One of the problems with this approach is that the add_builtin_function would
+abort if we used the same name for two different built-in functions.
+
+This code does not create the built-in declaration. Instead, it uses the
+TARGET_MANGLE_DECL_ASSEMBLER_NAME hook to change the name before it is written
+out to the assembler file.
+
+2022-08-02 Michael Meissner <meissner@linux.ibm.com>
+
+gcc/
+
+ * config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
+ (init_float128_ieee): Delete code to switch complex multiply and divide
+ for long double.
+ (complex_multiply_name): New helper function.
+ (complex_divide_name): Likewise.
+ (rs6000_mangle_decl_assembler_name): Add support for mangling the name
+ of complex 128-bit multiply and divide built-in functions.
+
==================== work096, patch 7.
Allow __ibm128 even if IEEE 128-bit floating point is not supported.
More information about the Gcc-cvs
mailing list