unsigned int foo() { int x; if (x == 0) return 0; else return __builtin_clzl((int)x); }