ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/ecb.h
(Generate patch)

Comparing libecb/ecb.h (file contents):
Revision 1.206 by root, Fri Mar 25 14:33:02 2022 UTC vs.
Revision 1.207 by root, Fri Mar 25 14:34:01 2022 UTC

600ecb_function_ ecb_const int 600ecb_function_ ecb_const int
601ecb_popcount64 (uint64_t x) 601ecb_popcount64 (uint64_t x)
602{ 602{
603 /* popcount64 is only available on 64 bit cpus as gcc builtin. */ 603 /* popcount64 is only available on 64 bit cpus as gcc builtin. */
604 /* also, gcc/clang make this surprisingly difficult to use */ 604 /* also, gcc/clang make this surprisingly difficult to use */
605#if __LP64__ && (ECB_GCC_VERSION(3,4) || ECB_CLANG_BUILTIN (__builtin_popcountl)) 605#if (__SIZEOF_LONG__ == 8) && (ECB_GCC_VERSION(3,4) || ECB_CLANG_BUILTIN (__builtin_popcountl))
606 return __builtin_popcountl (x); 606 return __builtin_popcountl (x);
607#else 607#else
608 return ecb_popcount32 (x) + ecb_popcount32 (x >> 32); 608 return ecb_popcount32 (x) + ecb_popcount32 (x >> 32);
609#endif 609#endif
610} 610}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines