[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