[Mesa-dev] [PATCH] faster util_next_power_of_two() function

Matt Turner mattst88 at gmail.com
Sat Jun 4 18:05:30 PDT 2011


On Sat, Jun 4, 2011 at 7:14 PM, Benjamin Bellec <b.bellec at gmail.com> wrote:
> Le 03/06/2011 06:09, Matt Turner a écrit :
>> Also, if you want to check if the value is already a power-of-two,
>> instead of a case statement for every POT (including 0), just do the
>> standard is-power-of-two check:
>>
>> (x & (x - 1)) == 0
>
> My own tests (on a Core2) shows that it's less efficient to do that, at
> least with -O2 optimization enabled. With -O0, it's equal.

For what input set? Powers of two?

Doesn't really matter, since the function isn't a hot path or
anything, but I'd suppose that the Linux kernel has its
is_power_of_2() function for a reason--that it's pretty ugly to have
lots of case statements like powers of two.

Matt


More information about the mesa-dev mailing list