* [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. @ 2020-11-15 17:17 Michael Meissner 2020-11-18 5:34 ` will schmidt 2020-11-18 21:43 ` Segher Boessenkool 0 siblings, 2 replies; 13+ messages in thread From: Michael Meissner @ 2020-11-15 17:17 UTC (permalink / raw) To: gcc-patches, Michael Meissner, Segher Boessenkool, David Edelsohn, Bill Schmidt, Peter Bergner From 698d9fd8a5701fa4ed9690ddf71d57765921778c Mon Sep 17 00:00:00 2001 From: Michael Meissner <meissner@linux.ibm.com> Date: Sun, 15 Nov 2020 00:48:23 -0500 Subject: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. This patch was previously posted as a combined patch with 2 other testsuite patches. I moved it to a separate patch. This patch fixes up a failure that I saw when I built a compiler with the long double default set to IEEE 128-bit instead of IBM 128-bit. Now compilers with either 128-bit long double default pass this test. Can I check this into the master branch? gcc/testsuite/ 2020-11-15 Michael Meissner <meissner@linux.ibm.com> PR target/70117 * gcc.target/powerpc/pr70117.c: Add support for long double being IEEE 128-bit. --- gcc/testsuite/gcc.target/powerpc/pr70117.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/pr70117.c b/gcc/testsuite/gcc.target/powerpc/pr70117.c index 3bbd2c595e0..928efe39c7b 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c @@ -9,9 +9,11 @@ 128-bit floating point, because the type is not enabled on those systems. */ #define LDOUBLE __ibm128 +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) #elif defined(__LONG_DOUBLE_IBM128__) #define LDOUBLE long double +#define IBM128_MAX LDBL_MAX #else #error "long double must be either IBM 128-bit or IEEE 128-bit" @@ -75,10 +77,10 @@ main (void) if (__builtin_isnormal (ld)) __builtin_abort (); - ld = LDBL_MAX; + ld = IBM128_MAX; if (!__builtin_isnormal (ld)) __builtin_abort (); - ld = -LDBL_MAX; + ld = -IBM128_MAX; if (!__builtin_isnormal (ld)) __builtin_abort (); -- 2.22.0 -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.ibm.com, phone: +1 (978) 899-4797 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-15 17:17 [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test Michael Meissner @ 2020-11-18 5:34 ` will schmidt 2020-11-18 21:43 ` Segher Boessenkool 1 sibling, 0 replies; 13+ messages in thread From: will schmidt @ 2020-11-18 5:34 UTC (permalink / raw) To: Michael Meissner, gcc-patches, Segher Boessenkool, David Edelsohn, Bill Schmidt, Peter Bergner On Sun, 2020-11-15 at 12:17 -0500, Michael Meissner via Gcc-patches wrote: > From 698d9fd8a5701fa4ed9690ddf71d57765921778c Mon Sep 17 00:00:00 2001 > From: Michael Meissner <meissner@linux.ibm.com> > Date: Sun, 15 Nov 2020 00:48:23 -0500 > Subject: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. > > This patch was previously posted as a combined patch with 2 other testsuite > patches. I moved it to a separate patch. I don't see that thread. Either really old or differently named ? > > This patch fixes up a failure that I saw when I built a compiler with the long > double default set to IEEE 128-bit instead of IBM 128-bit. Now compilers with > either 128-bit long double default pass this test. Can I check this into the > master branch? sandbox or upstream failure? Perhaps stands alone better as " This patch updates the pr70177.c testcase to define IBM128_MAX as appropriate for the IBM 128 or IEEE 128 type that is currently in use." ? > > gcc/testsuite/ > 2020-11-15 Michael Meissner <meissner@linux.ibm.com> > > PR target/70117 > * gcc.target/powerpc/pr70117.c: Add support for long double being > IEEE 128-bit. > --- > gcc/testsuite/gcc.target/powerpc/pr70117.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/gcc/testsuite/gcc.target/powerpc/pr70117.c b/gcc/testsuite/gcc.target/powerpc/pr70117.c > index 3bbd2c595e0..928efe39c7b 100644 > --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c > +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c > @@ -9,9 +9,11 @@ > 128-bit floating point, because the type is not enabled on those > systems. */ > #define LDOUBLE __ibm128 > +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) > > #elif defined(__LONG_DOUBLE_IBM128__) > #define LDOUBLE long double > +#define IBM128_MAX LDBL_MAX > > #else > #error "long double must be either IBM 128-bit or IEEE 128-bit" > @@ -75,10 +77,10 @@ main (void) > if (__builtin_isnormal (ld)) > __builtin_abort (); > > - ld = LDBL_MAX; > + ld = IBM128_MAX; > if (!__builtin_isnormal (ld)) > __builtin_abort (); > - ld = -LDBL_MAX; > + ld = -IBM128_MAX; > if (!__builtin_isnormal (ld)) > __builtin_abort (); > > -- > 2.22.0 > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-15 17:17 [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test Michael Meissner 2020-11-18 5:34 ` will schmidt @ 2020-11-18 21:43 ` Segher Boessenkool 2020-11-18 21:53 ` Jakub Jelinek 1 sibling, 1 reply; 13+ messages in thread From: Segher Boessenkool @ 2020-11-18 21:43 UTC (permalink / raw) To: Michael Meissner, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner Hi! On Sun, Nov 15, 2020 at 12:17:47PM -0500, Michael Meissner wrote: > --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c > +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c > @@ -9,9 +9,11 @@ > 128-bit floating point, because the type is not enabled on those > systems. */ > #define LDOUBLE __ibm128 > +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) This is the IEEE QP float number 43fefffffffffffff7ffffffffffff80 which I very much doubt is the maximum finite double-double? See the 0 in the middle of the mantissa... 43feffffffffffffffffffffffffff00 is bigger, and representable as double-double just as well? Or even 43feffffffffffffffffffffffffff80 should be. Segher ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-18 21:43 ` Segher Boessenkool @ 2020-11-18 21:53 ` Jakub Jelinek 2020-11-18 22:29 ` Segher Boessenkool 0 siblings, 1 reply; 13+ messages in thread From: Jakub Jelinek @ 2020-11-18 21:53 UTC (permalink / raw) To: Segher Boessenkool Cc: Michael Meissner, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Wed, Nov 18, 2020 at 03:43:20PM -0600, Segher Boessenkool wrote: > Hi! > > On Sun, Nov 15, 2020 at 12:17:47PM -0500, Michael Meissner wrote: > > --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c > > +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c > > @@ -9,9 +9,11 @@ > > 128-bit floating point, because the type is not enabled on those > > systems. */ > > #define LDOUBLE __ibm128 > > +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) > > This is the IEEE QP float number 43fefffffffffffff7ffffffffffff80 which > I very much doubt is the maximum finite double-double? See the 0 in the Numbers without the 0 in the middle-end aren't valid, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95450#c6 for more details. Without the 0 in the middle the double double number rounded to double would require increasing the higher double, and as it is the largest representable finite number, that is not possible. Jakub ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-18 21:53 ` Jakub Jelinek @ 2020-11-18 22:29 ` Segher Boessenkool 2020-11-19 1:13 ` Paul A. Clarke 2020-11-19 8:08 ` Michael Meissner 0 siblings, 2 replies; 13+ messages in thread From: Segher Boessenkool @ 2020-11-18 22:29 UTC (permalink / raw) To: Jakub Jelinek Cc: Michael Meissner, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Wed, Nov 18, 2020 at 10:53:49PM +0100, Jakub Jelinek wrote: > On Wed, Nov 18, 2020 at 03:43:20PM -0600, Segher Boessenkool wrote: > > Hi! > > > > On Sun, Nov 15, 2020 at 12:17:47PM -0500, Michael Meissner wrote: > > > --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c > > > +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c > > > @@ -9,9 +9,11 @@ > > > 128-bit floating point, because the type is not enabled on those > > > systems. */ > > > #define LDOUBLE __ibm128 > > > +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) > > > > This is the IEEE QP float number 43fefffffffffffff7ffffffffffff80 which > > I very much doubt is the maximum finite double-double? See the 0 in the > > Numbers without the 0 in the middle-end aren't valid, see > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95450#c6 > for more details. Without the 0 in the middle the double double number > rounded to double would require increasing the higher double, and as it is > the largest representable finite number, that is not possible. Ah, in that way. Tricky. Mike, please add a comment, what number it represents? Okay for trunk with that, thanks. (Should those not be define in some header though?) Segher ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-18 22:29 ` Segher Boessenkool @ 2020-11-19 1:13 ` Paul A. Clarke 2020-11-19 14:08 ` Segher Boessenkool 2020-11-19 8:08 ` Michael Meissner 1 sibling, 1 reply; 13+ messages in thread From: Paul A. Clarke @ 2020-11-19 1:13 UTC (permalink / raw) To: Segher Boessenkool Cc: Jakub Jelinek, Michael Meissner, Bill Schmidt, gcc-patches, David Edelsohn On Wed, Nov 18, 2020 at 04:29:09PM -0600, Segher Boessenkool wrote: > On Wed, Nov 18, 2020 at 10:53:49PM +0100, Jakub Jelinek wrote: > > On Wed, Nov 18, 2020 at 03:43:20PM -0600, Segher Boessenkool wrote: > > > On Sun, Nov 15, 2020 at 12:17:47PM -0500, Michael Meissner wrote: > > > > --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c > > > > +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c > > > > @@ -9,9 +9,11 @@ > > > > 128-bit floating point, because the type is not enabled on those > > > > systems. */ > > > > #define LDOUBLE __ibm128 > > > > +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) > > > > > > This is the IEEE QP float number 43fefffffffffffff7ffffffffffff80 which > > > I very much doubt is the maximum finite double-double? See the 0 in the > > > > Numbers without the 0 in the middle-end aren't valid, see > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95450#c6 > > for more details. Without the 0 in the middle the double double number > > rounded to double would require increasing the higher double, and as it is > > the largest representable finite number, that is not possible. > > Ah, in that way. Tricky. > > Mike, please add a comment, what number it represents? Okay for trunk > with that, thanks. > > (Should those not be define in some header though?) Would it be better to represent the number in hex, like with printf's '%a' formatting (e.g. "0x1.921fb54442d18p+0"...this is NOT the same value)? (I always get nervous when I see a long float hardcoded in decimal.) PC ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-19 1:13 ` Paul A. Clarke @ 2020-11-19 14:08 ` Segher Boessenkool 0 siblings, 0 replies; 13+ messages in thread From: Segher Boessenkool @ 2020-11-19 14:08 UTC (permalink / raw) To: Paul A. Clarke Cc: Jakub Jelinek, Michael Meissner, Bill Schmidt, gcc-patches, David Edelsohn On Wed, Nov 18, 2020 at 07:13:04PM -0600, Paul A. Clarke wrote: > On Wed, Nov 18, 2020 at 04:29:09PM -0600, Segher Boessenkool wrote: > > Mike, please add a comment, what number it represents? Okay for trunk > > with that, thanks. > > > > (Should those not be define in some header though?) > > Would it be better to represent the number in hex, like with printf's '%a' > formatting (e.g. "0x1.921fb54442d18p+0"...this is NOT the same value)? > > (I always get nervous when I see a long float hardcoded in decimal.) Yeah, good point, thanks. That's indeed why I converted it to hex, to see what it *is* :-) Hexadecimal float is C99 so we cannot use it in the installed headers, but it should be fine in most testcases now. And even in the headers we can put it in a comment of course. Segher ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-18 22:29 ` Segher Boessenkool 2020-11-19 1:13 ` Paul A. Clarke @ 2020-11-19 8:08 ` Michael Meissner 2020-11-19 14:03 ` Segher Boessenkool 1 sibling, 1 reply; 13+ messages in thread From: Michael Meissner @ 2020-11-19 8:08 UTC (permalink / raw) To: Segher Boessenkool Cc: Jakub Jelinek, Michael Meissner, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Wed, Nov 18, 2020 at 04:29:09PM -0600, Segher Boessenkool wrote: > On Wed, Nov 18, 2020 at 10:53:49PM +0100, Jakub Jelinek wrote: > > On Wed, Nov 18, 2020 at 03:43:20PM -0600, Segher Boessenkool wrote: > > > Hi! > > > > > > On Sun, Nov 15, 2020 at 12:17:47PM -0500, Michael Meissner wrote: > > > > --- a/gcc/testsuite/gcc.target/powerpc/pr70117.c > > > > +++ b/gcc/testsuite/gcc.target/powerpc/pr70117.c > > > > @@ -9,9 +9,11 @@ > > > > 128-bit floating point, because the type is not enabled on those > > > > systems. */ > > > > #define LDOUBLE __ibm128 > > > > +#define IBM128_MAX ((__ibm128) 1.79769313486231580793728971405301199e+308L) > > > > > > This is the IEEE QP float number 43fefffffffffffff7ffffffffffff80 which > > > I very much doubt is the maximum finite double-double? See the 0 in the > > > > Numbers without the 0 in the middle-end aren't valid, see > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95450#c6 > > for more details. Without the 0 in the middle the double double number > > rounded to double would require increasing the higher double, and as it is > > the largest representable finite number, that is not possible. > > Ah, in that way. Tricky. > > Mike, please add a comment, what number it represents? Okay for trunk > with that, thanks. > > (Should those not be define in some header though?) When long double is IBM extended double, then LDBL_MAX, etc. is set with math.h (and the __ version created by the compiler). We don't have min/max for the funky MD only floating point numbers defined. I got the number by printing LDBL_MAX in fact and just pasting that in. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.ibm.com, phone: +1 (978) 899-4797 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-19 8:08 ` Michael Meissner @ 2020-11-19 14:03 ` Segher Boessenkool 2020-11-21 5:27 ` Michael Meissner 0 siblings, 1 reply; 13+ messages in thread From: Segher Boessenkool @ 2020-11-19 14:03 UTC (permalink / raw) To: Michael Meissner, Jakub Jelinek, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Thu, Nov 19, 2020 at 03:08:05AM -0500, Michael Meissner wrote: > On Wed, Nov 18, 2020 at 04:29:09PM -0600, Segher Boessenkool wrote: > > Mike, please add a comment, what number it represents? Okay for trunk > > with that, thanks. > > > > (Should those not be define in some header though?) > > When long double is IBM extended double, then LDBL_MAX, etc. is set with math.h > (and the __ version created by the compiler). We don't have min/max for the > funky MD only floating point numbers defined. I got the number by printing > LDBL_MAX in fact and just pasting that in. Sure -- I am suggesting to always define __IBM128_MAX__ and the like, which then can be used to define LDBL_MAX, but also can be used directly. Segher ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-19 14:03 ` Segher Boessenkool @ 2020-11-21 5:27 ` Michael Meissner 2020-11-23 18:59 ` Segher Boessenkool 0 siblings, 1 reply; 13+ messages in thread From: Michael Meissner @ 2020-11-21 5:27 UTC (permalink / raw) To: Segher Boessenkool Cc: Michael Meissner, Jakub Jelinek, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Thu, Nov 19, 2020 at 08:03:02AM -0600, Segher Boessenkool wrote: > On Thu, Nov 19, 2020 at 03:08:05AM -0500, Michael Meissner wrote: > > On Wed, Nov 18, 2020 at 04:29:09PM -0600, Segher Boessenkool wrote: > > > Mike, please add a comment, what number it represents? Okay for trunk > > > with that, thanks. > > > > > > (Should those not be define in some header though?) > > > > When long double is IBM extended double, then LDBL_MAX, etc. is set with math.h > > (and the __ version created by the compiler). We don't have min/max for the > > funky MD only floating point numbers defined. I got the number by printing > > LDBL_MAX in fact and just pasting that in. > > Sure -- I am suggesting to always define __IBM128_MAX__ and the like, > which then can be used to define LDBL_MAX, but also can be used > directly. I have posted patches for this as a new set of patches. Rather than trying to create IBM 128-bit long double min/max/etc. defines, I just marked the test as needing IBM 128-bit long double. I did look into providing defines for these. Unfortunately the function that creates these (builtin_define_float_constants) is static. And the caller of that function (c_cpp_builtins) does not have a target hook or other method to provide for these defines for MD specific floating point types. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.ibm.com, phone: +1 (978) 899-4797 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-21 5:27 ` Michael Meissner @ 2020-11-23 18:59 ` Segher Boessenkool 2020-11-23 19:10 ` Jakub Jelinek 0 siblings, 1 reply; 13+ messages in thread From: Segher Boessenkool @ 2020-11-23 18:59 UTC (permalink / raw) To: Michael Meissner, Jakub Jelinek, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Sat, Nov 21, 2020 at 12:27:30AM -0500, Michael Meissner wrote: > On Thu, Nov 19, 2020 at 08:03:02AM -0600, Segher Boessenkool wrote: > > Sure -- I am suggesting to always define __IBM128_MAX__ and the like, > > which then can be used to define LDBL_MAX, but also can be used > > directly. > > I have posted patches for this as a new set of patches. Rather than trying to > create IBM 128-bit long double min/max/etc. defines, I just marked the test as > needing IBM 128-bit long double. > > I did look into providing defines for these. Unfortunately the function that > creates these (builtin_define_float_constants) is static. And the caller of > that function (c_cpp_builtins) does not have a target hook or other method to > provide for these defines for MD specific floating point types. So create the defines from somewhere in the backend, instead? This isn't rocket science. You can even leave the existing LDBL defines alone if you just override them later. And there is nothing against adding new hooks or whatever! Segher ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-23 18:59 ` Segher Boessenkool @ 2020-11-23 19:10 ` Jakub Jelinek 2020-11-23 20:13 ` Segher Boessenkool 0 siblings, 1 reply; 13+ messages in thread From: Jakub Jelinek @ 2020-11-23 19:10 UTC (permalink / raw) To: Segher Boessenkool Cc: Michael Meissner, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Mon, Nov 23, 2020 at 12:59:29PM -0600, Segher Boessenkool wrote: > On Sat, Nov 21, 2020 at 12:27:30AM -0500, Michael Meissner wrote: > > On Thu, Nov 19, 2020 at 08:03:02AM -0600, Segher Boessenkool wrote: > > > Sure -- I am suggesting to always define __IBM128_MAX__ and the like, > > > which then can be used to define LDBL_MAX, but also can be used > > > directly. > > > > I have posted patches for this as a new set of patches. Rather than trying to > > create IBM 128-bit long double min/max/etc. defines, I just marked the test as > > needing IBM 128-bit long double. > > > > I did look into providing defines for these. Unfortunately the function that > > creates these (builtin_define_float_constants) is static. And the caller of > > that function (c_cpp_builtins) does not have a target hook or other method to > > provide for these defines for MD specific floating point types. > > So create the defines from somewhere in the backend, instead? This > isn't rocket science. > > You can even leave the existing LDBL defines alone if you just override > them later. The current defines are quite complex code, because defining them is very expensive and we don't want to pay that price at every compilation start when most of the compilations never use those macros. So they are magic deferred macros. Jakub ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test. 2020-11-23 19:10 ` Jakub Jelinek @ 2020-11-23 20:13 ` Segher Boessenkool 0 siblings, 0 replies; 13+ messages in thread From: Segher Boessenkool @ 2020-11-23 20:13 UTC (permalink / raw) To: Jakub Jelinek Cc: Michael Meissner, gcc-patches, David Edelsohn, Bill Schmidt, Peter Bergner On Mon, Nov 23, 2020 at 08:10:49PM +0100, Jakub Jelinek wrote: > On Mon, Nov 23, 2020 at 12:59:29PM -0600, Segher Boessenkool wrote: > > On Sat, Nov 21, 2020 at 12:27:30AM -0500, Michael Meissner wrote: > > > On Thu, Nov 19, 2020 at 08:03:02AM -0600, Segher Boessenkool wrote: > > > > Sure -- I am suggesting to always define __IBM128_MAX__ and the like, > > > > which then can be used to define LDBL_MAX, but also can be used > > > > directly. > > > > > > I have posted patches for this as a new set of patches. Rather than trying to > > > create IBM 128-bit long double min/max/etc. defines, I just marked the test as > > > needing IBM 128-bit long double. > > > > > > I did look into providing defines for these. Unfortunately the function that > > > creates these (builtin_define_float_constants) is static. And the caller of > > > that function (c_cpp_builtins) does not have a target hook or other method to > > > provide for these defines for MD specific floating point types. > > > > So create the defines from somewhere in the backend, instead? This > > isn't rocket science. > > > > You can even leave the existing LDBL defines alone if you just override > > them later. > > The current defines are quite complex code, because defining them is very > expensive and we don't want to pay that price at every compilation start > when most of the compilations never use those macros. > So they are magic deferred macros. Ah, so defining later will not work, or it will be quite fragile at least. So that won't fly :-/ We can provide IBM128 etc. macros for this just fine of course, but using that for the LDBL is hard then, so perhaps we should not do that second step, certainly not in stage > 1. Thanks, Segher ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-11-23 20:14 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-15 17:17 [PATCH] PowerPC Fix ibm128 defaults for pr70117.c test Michael Meissner 2020-11-18 5:34 ` will schmidt 2020-11-18 21:43 ` Segher Boessenkool 2020-11-18 21:53 ` Jakub Jelinek 2020-11-18 22:29 ` Segher Boessenkool 2020-11-19 1:13 ` Paul A. Clarke 2020-11-19 14:08 ` Segher Boessenkool 2020-11-19 8:08 ` Michael Meissner 2020-11-19 14:03 ` Segher Boessenkool 2020-11-21 5:27 ` Michael Meissner 2020-11-23 18:59 ` Segher Boessenkool 2020-11-23 19:10 ` Jakub Jelinek 2020-11-23 20:13 ` Segher Boessenkool
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).