Hi Michael,

I have shortened the distribution list somewhat for the Fortran-relevant
parts.

I want to discuss changes that I think we need to make across the open source
toochain to allow us to change the long double type on PowerPC hardware from
using the IBM extended double (i.e. a pair of doubles) to the IEEE 128-bit
format defined in IEEE 754.

I wasn't sure whom to address this to, so I took a scatter shot approach.  I
likely missed a few people, and some people were added that may not need to
participate in the discussion.  Sorry for either not including you initially or
for including you by mistake.

I added people from the following areas:

        PowerPC folk

        Langugage maintainers: At the moment, only the C/C++ front ends have
        code to support both 128-bit floating point types.  The other languages
        use just the defaults provided by the machine maintainers.  However, it
        may be we will need to think about rules for code being compiled and
        linked with a different long double format.

Currently, we support the IBM format with gfortran.  So, we have to
look at a) library code called from user routines, and b) user code
compiled with one version calling another.

As for a), this is something that can be done using the right m4
macros. We might even, with some hackery, be able to provide two
versions of the functions with the new library.

For b), I do not have a clear solution for Fortran. But I also have
no idea how this is supposed to work in other languages,
when a user uses code compiles something with "long double"
with gcc 10 and links it against "long double" with gcc 11 -
what are your plans for that?

It would be possible to annotate every function with calls long double
with the new format somehow (ugh), or you could make a clear ABI break.
This would mean a new, incompatible version of libgfortran, but we would
have to restrict that to POWER (would that be possible?).
We cannot impose an ABI change on everybody else to this.

Best regards

        Thomas

Reply via email to