public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* RFC Migrating PowerPC to IEEE 128-bit Floating Point
@ 2015-09-30 19:18 Steven Munroe
  2015-09-30 21:15 ` Joseph Myers
  2015-11-16 17:48 ` IEEE128 binary float to decimal float conversion routines Paul E. Murphy
  0 siblings, 2 replies; 46+ messages in thread
From: Steven Munroe @ 2015-09-30 19:18 UTC (permalink / raw)
  To: Joseph Myers, Carlos O'Donell
  Cc: libc-alpha, Tulio Magno Quites Machado Filho, Ulrich Weigand,
	Michael Meissner, David Edelsohn

Several of you have expressed concern with the limits of the current IBM
long double format and have asked when the PowerPC platform could make
the transition to IEEE 128 standard format and rounding support.

At first we were reluctant to give up the hardware advantage of the
double double implementation. But with progress in VSX architecture in
P8 and future processors, I think we can address IEEE 128-bit with
reasonable performance.

But first we need to start with a soft-fp implementation as the first
step to enable GCC for __float128 (IEEE 128-bit format) and then address
VSX optimization as a parallel effort.

We have made good progress on this as documented here:
https://gcc.gnu.org/wiki/Ieee128PowerPC

As the next steps we need to address updates to the master soft-fp
project and then how to migrate GLIBC (libm and printf/scanf)) long
double from IBM long double to __float128.

Of course we need to continue support of existing applications that
currently use IBM long double while we enable __float128. And we will
need to maintain backward compatibility (via versioned symbols) for some
time.

This will require some management of the symbol set in  soft-fp and
eventually symbol versioning of long double functions in libm to allow
existing IBM long double and  new __float128 applications to coexist.

The first issue of the symbol naming for soft-fp implementation for
__float128 for PowerPC64. IBM long double currently used TFmode and the
runtime functions use the "tf" suffix (__floatditf for example).

For the powerpc64 target in GCC we planning to add __float128 as KFmode
and implies use the "kf" suffix in the runtime (__floatdikf for
example). This leaves the current long double runtime functions in place
while we introduce the __float128. This implies come macro and build
trickery to allow soft-fp builds for both TFmode and KFmode to coexist. 

Mike offers some suggestions in his Wiki above (section 3). We would
appreciate feed back on what you would prefer.

It would be good to resolve any such logistics in the soft-fp master
source in time for GCC stage 3.

Then we can engage the GLIBC community on staging and migration of long
double support within libm and libc. I suspect this will of the same
complexity as the original migration from long double == double and will
take while to resolve.

Thanks

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2016-04-21 20:47 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-30 19:18 RFC Migrating PowerPC to IEEE 128-bit Floating Point Steven Munroe
2015-09-30 21:15 ` Joseph Myers
2015-10-13 18:06   ` Steven Munroe
2015-10-13 18:53     ` Michael Meissner
2015-10-13 23:11     ` Joseph Myers
2015-10-14  7:38       ` Andreas Schwab
2015-10-14 12:13         ` Joseph Myers
2016-03-07 23:48       ` Paul E. Murphy
2016-03-08  1:31         ` Joseph Myers
2016-04-19 17:26           ` Steven Munroe
2016-04-21 20:47             ` Joseph Myers
2015-10-26 18:05   ` [PATCH 0/2] Add minimal code for IEEE 128-bit floating point Tulio Magno Quites Machado Filho
2015-10-26 18:12     ` Joseph Myers
2015-10-26 18:45       ` Michael Meissner
2015-10-26 19:51       ` Steven Munroe
2015-10-26 22:31         ` Joseph Myers
2015-10-26 18:06   ` [PATCH 2/2] soft-fp: Add new KF routines Tulio Magno Quites Machado Filho
2015-10-26 18:34     ` Joseph Myers
2015-10-26 18:06   ` [PATCH 1/2] soft-fp: Automatically create KF files from TF ones Tulio Magno Quites Machado Filho
2015-10-26 18:16     ` Joseph Myers
2015-10-26 18:44       ` Michael Meissner
2015-10-26 20:01       ` [PATCHv2] " Tulio Magno Quites Machado Filho
2015-10-26 22:32         ` Joseph Myers
2015-10-27 11:20           ` Tulio Magno Quites Machado Filho
2015-11-16 17:48 ` IEEE128 binary float to decimal float conversion routines Paul E. Murphy
2015-11-16 18:24   ` Joseph Myers
2015-11-16 18:40     ` Joseph Myers
2015-11-16 22:07     ` Christoph Lauter
2015-11-16 22:42       ` Joseph Myers
2015-12-18 21:12         ` Steven Munroe
2015-12-18 22:13           ` Joseph Myers
2015-12-19  5:03             ` Steven Munroe
2015-12-19 13:15               ` Joseph Myers
2015-12-19 16:40               ` Joseph Myers
2015-12-23 17:33                 ` Steven Munroe
2015-11-16 23:45     ` Paul E. Murphy
2015-11-17  0:07       ` Joseph Myers
     [not found]         ` <201511180131.tAI1Vs2L023118@d03av01.boulder.ibm.com>
2015-11-18  2:03           ` Joseph Myers
     [not found]             ` <201511182301.tAIN1Igc011083@d03av02.boulder.ibm.com>
2015-11-18 23:53               ` Joseph Myers
     [not found]                 ` <201511190052.tAJ0qd4x018924@d03av02.boulder.ibm.com>
2015-11-19  1:22                   ` Joseph Myers
2015-12-08 17:16                 ` Steven Munroe
2015-12-08 18:25                   ` Joseph Myers
2015-12-15 21:18                     ` Steven Munroe
2015-12-16  0:07                       ` Joseph Myers
2015-11-19 17:57             ` Paul E. Murphy
2015-11-19 18:14               ` Joseph Myers

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