OSDN Git Service

mesa: use gcc __builtin_popcount()
authorBrian Paul <brianp@vmware.com>
Tue, 24 Nov 2009 01:09:46 +0000 (18:09 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 24 Nov 2009 01:09:46 +0000 (18:09 -0700)
src/mesa/main/imports.c

index 46ffb92..c9e00cf 100644 (file)
@@ -629,11 +629,15 @@ _mesa_ffsll(int64_t val)
 unsigned int
 _mesa_bitcount(unsigned int n)
 {
+#if defined(__GNUC__)
+   return __builtin_popcount(n);
+#else
    unsigned int bits;
    for (bits = 0; n > 0; n = n >> 1) {
       bits += (n & 1);
    }
    return bits;
+#endif
 }