From owner-svn-src-all@FreeBSD.ORG Fri Jan 16 00:57:27 2009 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B97CE1065674; Fri, 16 Jan 2009 00:57:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 6B7D58FC1E; Fri, 16 Jan 2009 00:57:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id n0G0sWBH079693; Thu, 15 Jan 2009 17:54:32 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Thu, 15 Jan 2009 17:55:00 -0700 (MST) Message-Id: <20090115.175500.692488694.imp@bsdimp.com> To: sobomax@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <496FC32F.3040104@FreeBSD.org> References: <20090115114407.GA67726@FreeBSD.org> <496F24D8.2040104@gmx.de> <496FC32F.3040104@FreeBSD.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: danfe@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, stas@FreeBSD.org, gonzo@FreeBSD.org, svn-src-head@FreeBSD.org, christoph.mallon@gmx.de Subject: Re: svn commit: r187251 - head/sys/mips/malta X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2009 00:57:28 -0000 In message: <496FC32F.3040104@FreeBSD.org> Maxim Sobolev writes: : Christoph Mallon wrote: : > Alexey Dokuchaev schrieb: : >> On Wed, Jan 14, 2009 at 07:05:27PM -0700, M. Warner Losh wrote: : >>> In message: <20090115020752.52566769.stas@FreeBSD.org> : >>> Stanislav Sedov writes: : >>> : > + shift = 8 * (reg & 3); : >>> : > : : Would it make sense to replace this with : >>> : > + shift = (reg & 3) << 3; : >>> : : to not rely on possible compiler optimizations? : >>> : >>> I don't think that it matters all that much these days... : >> : >> But the name "shift" kinda suggests << instead of *, no? : > : > The value *is* a shift amount (see its uses a few lines down). Its name : > does not imply the way it is calculated, but what it is used for. : > : > BTW: Even the most cheap compilers emit shift instructions for : > multiplication by a power of two. The new code also is clearly faster : > then the old - quite some code gets generated for switches. : : I believe Warner's point is that the code is not in the hot path, so : that it should not really matter either way. The code is clear the way it is, there's little reason to hyper-optimize this path in the face of bogus compiler optimizations or not, and the effort to optimize the hot-path should be aided by dtrace or kernel profiling rather than reading the code. Warner