From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id BDB0F3858296; Tue, 2 Aug 2022 18:00:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BDB0F3858296 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/work096)] Update ChangeLog.meissner. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/work096 X-Git-Oldrev: 76a6c6d4c3d073e57ca8ca3b275a50a37827230f X-Git-Newrev: 24371f3904ec916001745f6ac8bc012113940304 Message-Id: <20220802180043.BDB0F3858296@sourceware.org> Date: Tue, 2 Aug 2022 18:00:43 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2022 18:00:43 -0000 https://gcc.gnu.org/g:24371f3904ec916001745f6ac8bc012113940304 commit 24371f3904ec916001745f6ac8bc012113940304 Author: Michael Meissner Date: Tue Aug 2 14:00:24 2022 -0400 Update ChangeLog.meissner. 2022-08-02 Michael Meissner 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 + +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.