On Mon, Feb 21, 2011 at 12:50 PM, Michael Haubenwallner <michael.haubenwall...@salomon.at> wrote: > > On 01/-10/-28163 08:59 PM, David Edelsohn wrote: >> AIX provides two versions of long double and declares all of the C99 >> long double symbols in math.h header file. One implementation aliases >> long double to IEEE double precision type and the other implementation >> aliases long double to IBM's paired double format. All of the C99 >> symbols for IEEE double precision are implemented in libm, but not all >> of the C99 symbols for the IBM long double format are implemented. >> >> IBM's proprietary XL compiler (cc, xlc) defaults to IEEE double >> precision and provides a special invocation to default to IBM long >> double (cc128, xlc128). >> >> GNU/Linux and GCC on GNU/Linux default to IEEE quad precision long double. > > Just to make sure I got the type names for the different bitwidths right: > IEEE double precision: 64bit > IEEE quad precision: 128bit > IBM's paired double: 128bit, identical to IEEE quad precision?
Double precision and quad precision are colloquial names for floating point formats defined by IEEE standard for floating point 754. IBM's 128 bit format does not conform to the IEEE quad precision standard. The IBM format is explained online in a few places and in the GCC sources: it is the sum of two double precision numbers, providing extended precision without extended exponent. > IMO, long double bitwidth should be another multilib criterion on AIX, > selected by -mlong-double-64 and -mlong-double-128. > > As there are a bunch of multilib criterions on AIX already: > Even on AIX 5.3 I get the impression that there is no need for "pthread" > being a multilib criterion any more, as /usr/lib/threads/libc.a is a symlink > to /usr/ccs/lib/libc.a - but I may be wrong here wrt STARTFILE_SPEC. AIX already has too many multilibs and multilibs on AIX already take a tediously long time to build. The AIX support for 128 bit long double is incomplete, so adding a multilib gives the wrong impression. Also, pthread on AIX is needed. Unlike GNU/Linux, AIX does not provide weak symbol definitions of pthread functions. And AIX headers behave differently based on the definition of REENTRANT. - David