From owner-freebsd-current@FreeBSD.ORG Wed May 9 09:26:39 2007 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3617816A400 for ; Wed, 9 May 2007 09:26:39 +0000 (UTC) (envelope-from luoqi@freebsd.org) Received: from rwcrmhc14.comcast.net (rwcrmhc14.comcast.net [204.127.192.84]) by mx1.freebsd.org (Postfix) with ESMTP id 2005813C459 for ; Wed, 9 May 2007 09:26:37 +0000 (UTC) (envelope-from luoqi@freebsd.org) Received: from luoqi.homeunix.org ([76.102.199.51]) by comcast.net (rwcrmhc14) with ESMTP id <20070509091634m1400il7vse>; Wed, 9 May 2007 09:16:34 +0000 Received: from dell.baobao.home (localhost [127.0.0.1]) by luoqi.homeunix.org (8.14.1/8.14.1) with ESMTP id l499GYs1003867 for ; Wed, 9 May 2007 02:16:34 -0700 (PDT) (envelope-from luoqi@freebsd.org) Received: from localhost (localhost [[UNIX: localhost]]) by dell.baobao.home (8.14.1/8.14.1/Submit) id l499GXBR003866 for current@freebsd.org; Wed, 9 May 2007 02:16:33 -0700 (PDT) (envelope-from luoqi@freebsd.org) X-Authentication-Warning: dell.baobao.home: luoqi set sender to luoqi@freebsd.org using -f Content-class: urn:content-classes:message From: Luoqi Chen To: current@freebsd.org Date: Wed, 9 May 2007 02:16:32 -0700 User-Agent: KMail/1.9.6 MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200705090216.33394.luoqi@freebsd.org> Cc: Subject: rint() bug X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 May 2007 09:26:39 -0000 Does anyone know about this particular bug (and have a plan to fix it)? http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4831589 I haven't checked any 32-bit system, on 64-bit systems, gcc is generating SSE instructions for floating point operations, so the i387 version of rint() is no longer used and the C version is. Linux (RHEL4 at least) has the same problem. The fix would be very straightforward: cast lrint() back to double. -lq