This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PowerPC IEEE 128-bit floating point: Language standards

On Mon, 2 Jun 2014, Michael Meissner wrote:

> I have not been following the language standards recently.  For any of the
> recent language standards, or the standards that are being worked on, will
> there be requirements for an IEEE 128-bit binary floating point type?  For the
> C/C++ languages, is this type long double, or is another type being proprosed
> (such as __float128)?

See DTS 18661-3 (WG14 N1834) - supposed to be going for PDTS ballot soon.  
This provides a standard set of C bindings for types corresponding to 
particular IEEE formats, without requiring such types to be provided.  
(Thus, it provides a standard way of doing what libquadmath does - saying 
the type is _Float128, that that's a keyword so it can be used with 
_Complex (cf. bug 32187), that the library functions are *f128, that 
constants can be suffixed with f128, that _Float64 is a distinct type from 
double although it has the same representation and alignment, and so on.  
Obviously it's not your responsibility to implement any of this.  But you 
may need to do some of the same disentangling in glibc that would be 
needed for implementing 18661-3 - the ldbl-128 and ldbl-128ibm directories 
presently have the mutually exclusive meanings that long double is a 
particular type, but you'll want to build code from both of them into the 
same glibc if the transition is to be achieved without having two separate 
sets of incompatible glibc libraries.  Though separate libraries, with 
some dynamic linker magic to pick the right ones and avoid duplicating 
any libraries that don't involve long double in their interfaces, does 
have some attraction.)

Joseph S. Myers

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]