Fortran and real*16 on PowerPC and moving to IEE 128-bit

Segher Boessenkool segher@kernel.crashing.org
Sat Oct 27 20:54:00 GMT 2018


Hi Janne,

On Sat, Oct 27, 2018 at 10:52:26PM +0300, Janne Blomqvist wrote:
> On Fri, Oct 26, 2018 at 12:25 AM Michael Meissner <meissner@linux.ibm.com>
> wrote:
> 
> > So with the GLIBC work progressing, it is time to start thinking about how
> > we
> > can move fortran's real*16 to use the IEEE 128-bit type.
> >
> > There are two basic methods that I know about:
> >
> >     1)  Wait for a distro to move, and fortran (in theory) should pick up
> > all
> >         of the changes for free, but that can take awhile;
> >
> 
> So does this mean that distros are going to have a flag day where they drop
> the old double-double format and switch to ieee? So we don't need to
> consider a situation where a system supports both?

At some point the default long double type will change to ieee128.  For
some things that is enough, and a distro that rebuilds everything will of
course "automatically" have matching libraries and binaries.  But this
is not enough for some other things (what about "external" binaries and
libraries, what about external data (in files etc.)?)

> >     2)  Add support within fortran to change the name used for real*16
> > support
> >         functions, and provide both functions in the library (this is what
> > C++
> >         is doing).
> >
> 
> .. and this means that we'd support both via, say, a compile-time switch,
> and thus the libgfortran must support both? In this case, glibc also
> provides both ABIs?

There is only one ABI.  But yes, glibc supports both IBM extended double
("ibm128") as well as IEEE quad precision float ("ieee128").


Segher



More information about the Fortran mailing list