From owner-cvs-all@FreeBSD.ORG Wed Apr 2 16:13:12 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 2926F37B401; Wed, 2 Apr 2003 16:13:12 -0800 (PST) Received: from HAL9000.homeunix.com (12-233-57-131.client.attbi.com [12.233.57.131]) by mx1.FreeBSD.org (Postfix) with ESMTP id DEBD543F3F; Wed, 2 Apr 2003 16:13:10 -0800 (PST) (envelope-from das@FreeBSD.ORG) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) h330CvKj074745; Wed, 2 Apr 2003 16:12:57 -0800 (PST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.6p2/8.12.5/Submit) id h330CooI074713; Wed, 2 Apr 2003 16:12:50 -0800 (PST) (envelope-from das@FreeBSD.ORG) Date: Wed, 2 Apr 2003 16:12:50 -0800 From: David Schultz To: Marcel Moolenaar Message-ID: <20030403001250.GA55715@HAL9000.homeunix.com> Mail-Followup-To: Marcel Moolenaar , Bruce Evans , Peter Jeremy , Alexander Leidinger , cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org References: <200303272038.h2RKcM7L096560@repoman.freebsd.org> <20030327204935.GA18134@HAL9000.homeunix.com> <20030330175646.281097ad.Alexander@Leidinger.net> <20030331082023.GE11307@cirb503493.alcatel.com.au> <20030401172440.701aaafd.Alexander@Leidinger.net> <20030401200457.GA30284@cirb503493.alcatel.com.au> <20030402154250.X25489@gamplex.bde.org> <20030402075905.GA30835@cirb503493.alcatel.com.au> <20030402203725.O26345@gamplex.bde.org> <20030402210714.GB65073@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030402210714.GB65073@dhcp01.pn.xcllnt.net> cc: src-committers@FreeBSD.ORG cc: Bruce Evans cc: cvs-src@FreeBSD.ORG cc: Alexander Leidinger cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/ia64/include float.h 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: Thu, 03 Apr 2003 00:13:12 -0000 Thus spake Marcel Moolenaar : > On Wed, Apr 02, 2003 at 09:19:21PM +1000, Bruce Evans wrote: > > On Wed, 2 Apr 2003, Peter Jeremy wrote: > > > > > On Wed, Apr 02, 2003 at 04:21:30PM +1000, Bruce Evans wrote: > > > >On Wed, 2 Apr 2003, Peter Jeremy wrote: > > > > > > > >> On Tue, Apr 01, 2003 at 05:24:40PM +0200, Alexander Leidinger wrote: > > > >> >We noticed that icc does use other values for LDBL_MIN than we do, and > > > >> >instead of just thinking that Intel does it right I wanted to verify it. > > > > > > > >This might be caused by icc actually understanding the target's default > > > >precision for long doubles (FreeBSD changes the hardware default of 64-bit > > > >to 53-bit for technical reasons). > > > > > > Is this also true on ia64? > > > > Probably not. ia64's _fpmath.h says that there are 64 mantissa bits, > > and we don't reduce the precision AFAIK. > > Correct. Note that the 64-bit significand includes an explicit integer > bit. The binary point is assumed to be between bits 62 and 63. It seems like all architectures that use the 80-bit format have an explicit MSB, including i386 and M68K. I don't think the standard says anything one way or the other about it, but it's a PITA when it comes to writing MI library code. > Note also that the 82-bit FP registers have a 17-bit exponent to aid > in near-overflow and near-underflow computations in IEEE754 double- > extended format. Of course an exception is still raised if the result > does not fit the target if the target is in double-extended format. Right. I think the LDBL_{MIN,MAX}* constants need to refer to the memory format, not the FPU-internal format. If we *really* want to be pedantic, we can clear the WRE bit in the FPU control register and sacrifice the extra range in the interests of being predictable. That's similar to what we do with i386 now, where we sacrifice precision so gcc bugs don't cause strange things to happen in the lower echelons. It's rather annoying. We don't change the default precision control setting on IA64, do we?