This is the mail archive of the gcc-help@gcc.gnu.org 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: 128 bit long double on AMD 64


Usman Roshan <usman@oak.njit.edu> 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@math.utah.edu  -
- 155 S 1400 E RM 233                       beebe@acm.org  beebe@computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------


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