https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119468
--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- prtyd and popcntb are executed similarly on all hardware: same execution pipes. The extsw we currently generate is not needed at all, a very common and well-known issue, generic as well (not really rs6000-specific). Unfortunately a not easy to fix problem, it needs a lot of extra infrastructure. Or perhaps someone with a very bright idea, well we can hope :-) (clrldi is not an instruction, it is an extended mnemonic for (a form of) rldicl, we never generate that mnemonic in GCC, and here we should always use rlwinm even! Where did you see that?)