From owner-cvs-src@FreeBSD.ORG  Thu Mar  6 00:22:38 2008
Return-Path: <owner-cvs-src@FreeBSD.ORG>
Delivered-To: cvs-src@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 <brde@optusnet.com.au>
X-X-Sender: bde@delplex.bde.org
To: Peter Jeremy <peterjeremy@optushome.com.au>
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 <bde@FreeBSD.org>, cvs-all@FreeBSD.org
Subject: Re: cvs commit: src/sys/i386/include _types.h
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=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