public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default
@ 2020-04-17  2:07 meissner at gcc dot gnu.org
  2020-04-17  2:08 ` [Bug target/94630] " meissner at gcc dot gnu.org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-17  2:07 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94630
           Summary: General bug for changes needed to switch the PowerPC
                    long double default
           Product: gcc
           Version: 10.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: ---

This is a bug to hold patches and observations about the changes needed to
switch the compiler default with a configuration switch in the GCC 11 time
frame (with a backport to GCC 10.2).

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
@ 2020-04-17  2:08 ` meissner at gcc dot gnu.org
  2020-04-17  2:13 ` meissner at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-17  2:08 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |meissner at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
            Version|10.0                        |unknown
     Ever confirmed|0                           |1
           Priority|P3                          |P4
           Severity|normal                      |enhancement
   Last reconfirmed|                            |2020-04-17

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
  2020-04-17  2:08 ` [Bug target/94630] " meissner at gcc dot gnu.org
@ 2020-04-17  2:13 ` meissner at gcc dot gnu.org
  2020-04-17  2:19 ` meissner at gcc dot gnu.org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-17  2:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Michael Meissner <meissner at gcc dot gnu.org> ---
Created attachment 48296
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48296&action=edit
Patch do the correct mapping for builtin math functions right when long double
default is IEEE.

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
  2020-04-17  2:08 ` [Bug target/94630] " meissner at gcc dot gnu.org
  2020-04-17  2:13 ` meissner at gcc dot gnu.org
@ 2020-04-17  2:19 ` meissner at gcc dot gnu.org
  2020-04-17  5:26 ` meissner at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-17  2:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> ---
When the default is changed, we will need to map __builtin_sprintf and company
just like GLIBC will do it if the user includes stdio.h.

Otherwise the gcc.dg/tree-ssa/builtin-sprintf.c test fails because it calls the
wrong sprintf for long double arguments.

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-04-17  2:19 ` meissner at gcc dot gnu.org
@ 2020-04-17  5:26 ` meissner at gcc dot gnu.org
  2020-04-17  7:06 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-17  5:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> ---
Created attachment 48297
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48297&action=edit
Patch to mangle *printf and *scanf built-ins if long double is IEEE-128

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2020-04-17  5:26 ` meissner at gcc dot gnu.org
@ 2020-04-17  7:06 ` rguenth at gcc dot gnu.org
  2020-04-17 12:40 ` meissner at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-17  7:06 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unknown                     |10.0
           Keywords|                            |ABI

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Not sure if it is a good idea to change the ABI.  Educate people to use _Float*
types?

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2020-04-17  7:06 ` rguenth at gcc dot gnu.org
@ 2020-04-17 12:40 ` meissner at gcc dot gnu.org
  2020-04-17 15:53 ` segher at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-17 12:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Michael Meissner <meissner at gcc dot gnu.org> ---
Note, at the moment, the patches are to make the existing configure switch
(--with-long-double=ieee) work correctly.

