Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/asm-generic/bitops/builtin-fls.h
26289 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef _ASM_GENERIC_BITOPS_BUILTIN_FLS_H_
3
#define _ASM_GENERIC_BITOPS_BUILTIN_FLS_H_
4
5
/**
6
* fls - find last (most-significant) bit set
7
* @x: the word to search
8
*
9
* This is defined the same way as ffs.
10
* Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.
11
*/
12
static __always_inline int fls(unsigned int x)
13
{
14
return x ? sizeof(x) * 8 - __builtin_clz(x) : 0;
15
}
16
17
#endif
18
19