On Monday 11 February 2002 17:29, Hong Zhang wrote: > > Fair enough. The only "bug" I encountered was the packing and padding > > of FLOATVALs, which appears to only affect long doubles, so it's > > definitely not high priority. > > The "long double" on some platforms are 10-byte in size. But it will be > very inefficient. So we should align long double to 16-bit boundary, which > is what Itanium compiler does. In general, we should not use "long double" > configuration, since many compilers support "long double" using software > emulation (I think Alpha does this for 128-bit long double). The > performance will be very bad. It also make the floating point value not > exchangable, unless we limit the range to be the same as 64-bit double. The x86's long double is 80 bits - the size of its floating point register. But it's padded at 12 bytes. The Itanium ups that to 16 bytes - whether because it's more conventional, or because of other architectural decisions, I don't know. IIRC, 80 bits are all that's required. More platforms than x86 use only 80 bits in the floating point representations, although there may be more bits that that in the memory representation. The x86 is the only one I can think of offhand that uses a physical 80 bit representation as well. P.S. to the list users : be kind to your fellow parroteers and strip some of the addresses out of the headers. -- Bryan C. Warnock bwarnock@capita.comThread Previous | Thread Next