Re: [parisc-linux] Re: [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h

Grant Grundler <[email protected]> Thu, 26 Jan 2006 16:18:49 +0000
Newsgroups org.kernel.vger.ultralinux,org.kernel.vger.linux-ia64,org.kernel.vger.linux-kernel,org.kernel.vger.linux-mips,org.kernel.vger.sparclinux,org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>
On Thu, Jan 26, 2006 at 08:55:41AM +0000, Russell King wrote:
> Unfortunately that's not correct.  You do not appear to have checked
> the compiler output like I did - this code does _not_ generate
> constant shifts.

Russell,
By "written stupidly", I thought Richard meant they could have
used constants instead of "s".  e.g.:
	if (word << 16 = 0) { b += 16; word >>= 16); }
	if (word << 24 = 0) { b +=  8; word >>=  8); }
	if (word << 28 = 0) { b +=  4; word >>=  4); }

But I prefer what Edgar Toernig suggested.

grant