From: Andrew Cooper Date: Tue, 4 Jun 2019 12:40:08 +0000 (+0100) Subject: xen/bitops: Further reduce the #ifdef-ary in generic_hweight64() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~2125 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ff7e72a1cac7dfe33ea3c5a528debcead18e0b22;p=xen.git xen/bitops: Further reduce the #ifdef-ary in generic_hweight64() This #ifdef-ary isn't necessary, and the logic can live in a plain if() No functional change. Signed-off-by: Andrew Cooper Acked-by: Jan Beulich --- diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h index b512800dd9..dfb70417c2 100644 --- a/xen/include/xen/bitops.h +++ b/xen/include/xen/bitops.h @@ -184,10 +184,9 @@ static inline unsigned int generic_hweight8(unsigned int w) static inline unsigned int generic_hweight64(uint64_t w) { -#if BITS_PER_LONG < 64 - return generic_hweight32((unsigned int)(w >> 32)) + - generic_hweight32((unsigned int)w); -#else + if ( BITS_PER_LONG < 64 ) + return generic_hweight32(w >> 32) + generic_hweight32(w); + w -= (w >> 1) & 0x5555555555555555ul; w = (w & 0x3333333333333333ul) + ((w >> 2) & 0x3333333333333333ul); w = (w + (w >> 4)) & 0x0f0f0f0f0f0f0f0ful; @@ -199,7 +198,6 @@ static inline unsigned int generic_hweight64(uint64_t w) w += w >> 16; return (w + (w >> 32)) & 0xFF; -#endif } static inline unsigned long hweight_long(unsigned long w)