For gcc 3.4+, use __builtin_clzll for better assembly code results.