public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit.
@ 2023-03-08 19:13 meissner at gcc dot gnu.org
  2023-03-08 19:41 ` [Bug target/109067] " segher at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2023-03-08 19:13 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 109067
           Summary: Powerpc GCC does not support __ibm128 complex
                    multiply/divide if long double is IEEE 128-bit.
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: meissner at gcc dot gnu.org
  Target Milestone: ---

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/109067] Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit.
  2023-03-08 19:13 [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit meissner at gcc dot gnu.org
@ 2023-03-08 19:41 ` segher at gcc dot gnu.org
  2023-03-20 18:48 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: segher at gcc dot gnu.org @ 2023-03-08 19:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Do you have a testcase please?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/109067] Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit.
  2023-03-08 19:13 [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit meissner at gcc dot gnu.org
  2023-03-08 19:41 ` [Bug target/109067] " segher at gcc dot gnu.org
@ 2023-03-20 18:48 ` cvs-commit at gcc dot gnu.org
  2023-04-11  2:53 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-03-20 18:48 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Michael Meissner <meissner@gcc.gnu.org>:

https://gcc.gnu.org/g:c67f312d20e15e5aa18c587693b4ab7e131596c1

commit r13-6763-gc67f312d20e15e5aa18c587693b4ab7e131596c1
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Mon Mar 20 14:48:06 2023 -0400

    Rework 128-bit complex multiply and divide.

    This patch reworks how the complex multiply and divide built-in functions
are
    done.  Previously GCC created built-in declarations for doing long double
complex
    multiply and divide when long double is IEEE 128-bit.  However, it did not
    support __ibm128 complex multiply and divide if long double is IEEE
128-bit.

    This code does not create the built-in declaration with the changed name.
    Instead, it uses the TARGET_MANGLE_DECL_ASSEMBLER_NAME hook to change the
name
    before it is written out to the assembler file like it now does for all of
the
    other long double built-in functions.

    2023-03-20   Michael Meissner  <meissner@linux.ibm.com>

    gcc/

            PR target/109067
            * config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
            (init_float128_ieee): Delete code to switch complex multiply and
divide
            for long double.
            (complex_multiply_builtin_code): New helper function.
            (complex_divide_builtin_code): Likewise.
            (rs6000_mangle_decl_assembler_name): Add support for mangling the
name
            of complex 128-bit multiply and divide built-in functions.

    gcc/testsuite/

            PR target/109067
            * gcc.target/powerpc/divic3-1.c: New test.
            * gcc.target/powerpc/divic3-2.c: Likewise.
            * gcc.target/powerpc/mulic3-1.c: Likewise.
            * gcc.target/powerpc/mulic3-2.c: Likewise.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/109067] Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit.
  2023-03-08 19:13 [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit meissner at gcc dot gnu.org
  2023-03-08 19:41 ` [Bug target/109067] " segher at gcc dot gnu.org
  2023-03-20 18:48 ` cvs-commit at gcc dot gnu.org
@ 2023-04-11  2:53 ` cvs-commit at gcc dot gnu.org
  2023-04-11 14:14 ` cvs-commit at gcc dot gnu.org
  2023-04-11 14:15 ` meissner at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-04-11  2:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Michael Meissner
<meissner@gcc.gnu.org>:

https://gcc.gnu.org/g:908d9c7e6ed4be95d39b7b01056dda365f379947

commit r12-9394-g908d9c7e6ed4be95d39b7b01056dda365f379947
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Mon Apr 10 22:46:34 2023 -0400

    Backport from master

    2023-04-10  Michael Meissner  <meissner@linux.ibm.com>

    gcc/

            PR target/109067
            * config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
            (init_float128_ieee): Delete code to switch complex multiply and
divide
            for long double.  Backport from master, 3/20/2023.
            (complex_multiply_builtin_code): New helper function.
            (complex_divide_builtin_code): Likewise.
            (rs6000_mangle_decl_assembler_name): Add support for mangling the
name
            of complex 128-bit multiply and divide built-in functions.

    gcc/testsuite/

            PR target/109067
            * gcc.target/powerpc/divic3-1.c: New test.  Backport from master,
            3/20/2023.
            * gcc.target/powerpc/divic3-2.c: Likewise.
            * gcc.target/powerpc/mulic3-1.c: Likewise.
            * gcc.target/powerpc/mulic3-2.c: Likewise.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/109067] Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit.
  2023-03-08 19:13 [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit meissner at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-04-11  2:53 ` cvs-commit at gcc dot gnu.org
@ 2023-04-11 14:14 ` cvs-commit at gcc dot gnu.org
  2023-04-11 14:15 ` meissner at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-04-11 14:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Michael Meissner
<meissner@gcc.gnu.org>:

https://gcc.gnu.org/g:5a15a78b919c43954fbfcc90f53f34d7e2700c97

commit r11-10618-g5a15a78b919c43954fbfcc90f53f34d7e2700c97
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Tue Apr 11 10:11:53 2023 -0400

    Backport from master

    2023-04-11  Michael Meissner  <meissner@linux.ibm.com>

    gcc/

            PR target/109067
            * config/rs6000/rs6000.c (create_complex_muldiv): Delete.
            (init_float128_ieee): Delete code to switch complex multiply and
divide
            for long double.  Backport from master, 3/20/2023.
            (complex_multiply_builtin_code): New helper function.
            (complex_divide_builtin_code): Likewise.
            (rs6000_mangle_decl_assembler_name): Add support for mangling the
name
            of complex 128-bit multiply and divide built-in functions.

    gcc/testsuite/

            PR target/109067
            * gcc.target/powerpc/divic3-1.c: New test.  Backport from master,
            3/20/2023.
            * gcc.target/powerpc/divic3-2.c: Likewise.
            * gcc.target/powerpc/mulic3-1.c: Likewise.
            * gcc.target/powerpc/mulic3-2.c: Likewise.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/109067] Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit.
  2023-03-08 19:13 [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit meissner at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2023-04-11 14:14 ` cvs-commit at gcc dot gnu.org
@ 2023-04-11 14:15 ` meissner at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2023-04-11 14:15 UTC (permalink / raw)
  To: gcc-bugs

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

Michael Meissner <meissner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Michael Meissner <meissner at gcc dot gnu.org> ---
Trunk patched on March 20th, 2023.
Gcc 12 patched on April 10th, 2023.
Gcc 11 patched on April 11th, 2023.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-04-11 14:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-08 19:13 [Bug target/109067] New: Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit meissner at gcc dot gnu.org
2023-03-08 19:41 ` [Bug target/109067] " segher at gcc dot gnu.org
2023-03-20 18:48 ` cvs-commit at gcc dot gnu.org
2023-04-11  2:53 ` cvs-commit at gcc dot gnu.org
2023-04-11 14:14 ` cvs-commit at gcc dot gnu.org
2023-04-11 14:15 ` meissner at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).