diff options
author | Brian Paul <[email protected]> | 2009-11-23 18:09:46 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-11-23 18:09:46 -0700 |
commit | 863ad9a68388979e1d305f8689146e18ef4f098c (patch) | |
tree | 243d9605a37117e73f4894faa514f895a03bdb66 /src/mesa | |
parent | 8d80b5400a1bbf4e959cd8257d11dfe0483e93db (diff) |
mesa: use gcc __builtin_popcount()
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/imports.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index 46ffb929b6c..c9e00cf7528 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -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 } |