public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Michael Meissner <meissner@linux.ibm.com>
To: "Michael Meissner" <meissner@linux.ibm.com>,
	"gcc Mailing List" <gcc@gcc.gnu.org>,
	"Carlos O'Donell" <carlos@systemhalted.org>,
	"Alan Modra" <amodra@gmail.com>,
	"Andreas Krebbel" <krebbel@linux.ibm.com>,
	"Arnaud Charlet" <charlet@adacore.com>,
	"Bill Schmidt" <wschmidt@linux.ibm.com>,
	"Daniel Franke" <franke.daniel@gmail.com>,
	"Daniel Kraft" <d@domob.eu>, "David Edelsohn" <dje.gcc@gmail.com>,
	"Eric Botcazou" <ebotcazou@libertysurf.fr>,
	"Erik Edelmann" <erik.edelmann@iki.fi>,
	"François-Xavier Coudert" <fxcoudert@gcc.gnu.org>,
	"Jakub Jelinek" <jakub@redhat.com>,
	"Jan Hubicka" <hubicka@ucw.cz>,
	"Janne Blomqvist" <jb@gcc.gnu.org>,
	"Janus Weil" <janus@gcc.gnu.org>,
	"Jason Merrill" <jason@redhat.com>, "Jeff Law" <law@redhat.com>,
	"Jerry DeLisle" <jvdelisle@gcc.gnu.org>,
	"Jonathan Wakely" <jwakely.gcc@gmail.com>,
	"Joseph Myers" <joseph@codesourcery.com>,
	"Mikael Morin" <mikael@gcc.gnu.org>,
	"Nathan Sidwell" <nathan@acm.org>,
	"Nick Clifton" <nickc@redhat.com>,
	"Paul Thomas" <pault@gcc.gnu.org>,
	"Pedro Franco de Carvalho" <pedromfc@linux.ibm.com>,
	"Peter Bergner" <bergner@linux.ibm.com>,
	"Ramana Radhakrishnan" <ramana.radhakrishnan@arm.com>,
	"Richard Biener" <rguenther@suse.de>,
	"Richard Earnshaw" <richard.earnshaw@arm.com>,
	"Richard Sandiford" <richard.sandiford@arm.com>,
	"Segher Boessenkool" <segher@kernel.crashing.org>,
	"Thomas König" <tkoenig@gcc.gnu.org>,
	"Tobias Burnus" <tobias@codesourcery.com>,
	"Tobias Schlüter" <tobias.schlueter@physik.uni-muenchen.de>,
	"Toon Moene" <toon@moene.org>,
	"Tulio Magno Quites Machado Filho" <tuliom@linux.ibm.com>,
	"Ulrich Weigand" <uweigand@de.ibm.com>,
	"Uros Bizjak" <ubizjak@gmail.com>, "Paul Clarke" <pc@us.ibm.com>,
	"Carl Love" <cel@us.ibm.com>,
	"Aaron Sawdey" <acsawdey@linux.ibm.com>,
	"Will Schmidt" <will_schmidt@vnet.ibm.com>,
	"Bill Seurer" <seurer@linux.vnet.ibm.com>,
	"Pat Haugen" <pthaugen@us.ibm.com>
Subject: PowerPC long double Mangling
Date: Fri, 7 Aug 2020 17:14:44 -0400	[thread overview]
Message-ID: <20200807211444.GA24949@ibm-tinman.the-meissners.org> (raw)
In-Reply-To: <20200807205526.GA21089@ibm-tinman.the-meissners.org>

One issue with doing the transition is what mangling should be used with the
new long double.

At the moment, the current mangling is:
	long double	"g"
	__float128	"u9__ieee128"
	__ibm128	"g"

Obviously this will have to change in the future.  It is unfortunate that we
choose "g" to mean IBM extended double many many years ago, when it should have
been used for IEEE 128-bit floating point.  But that is long ago, so I think we
need to keep it.

But assuming we want compatibility with libraries like glibc and libstdc++, I
think we will have to continue to use "g" for __ibm128.

With the long double change, I tend to view this as an ABI change.  But if the
user doesn't use long double, they should be able to link without changes.

