From owner-freebsd-bugs@FreeBSD.ORG Tue May 13 09:10:09 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C74BB37B401 for ; Tue, 13 May 2003 09:10:09 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63A2243FBD for ; Tue, 13 May 2003 09:10:09 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h4DGA8Up007878 for ; Tue, 13 May 2003 09:10:08 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h4DGA8vx007871; Tue, 13 May 2003 09:10:08 -0700 (PDT) Date: Tue, 13 May 2003 09:10:08 -0700 (PDT) Message-Id: <200305131610.h4DGA8vx007871@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Mikhail Teterin Subject: Re: bin/43299: march=pentium4 miscompiles msun/src/e_pow.c X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Mikhail Teterin List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2003 16:10:10 -0000 The following reply was made to PR bin/43299; it has been noted by GNATS. From: Mikhail Teterin To: freebsd-gnats-submit@FreeBSD.org Cc: bde@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@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@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@nylinux:lib/msun/src (984) ./a.out 2^2.1 is 4.28709 mteterin@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@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