Re: [PATCH v1 2/2] x86/asm/bitops: Use __builtin_clz*() to evaluate constant expressions

From: Nick Desaulniers
Date: Thu Nov 10 2022 - 14:01:30 EST


On Sun, Nov 6, 2022 at 1:51 AM Vincent Mailhol
<mailhol.vincent@xxxxxxxxxx> wrote:
>
> #ifdef CONFIG_X86_64
> -static __always_inline int fls64(__u64 x)
> +static __always_inline int constant_fls64(u64 x)
> +{
> + BUILD_BUG_ON(sizeof(unsigned long long) != sizeof(x));

Thanks for the patches! They LGTM; but why do we need this BUILD_BUG_ON here?

> +
> + if (!x)
> + return 0;
> +
> + return BITS_PER_TYPE(x) - __builtin_clzll(x);
> +}

--
Thanks,
~Nick Desaulniers