* [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