use __builtin_clz to implement portable fls() for non-BSD systems