This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: version typeinfo for 128bit types
- From: Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, Marc Glisse <marc dot glisse at inria dot fr>, Jonathan Wakely <jwakely dot gcc at gmail dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Tue, 22 Apr 2014 17:35:09 -0400
- Subject: Re: version typeinfo for 128bit types
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 02 dot 1404140912130 dot 27139 at stedding dot saclay dot inria dot fr> <CAH6eHdSHs=sGMTaM_s265OAr2TaZGMFObmWfgG1Qzukx4aA__A at mail dot gmail dot com> <CAH6eHdSGqdrewAkCZAhUmtNEeRaBzUn4S0sw_Htv09e8TiCm-Q at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1404221553550 dot 3704 at laptop-mg dot saclay dot inria dot fr> <CAH6eHdTrEVxVtWWqevq-wahQgB7ymX0ygfTiOJgmjOZ26fBVmg at mail dot gmail dot com> <alpine dot DEB dot 2 dot 02 dot 1404222154370 dot 17009 at stedding dot saclay dot inria dot fr> <20140422202622 dot GA18343 at ibm-tiger dot the-meissners dot org> <20140422202955 dot GW1817 at tucnak dot redhat dot com>
On Tue, Apr 22, 2014 at 10:29:55PM +0200, Jakub Jelinek wrote:
> On Tue, Apr 22, 2014 at 04:26:23PM -0400, Michael Meissner wrote:
> > On Tue, Apr 22, 2014 at 10:06:19PM +0200, Marc Glisse wrote:
> > > Hello,
> > >
> > > as written in the PR, my patch seems wrong for platforms like
> > > powerpc that already had the __float128 typeinfo for long double
> > > with a different version. The following patch regtested fine on
> > > x86_64, and a hackish cross-build shows that float128.ver is ignored
> > > on powerpc (good).
> > >
> > > 2014-04-23 Marc Glisse <marc.glisse@inria.fr>
> > >
> > > PR libstdc++/43622
> > > * config/abi/pre/float128.ver: New file.
> > > * config/abi/pre/gnu.ver (CXXABI_1.3.9): Move __float128 typeinfo to
> > > the new file.
> > > * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
> > > * configure.ac: Use float128.ver when relevant.
> > > * configure: Regenerate.
> >
> > Note, I hope to restart work to add __float128 as IEEE 128-bit floating point
> > in the PowerPC shortly. I had done about 1/2 of the work in a sandbox, and I
> > needed to put it aside to look at other issues, and it has bubbled up to be
> > high on my list of priorities.
>
> But then the question is what letter to use for the mangling of it, when
> g is already used for the IBM "double double" long double on PowerPC.
Right now, I am adding __float128 as a completely separate type to be IEEE
128-bit floating point. At the moment, it is just baby steps, since we need
the compiler to have some type, to get the library work started. It would have
been nice if I had started the work early enough to go into the new little
endian ABI.
Ideally in the future we would make long double map to __float128, so I added
another type __ibm128 to give the IBM double double format. I hadn't gotten to
the point of thinking about mangling. I suspect we will need to add a way to
use something else if 'g' was already taken.
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797