However, we need all of the pieces in place (gcc, glibc, libstdc++, etc.)
before we can contemplate changing the ABI.

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2020-04-17 12:40 ` meissner at gcc dot gnu.org
@ 2020-04-17 15:53 ` segher at gcc dot gnu.org
  2020-04-23 20:49 ` meissner at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: segher at gcc dot gnu.org @ 2020-04-17 15:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Please mention in the TITLE that this is ONLY for the ELFv2 ABI?

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

* [Bug target/94630] General bug for changes needed to switch the PowerPC long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2020-04-17 15:53 ` segher at gcc dot gnu.org
@ 2020-04-23 20:49 ` meissner at gcc dot gnu.org
  2020-05-06 21:09 ` [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux " murphyp at linux dot vnet.ibm.com
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-23 20:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Michael Meissner <meissner at gcc dot gnu.org> ---
Created attachment 48364
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48364&action=edit
Propsed patch to build ibm-ldouble.c with -mno-gnu-attributes

ibm-ldouble.c in libgcc must be compiled without GNU attributes, so that the
__ibm128 functions can be called if long double is IEEE 128-bit.

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

* [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2020-04-23 20:49 ` meissner at gcc dot gnu.org
@ 2020-05-06 21:09 ` murphyp at linux dot vnet.ibm.com
  2021-08-25 23:25 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: murphyp at linux dot vnet.ibm.com @ 2020-05-06 21:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Paul E. Murphy <murphyp at linux dot vnet.ibm.com> ---
The new libm/libc ABI for ieee128 long double on ppc64le is now committed to
glibc which will be available for the 2.32 release (commit
051be01f6b41a1466b07ae4bd7f5894a8ec5fe67).

TS-18661 does not specify any changes to the printf/scanf family of functions
as related to _FloatN types.  It won't always be a drop in replacement.

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

* [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2020-05-06 21:09 ` [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux " murphyp at linux dot vnet.ibm.com
@ 2021-08-25 23:25 ` cvs-commit at gcc dot gnu.org
  2021-09-03 17:05 ` cvs-commit at gcc dot gnu.org
  2024-04-11 23:03 ` meissner at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-08-25 23:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 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:4c5d76a655b9abdacaa992ab1167b33d35c3ffe9

commit r12-3151-g4c5d76a655b9abdacaa992ab1167b33d35c3ffe9
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Wed Aug 25 19:25:12 2021 -0400

    Fix tests that require IBM 128-bit long double

    This patch adds 3 more selections to target-supports.exp to see if we can
    specify to use a particular long double format (IEEE 128-bit, IBM extended
    double, 64-bit), and the library support will track the changes for the
long
    double.  This is needed because two of the tests in the test suite use long
    double, and they are actually testing IBM extended double.

    This patch also forces the two tests that explicitly require long double
    to use the IBM double-double encoding to explicitly run the test.  This
    requires GLIBC 2.32 or greater in order to do the switch.

    I have run tests on a little endian power9 system with 3 compilers.  There
were
    no regressions with these patches, and the two tests in the following
patches
    now work if the default long double is not IBM 128-bit:

     * One compiler used the default IBM 128-bit format;
     * One compiler used the IEEE 128-bit format; (and)
     * One compiler used 64-bit long doubles.

    I have also tested compilers on a big endian power8 system with a compiler
    defaulting to power8 code generation and another with the default cpu
    set.  There were no regressions.

    2021-08-25  Michael Meissner  <meissner@linux.ibm.com>

    gcc/testsuite/
            PR target/94630
            * gcc.target/powerpc/pr70117.c: Specify that we need the long
double
            type to be IBM 128-bit.  Remove the code to use __ibm128.
            * c-c++-common/dfp/convert-bfp-11.c: Specify that we need the long
            double type to be IBM 128-bit.  Run the test at -O2 optimization.
            * lib/target-supports.exp (add_options_for_long_double_ibm128): New
            function.
            (check_effective_target_long_double_ibm128): New function.
            (add_options_for_long_double_ieee128): New function.
            (check_effective_target_long_double_ieee128): New function.
            (add_options_for_long_double_64bit): New function.
            (check_effective_target_long_double_64bit): New function.

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

* [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2021-08-25 23:25 ` cvs-commit at gcc dot gnu.org
@ 2021-09-03 17:05 ` cvs-commit at gcc dot gnu.org
  2024-04-11 23:03 ` meissner at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-09-03 17:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 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:d9f215aa59cca00c862a14d3ee90e0b0ee4ed56f

commit r11-8954-gd9f215aa59cca00c862a14d3ee90e0b0ee4ed56f
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Fri Sep 3 12:59:47 2021 -0400

    Fix tests that require IBM 128-bit long double

    2021-09-03  Michael Meissner  <meissner@linux.ibm.com>

    gcc/testsuite/
            PR target/94630
            * gcc.target/powerpc/pr70117.c: Specify that we need the long
double
            type to be IBM 128-bit.  Remove the code to use __ibm128.
            Backport from master 2021-08-25.
            * c-c++-common/dfp/convert-bfp-11.c: Specify that we need the long
            double type to be IBM 128-bit.  Run the test at -O2 optimization.
            Backport from master 2021-08-25.
            * lib/target-supports.exp (add_options_for_long_double_ibm128): New
            function.  Backport from master 2021-08-25.
            (check_effective_target_long_double_ibm128): New function.
            (add_options_for_long_double_ieee128): New function.
            (check_effective_target_long_double_ieee128): New function.
            (add_options_for_long_double_64bit): New function.
            (check_effective_target_long_double_64bit): New function.

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

* [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux long double default
  2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2021-09-03 17:05 ` cvs-commit at gcc dot gnu.org
@ 2024-04-11 23:03 ` meissner at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2024-04-11 23:03 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #11 from Michael Meissner <meissner at gcc dot gnu.org> ---
All of the changes needed for making long double use the IEEE 128-bit encoding
have been fixed in GCC.  The Fedora distribution now uses long doubles with
IEEE 128-bit encodings as the default.

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

end of thread, other threads:[~2024-04-11 23:03 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-17  2:07 [Bug target/94630] New: General bug for changes needed to switch the PowerPC long double default meissner at gcc dot gnu.org
2020-04-17  2:08 ` [Bug target/94630] " meissner at gcc dot gnu.org
2020-04-17  2:13 ` meissner at gcc dot gnu.org
2020-04-17  2:19 ` meissner at gcc dot gnu.org
2020-04-17  5:26 ` meissner at gcc dot gnu.org
2020-04-17  7:06 ` rguenth at gcc dot gnu.org
2020-04-17 12:40 ` meissner at gcc dot gnu.org
2020-04-17 15:53 ` segher at gcc dot gnu.org
2020-04-23 20:49 ` meissner at gcc dot gnu.org
2020-05-06 21:09 ` [Bug target/94630] General bug for changes needed to switch the powerpc64le-linux " murphyp at linux dot vnet.ibm.com
2021-08-25 23:25 ` cvs-commit at gcc dot gnu.org
2021-09-03 17:05 ` cvs-commit at gcc dot gnu.org
2024-04-11 23:03 ` 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).