Usman Roshan <usman@xxxxxxxxxxxx> asks on Sat, 14 Oct 2006 09:23:53 -0400 (EDT) about 128-bit floating-point arithmetic on AMD64 processors. We have several Sun AMD64-based systems, all running Red Hat Enterprise Linux AS release 4 (Nahant Update 3). On those systems, we have C/C++/Fortran compilers from GNU, Intel, PathScale, Portland Group, and Sun, plus tcc and lcc. The latter two generate only IA-32 code. None of these compilers provides 128-bit floating-point arithmetic on this platform. Indeed, of the 30 or so different Unix platforms that I use routinely for development and testing, only one vendor, Hewlett-Packard, on HP-UX IA-64, has chosen to offer a 128-bit floating-point long double in C and C++ on an Intel CPU. Sun Solaris SPARC has 128-bit floating-point in software, and I use it extensively. IBM S/390 VM has 128-bit floating-point in hardware in both S/360 hexadecimal (since 1969) and IEEE 754 (since 1999) formats, but IBM has not yet made them available in their GNU/Linux O/S on that platform. Indeed, their GNU/Linux provides access only to IEEE 754 arithmetic, unless one is prepared to program in assembly language. IBM AIX on PowerPC and SGI IRIX MIPS also have 128-bit floating-point, but both use a doubled-double format, which fails to extend the exponent range, offers a 106-bit significand (instead of a 113-bit one), and which has serious arithmetic anomalies arising from the fact that the upper and lower members of the pair do not have their exponents linked by a constant difference. Apple Mac OS X on PowerPC treats long double as 64-bit double, but the recent Mac OS X on Intel use the Intel 80-bit format for long double. gcc on FreeBSD, NetBSD, and OpenBSD on IA-32 treats long double as double, even though IA-32 hardware has had the 80-bit format for 25 years. All compilers that I know of for GNU/Linux and Solaris on IA-32 use the 80-bit format for long double. ------------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - University of Utah FAX: +1 801 581 4148 - - Department of Mathematics, 110 LCB Internet e-mail: beebe@xxxxxxxxxxxxx - - 155 S 1400 E RM 233 beebe@xxxxxxx beebe@xxxxxxxxxxxx - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ - -------------------------------------------------------------------------------