Embedded Artistry libc
C Standard Library Support for Bare-metal Systems
flsll.c File Reference
#include <strings.h>
Include dependency graph for flsll.c:

Go to the source code of this file.

Functions

int flsll (long long mask)
 Finds the last (most significant) bit set in the given mask. More...
 

Function Documentation

◆ flsll()

int flsll ( long long  mask)

Finds the last (most significant) bit set in the given mask.

Finds the last (most significant) bit set in the given (long long) mask and return the index of that bit.

Bits are numbered starting at 1, the least significant bit.

Parameters
maskThe bit mask
Returns
The index of the bit if mask is not zero, 0 otherwise.

Definition at line 62 of file flsll.c.

63 {
64  if(mask == 0)
65  {
66  {
67  return (0);
68  }
69  }
70 
71  return ((int)sizeof(mask) << 3) - __builtin_clzll((unsigned long long)mask);
72 }