From owner-cvs-all@FreeBSD.ORG Thu Mar 6 00:22:38 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A74A1065784; Thu, 6 Mar 2008 00:22:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail18.syd.optusnet.com.au (mail18.syd.optusnet.com.au [211.29.132.199]) by mx1.freebsd.org (Postfix) with ESMTP id D9C0E8FC18; Thu, 6 Mar 2008 00:22:37 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c220-239-252-11.carlnfd3.nsw.optusnet.com.au (c220-239-252-11.carlnfd3.nsw.optusnet.com.au [220.239.252.11]) by mail18.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m260MYXE022112 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Mar 2008 11:22:35 +1100 Date: Thu, 6 Mar 2008 11:22:34 +1100 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: Peter Jeremy In-Reply-To: <20080305182531.GS68971@server.vk2pj.dyndns.org> Message-ID: <20080306103025.A7605@delplex.bde.org> References: <200803051121.m25BLE03035426@repoman.freebsd.org> <20080305182531.GS68971@server.vk2pj.dyndns.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Bruce Evans , cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/include _types.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 06 Mar 2008 00:22:38 -0000 On Thu, 6 Mar 2008, Peter Jeremy wrote: > On Wed, Mar 05, 2008 at 11:21:14AM +0000, Bruce Evans wrote: >> Log: >> Change float_t and double_t to long double on i386. All floating point >> expressions on i386 are evaluated in the range of the long double type, > > npx.h currently defines __INITIAL_NPXCW__ as 0x127f which makes the x87 > emulate double (53-bit) precision rather than its native 64-bit long > double. Doesn't this change also need a corresponding change to npx.h > to make the x87 run with 64-bit precision? Not quite. The precision can be changed at runtime too, but much more than changing the control word is required for completely working 64-bit on precision x87s in C. It is also necessary to change gcc. Apart from the 20 year old bugs in the support for extra precision, it is necessary to not configure the almost-hard-coded support for FreeBSD's __INITIAL_NPXCW__ (this support mainly breaks increasing the precision at runtime by evaluating too much at compile time). Bruce