xref: /OK3568_Linux_fs/kernel/arch/alpha/lib/fls.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * arch/alpha/lib/fls.c
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #include <linux/module.h>
7*4882a593Smuzhiyun #include <linux/bitops.h>
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun /* This is fls(x)-1, except zero is held to zero.  This allows most
10*4882a593Smuzhiyun    efficient input into extbl, plus it allows easy handling of fls(0)=0.  */
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun const unsigned char __flsm1_tab[256] =
13*4882a593Smuzhiyun {
14*4882a593Smuzhiyun   0,
15*4882a593Smuzhiyun   0,
16*4882a593Smuzhiyun   1, 1,
17*4882a593Smuzhiyun   2, 2, 2, 2,
18*4882a593Smuzhiyun   3, 3, 3, 3, 3, 3, 3, 3,
19*4882a593Smuzhiyun   4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
22*4882a593Smuzhiyun   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
25*4882a593Smuzhiyun   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
26*4882a593Smuzhiyun   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
27*4882a593Smuzhiyun   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
30*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
31*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
32*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
33*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
34*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
35*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
36*4882a593Smuzhiyun   7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
37*4882a593Smuzhiyun };
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun EXPORT_SYMBOL(__flsm1_tab);
40