9 #ifdef HAS_NATIVE_POPCOUNT
10 static inline unsigned int popcount(pb n){
11 asm ("popcnt %1, %0" : "=r" (n) : "0" (n));
15 static inline unsigned int popcount8(pb n) {
16 return popcount(n & 0xff);
21 static unsigned int popcount8(pb x)
25 r = ((r & 0xaa)>>1) + (r & 0x55);
26 r = ((r & 0xcc)>>2) + (r & 0x33);
27 r = ((r>>4) + r) & 0x0f;
31 static inline unsigned int
37 x = (x & m2) + ((x >> 2) & m2) + ((x >> 4) & m2);
39 return (x + (x >> 12) + (x >> 24)) & 0x3f;