bin/43299: march=pentium4 miscompiles msun/src/e_pow.c
Mikhail Teterin
Mikhail.Teterin at murex.com
Tue May 13 09:10:10 PDT 2003
The following reply was made to PR bin/43299; it has been noted by GNATS.
From: Mikhail Teterin <Mikhail.Teterin at murex.com>
To: freebsd-gnats-submit at FreeBSD.org
Cc: bde at FreeBSD.org
Subject: Re: bin/43299: march=pentium4 miscompiles msun/src/e_pow.c
Date: Mon, 12 May 2003 14:26:35 -0400
The problem with our libm (msun) vs. gcc-3 is reproduceable on Linux:
(Note, FreeBSD's /usr is mounted as /misha on the Linux machine)
mteterin at nylinux:lib/msun/src (982) cc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib
--enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
mteterin at nylinux:lib/msun/src (983) cc -O -march=pentium3 -I- -I.
-I/misha/src/include -I/misha/src/sys -I/misha/obj/misha/src/i386/usr/include
e_pow.c t.c e_sqrt.c -D__generic___ieee754_sqrt=__ieee754_sqrt
mteterin at nylinux:lib/msun/src (984) ./a.out
2^2.1 is 4.28709
mteterin at nylinux:lib/msun/src (985) cc -O -march=pentium4 -I- -I.
-I/misha/src/include -I/misha/src/sys -I/misha/obj/misha/src/i386/usr/include
e_pow.c t.c e_sqrt.c -D__generic___ieee754_sqrt=__ieee754_sqrt
mteterin at nylinux:lib/msun/src (986) ./a.out
2^2.1 is 0
As can be seen above, using pentium3 produces the correct result, while
pentium4 produces the incorrect 0. We can, pretty much, rule out a kernel
problem in handling MMX/SSE. Which is it -- our __ieee754_pow or the gcc?
-mi
More information about the freebsd-bugs
mailing list