On Fri, Nov 15, 2013 at 04:03:32PM -0800, Jarno Rajahalme wrote: > > > On Nov 15, 2013, at 3:48 PM, Ben Pfaff <b...@nicira.com> wrote: > > > >> On Wed, Nov 13, 2013 at 01:32:42PM -0800, Jarno Rajahalme wrote: > >> Add raw_ctz64(), ctz64(), and popcount64() using builtins when > >> available. > >> > >> I'm not sure if the "UINT64_MAX == ~0UL" and "UINT64_MAX == ~0ULL" > >> work in all cases as I imagine they would. > > > > I think you could use ULONG_MAX and ULLONG_MAX, any reason not to? > > It doesn't matter if they are the same in some cases, right?
Actually, I guess we can just skip the test entirely. GCC always supports 64-bit integers as unsigned long long, so this by itself ought to do the trick: #elif __GNUC__ >= 4 static inline int raw_ctz64(uint64_t n) { return __builtin_ctzll(n); } static inline int popcount64(uint64_t n) { return __builtin_popcountll(n); } _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev