Re: hweight64

From: Amit S. Kale
Date: Tue Feb 17 2004 - 06:27:34 EST


Hi Pavel and kgdb gurus,

I inherited this change from x86_64 patch. Probably it was required on x86_64.
I can't think of any reason why it is necessary.

Unless someone finds a problem with this patch, I am going to apply it.

-Amit

On Tuesday 17 Feb 2004 4:04 pm, Pavel Machek wrote:
> Hi!
>
> In kgdb patches you change prototype of hweight64. Why that change?
>
> [This patch is reverse]
>
> I do not see what it has to do with kgdb. Its true that result always
> fits into int, but I'd be afraid of small sideeffects somewhere...
>
> Pavel
>
>
> --- clean-mm/include/linux/bitops.h 2004-02-16 23:00:15.000000000 +0100
> +++ linux-mm/include/linux/bitops.h 2003-06-24 12:28:05.000000000 +0200
> @@ -108,7 +108,7 @@
> return (res & 0x0F) + ((res >> 4) & 0x0F);
> }
>
> -static inline unsigned int generic_hweight64(__u64 w)
> +static inline unsigned long generic_hweight64(__u64 w)
> {
> #if BITS_PER_LONG < 64
> return generic_hweight32((unsigned int)(w >> 32)) +
> @@ -120,8 +120,7 @@
> res = (res & 0x0F0F0F0F0F0F0F0F) + ((res >> 4) & 0x0F0F0F0F0F0F0F0F);
> res = (res & 0x00FF00FF00FF00FF) + ((res >> 8) & 0x00FF00FF00FF00FF);
> res = (res & 0x0000FFFF0000FFFF) + ((res >> 16) & 0x0000FFFF0000FFFF);
> - res = (res & 0x00000000FFFFFFFF) + ((res >> 32) & 0x00000000FFFFFFFF);
> - return (unsigned int)res;
> + return (res & 0x00000000FFFFFFFF) + ((res >> 32) & 0x00000000FFFFFFFF);
> #endif
> }

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/