xref: /kernel/linux/linux-5.10/arch/alpha/lib/fls.c (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * arch/alpha/lib/fls.c
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#include <linux/module.h>
78c2ecf20Sopenharmony_ci#include <linux/bitops.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/* This is fls(x)-1, except zero is held to zero.  This allows most
108c2ecf20Sopenharmony_ci   efficient input into extbl, plus it allows easy handling of fls(0)=0.  */
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconst unsigned char __flsm1_tab[256] =
138c2ecf20Sopenharmony_ci{
148c2ecf20Sopenharmony_ci  0,
158c2ecf20Sopenharmony_ci  0,
168c2ecf20Sopenharmony_ci  1, 1,
178c2ecf20Sopenharmony_ci  2, 2, 2, 2,
188c2ecf20Sopenharmony_ci  3, 3, 3, 3, 3, 3, 3, 3,
198c2ecf20Sopenharmony_ci  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
228c2ecf20Sopenharmony_ci  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
258c2ecf20Sopenharmony_ci  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
268c2ecf20Sopenharmony_ci  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
278c2ecf20Sopenharmony_ci  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
308c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
318c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
328c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
338c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
348c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
358c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
368c2ecf20Sopenharmony_ci  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
378c2ecf20Sopenharmony_ci};
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__flsm1_tab);
40