https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123330
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- __builtin_clz(0) is always undefined independent of options passed to gcc. There are a bunch of bug reports about this similar thing. Really your code should be `a!=0?__builtin_clz(a): 64`. Gcc knows how to optimize that always and most likely use cmove as needed.
