https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117352
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |aarch64 x86_64 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2024-10-29 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note you might want to check on x86_64 with APX enabled too. I suspect you would be getting the same bad code there too. Most likely you need to check `targetm.have_ccmp ()` to see if you have ccmp or not as using ccmp is almost always better than using shifts.