https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112789

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
One thing against adding these builtins (especially when we have a type-generic
builtin which can handle all types, not just some of them) is that clang has
added them completely unorthogonally.
GCC has __builtin_{ctz,clz,clrsb,ffs,popcount,parity}{,l,ll,imax,g} (the last
one in GCC 14 only), while clang has
__builtin_{ctz,clz,clrsb,ffs,popcount,parity}{,l,ll} and then just
__builtin_c{l,t}zs for unsigned short extra, but none of the other 4 similar
builtins, nor any builtin for unsigned char, etc.  Why is unsigned short that
much more important than unsigned char or unsigned __int128 or all the unsigned
_BitInt types?

Reply via email to