From owner-cvs-all@FreeBSD.ORG Tue Jul 22 06:02:21 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 28B2137B401; Tue, 22 Jul 2003 06:02:21 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3711C43FA3; Tue, 22 Jul 2003 06:02:17 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id XAA27228; Tue, 22 Jul 2003 23:02:01 +1000 Date: Tue, 22 Jul 2003 23:01:59 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: "M. Warner Losh" In-Reply-To: <20030722.050335.21271227.imp@bsdimp.com> Message-ID: <20030722221031.Y7914@gamplex.bde.org> References: <20030722.050335.21271227.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org cc: peter@FreeBSD.org Subject: Re: Removing fpu emulator X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jul 2003 13:02:21 -0000 On Tue, 22 Jul 2003, M. Warner Losh wrote: > In message <200307220811.h6M8BHIh059016@repoman.freebsd.org>, Peter > Wemm writes: > > Log: > > Initiate de-orbit burn for fpu-less operation. 386+387 is still > > theoretically supportable, but you'd really be happier with FreeBSD 2.1.8 > > on it. > > People should also note that a big reason for doing this is to improve > floating point support on FreeBSD. The old floating point emulator > was getting in the way of those improvements. I'd expect to see a The partly-GPLed math emulator didn't get in the way of this. > number of changes to libm over the coming days and weeks. I'd also > hope to see long double support improved in i386 like it is in amd64 > right now... This can't be done without unimproving support for ordinary doubles until longstanding bugs in gcc are fixed. Hmm. The bugs are avoided by default on amd64's by using SSE instructions. They can be restored by forcing 387 instructions (-mfpmath=387). Similarly in the opposite direction on some i386's. The default is to use 387 instructions and their buggy description in i386.md, but -mfpmath=sse can be used to force use of SSE instructions if possible (Pentium3 and AthlonXP and newer chips have single precision SSE, and Pentium4 have double precision SSE). The SSE instructions are non- widening, so they automatically avoid both the bugs and the main feature of i387 arithmetic -- it's supposed to be widening to reduce problems in naively written code. The FreeBSD default gives non-widening arithmetic for doubles anyway, so I can't complain. Bruce