> On Nov 15, 2013, at 4:08 PM, Ben Pfaff <b...@nicira.com> wrote:
> 
>> 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);
>    }

Thanks Ben, I'll fold this in.

  Jarno

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to