I would propose using a new mangling for IEEE 128-bit long double.  I would
prefer to get agreement on what the new mangling should be so we don't have an
issue like we had in GCC 8.1 going to GCC 8.2, where we changed the mangling,
and had to provide aliases for the old name.

At the moment I think the mangling should be:
	long double	"g"			if long double is IBM
	long double	"u12_ieee128_ld"	if long double is IEEE
	__float128	"u9__ieee128"
	__ibm128	"g"

If we decide to change the __ibm128 mangling (or the long double when long
double is IBM), then we will likely need to generate aliases to bridge the old
vs. new support.

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

  reply	other threads:[~2020-08-07 21:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-07 20:55 Changes to allow PowerPC to change the long double type to use the IEEE 128-bit floating point format Michael Meissner
2020-08-07 21:14 ` Michael Meissner [this message]
2020-09-09 13:42   ` PowerPC long double Mangling Jonathan Wakely
2020-09-09 15:36     ` Segher Boessenkool
2020-09-09 17:06       ` Thomas Koenig
2020-09-09 17:32         ` Segher Boessenkool
2020-09-09 17:41           ` Jakub Jelinek
2020-09-09 18:49             ` Segher Boessenkool
2020-09-15  5:37     ` Michael Meissner
2020-09-15  7:09       ` Jakub Jelinek
2020-08-08 13:33 ` Changes to allow PowerPC to change the long double type to use the IEEE 128-bit floating point format Thomas König
2020-08-08 20:17   ` Thomas König
2020-08-10 16:53   ` Michael Meissner
2020-08-15  7:58     ` Thomas König
2020-08-08 13:44 ` H.J. Lu
2020-09-24 21:00 ` First set of patches to allow changing the long double default were posted: Michael Meissner
2020-09-28 16:38   ` Joseph Myers
2020-09-28 21:07     ` Michael Meissner
2020-09-28 21:19       ` Jakub Jelinek
2020-09-28 22:13       ` Joseph Myers
2020-09-29 16:34         ` Jonathan Wakely
2020-09-29 16:53           ` Joseph Myers
2020-10-08  0:00           ` Michael Meissner
2020-10-08  1:30             ` Segher Boessenkool

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200807211444.GA24949@ibm-tinman.the-meissners.org \
    --to=meissner@linux.ibm.com \
    --cc=acsawdey@linux.ibm.com \
    --cc=amodra@gmail.com \
    --cc=bergner@linux.ibm.com \
    --cc=carlos@systemhalted.org \
    --cc=cel@us.ibm.com \
    --cc=charlet@adacore.com \
    --cc=d@domob.eu \
    --cc=dje.gcc@gmail.com \
    --cc=ebotcazou@libertysurf.fr \
    --cc=erik.edelmann@iki.fi \
    --cc=franke.daniel@gmail.com \
    --cc=fxcoudert@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=jakub@redhat.com \
    --cc=janus@gcc.gnu.org \
    --cc=jason@redhat.com \
    --cc=jb@gcc.gnu.org \
    --cc=joseph@codesourcery.com \
    --cc=jvdelisle@gcc.gnu.org \
    --cc=jwakely.gcc@gmail.com \
    --cc=krebbel@linux.ibm.com \
    --cc=law@redhat.com \
    --cc=mikael@gcc.gnu.org \
    --cc=nathan@acm.org \
    --cc=nickc@redhat.com \
    --cc=pault@gcc.gnu.org \
    --cc=pc@us.ibm.com \
    --cc=pedromfc@linux.ibm.com \
    --cc=pthaugen@us.ibm.com \
    --cc=ramana.radhakrishnan@arm.com \
    --cc=rguenther@suse.de \
    --cc=richard.earnshaw@arm.com \
    --cc=richard.sandiford@arm.com \
    --cc=segher@kernel.crashing.org \
    --cc=seurer@linux.vnet.ibm.com \
    --cc=tkoenig@gcc.gnu.org \
    --cc=tobias.schlueter@physik.uni-muenchen.de \
    --cc=tobias@codesourcery.com \
    --cc=toon@moene.org \
    --cc=tuliom@linux.ibm.com \
    --cc=ubizjak@gmail.com \
    --cc=uweigand@de.ibm.com \
    --cc=will_schmidt@vnet.ibm.com \
    --cc=wschmidt@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).