cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

builtin-fls.h (412B)


      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 */
     12static __always_inline int fls(unsigned int x)
     13{
     14	return x ? sizeof(x) * 8 - __builtin_clz(x) : 0;
     15}
     16
     17#endif