https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93071
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=113764
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
g is optimized in GCC 12+.
f still has issues due to the definedness of 0 for __builtin_clz.
Note f, i and j all produce now:
i(int):
.LFB1517:
.cfi_startproc
bsrl %edi, %eax
movl $-1, %edx
testl %edi, %edi
cmove %edx, %eax
ret
Which is almost as good as you can get I think due to the undefinedness of 0
for __builtin_clz.