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?