Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-06-01 Thread Segher Boessenkool
On Fri, Jun 01, 2018 at 09:33:57PM +, Joseph Myers wrote: > On Fri, 1 Jun 2018, Segher Boessenkool wrote: > > > This patch changes the (C++) mangling of the 128-bit float types. > > IBM long double ("double-double") is mangled as "g", as before, and > > IEEE 128-bit long double is mangled as "

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-06-01 Thread Joseph Myers
On Fri, 1 Jun 2018, Segher Boessenkool wrote: > This patch changes the (C++) mangling of the 128-bit float types. > IBM long double ("double-double") is mangled as "g", as before, and > IEEE 128-bit long double is mangled as "u9__ieee128". To be clear: given this mangling (which certainly simplif

[PATCH] rs6000: Fix mangling for 128-bit float

2018-06-01 Thread Segher Boessenkool
This patch changes the (C++) mangling of the 128-bit float types. IBM long double ("double-double") is mangled as "g", as before, and IEEE 128-bit long double is mangled as "u9__ieee128". Bootstrapped and tested on powerpc64-linux {-m32,-m64} (Power7) and on powerpc64le-linux (Power9). Also teste

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-31 Thread Segher Boessenkool
On Wed, May 30, 2018 at 06:43:23PM +0200, Jakub Jelinek wrote: > On Wed, May 30, 2018 at 08:45:22AM -0500, Segher Boessenkool wrote: > > > If you need to keep g for compatibility (you do), then why not just have > > > e (long double is double) > > > g (long double when matching __ibm128, or explici

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Jakub Jelinek
On Wed, May 30, 2018 at 08:45:22AM -0500, Segher Boessenkool wrote: > > If you need to keep g for compatibility (you do), then why not just have > > e (long double is double) > > g (long double when matching __ibm128, or explicit __ibm128) > > u9__ieee128 (long double when matching __ieee128, or ex

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Jason Merrill
On Wed, May 30, 2018 at 11:32 AM, Segher Boessenkool wrote: > On Wed, May 30, 2018 at 11:03:39AM -0400, Jason Merrill wrote: >> On Wed, May 30, 2018 at 9:45 AM, Segher Boessenkool >> wrote: >> > On Wed, May 30, 2018 at 03:15:21PM +0200, Jakub Jelinek wrote: >> >> On Wed, May 30, 2018 at 12:58:49P

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Segher Boessenkool
On Wed, May 30, 2018 at 11:03:39AM -0400, Jason Merrill wrote: > On Wed, May 30, 2018 at 9:45 AM, Segher Boessenkool > wrote: > > On Wed, May 30, 2018 at 03:15:21PM +0200, Jakub Jelinek wrote: > >> On Wed, May 30, 2018 at 12:58:49PM +, Segher Boessenkool wrote: > >> > This patch changes the (C

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Jason Merrill
On Wed, May 30, 2018 at 9:45 AM, Segher Boessenkool wrote: > On Wed, May 30, 2018 at 03:15:21PM +0200, Jakub Jelinek wrote: >> On Wed, May 30, 2018 at 12:58:49PM +, Segher Boessenkool wrote: >> > This patch changes the (C++) mangling of the 128-bit float types: >> > >> > __ieee128 becomes

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Segher Boessenkool
On Wed, May 30, 2018 at 03:15:21PM +0200, Jakub Jelinek wrote: > On Wed, May 30, 2018 at 12:58:49PM +, Segher Boessenkool wrote: > > This patch changes the (C++) mangling of the 128-bit float types: > > > > __ieee128 becomes u9__ieee128 > > __ibm128 becomes u8__ieee128 > > ^^ what

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Jakub Jelinek
On Wed, May 30, 2018 at 12:58:49PM +, Segher Boessenkool wrote: > This patch changes the (C++) mangling of the 128-bit float types: > > __ieee128 becomes u9__ieee128 > __ibm128 becomes u8__ieee128 ^^ what is the advantage/reason for the above, rather than mangling it as g? >

Re: [PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Segher Boessenkool
On Wed, May 30, 2018 at 12:58:49PM +, Segher Boessenkool wrote: > This patch changes the (C++) mangling of the 128-bit float types: > > __ieee128 becomes u9__ieee128 > __ibm128 becomes u8__ieee128 __ibm128 becomes u8__ibm128 of course. > __float128 is not a type any

[PATCH] rs6000: Fix mangling for 128-bit float

2018-05-30 Thread Segher Boessenkool
This patch changes the (C++) mangling of the 128-bit float types: __ieee128 becomes u9__ieee128 __ibm128 becomes u8__ieee128 __float128 is not a type anymore IEEE long double becomes u9__ieee128 IBM long double stays g This is a necessary ABI break. It wil