From owner-svn-src-head@FreeBSD.ORG Thu Nov 8 14:07:19 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 309DC9B8; Thu, 8 Nov 2012 14:07:19 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (mail.vlakno.cz [178.238.39.38]) by mx1.freebsd.org (Postfix) with ESMTP id DE2E38FC15; Thu, 8 Nov 2012 14:07:18 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 99E971CC579C; Thu, 8 Nov 2012 15:07:11 +0100 (CET) Date: Thu, 8 Nov 2012 15:07:11 +0100 From: Roman Divacky To: Bruce Evans Subject: Re: svn commit: r242715 - head/sys/conf Message-ID: <20121108140711.GA7213@freebsd.org> References: <201211072215.qA7MFSYX017265@svn.freebsd.org> <509AE28E.4020908@FreeBSD.org> <20121108151338.G2278@besplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20121108151338.G2278@besplex.bde.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Dimitry Andric , Jung-uk Kim X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Nov 2012 14:07:19 -0000 > - clang fails to optimize division by (integer) 2 into multiplication > by (floating point with the correct type) 0.5 in the case of long > doubles on one supported arch (i386 IIRC). Both compilers optimize > all other cases, including floats and doubles on all arches. clang > with -ffast-math optimizes the broken case, but -ffast-math is > generally unsafe and not even fast; it shouldn't be necessary for > this, since this is one of the few floating point strength reductions > that is always safe. This detail is not documented for either clang > or gcc. clang doesn't even document the existence of -ffast-math in > its man page. > > Several uncommitted libm functions use the spelling of (integer) 2 > to avoid ifdefs and/or different code to get the type right for 0.5. > The result is that the case of long doubles on i386 is pessimized. > clang has many other efficiency and ABI problems on i386, including > the next one. This just got fixed upstream http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121105/155388.html We will get it with the next import of llvm/clang. Thank you! Roman