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