#include "math.h" inline uint32_t log2(const uint32_t x) { uint32_t y; // Get the highest set bit asm ( "\tbsr %1, %0\n" : "=r"(y) : "r" (x) ); return y; }