https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109734
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Also you read the assembly incorrectly. Aarch64 gcc is producing the simd cnt instruction to do the popcount and not the scalar instruction. Arm(32) is doing the call. I am not 100% sure but you should try to enable neon with arm and see if it produces it for aarch32. Anyways this bug report is a wrong in the first place because you point to cssc feature scalar cnt instruction which is implemented in gcc 13 already but I suspect you can't use that either.