Generic find_first_set_bit can use __builtin_ctz instead of __builtin_ffs
The former gives 0-based indexes, which is what our implementation returns, making the "- 1" unnecessary. Change-Id: I172ab5e06695be62e4a18d4fd0415b8314f5dc26
This commit is contained in:
parent
1a083cdacc
commit
67dd4d6995
1 changed files with 4 additions and 3 deletions
|
@ -35,7 +35,8 @@ int find_first_set_bit(uint32_t val)
|
|||
if (val == 0)
|
||||
return 32;
|
||||
|
||||
/* __builtin_ffs(l(l)): Returns one plus the index of the least significant
|
||||
1-bit of x, or if x is zero, returns zero. */
|
||||
return __builtin_ffs(val) - 1;
|
||||
/* __builtin_ctz[l[l]]: Returns the number of trailing 0-bits in x,
|
||||
* starting at the least significant bit position. If x is 0, the result
|
||||
* is undefined. */
|
||||
return __builtin_ctz(val);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue