On Wed, Apr 04, 2018 at 05:05:25PM -0700, Linus Torvalds wrote:
> for some reason the test_bit() case looks like
> this:
> 
>   #define test_bit(nr, addr)                      \
>         (__builtin_constant_p((nr))             \
>          ? constant_test_bit((nr), (addr))      \
>          : variable_test_bit((nr), (addr)))
> 
> which is much more straightforward anyway. I'm not quite sure why we
> did it that odd way anyway, but I bet it's just "hysterical raisins"
> along with the test_bit() not needing inline asm at all for the
> constant case.

I always assumed BT was a more expensive instruction than AND with
immediate.

Reply via email to