https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124912
--- Comment #3 from Drea Pinski <pinskia at gcc dot gnu.org> --- (In reply to Drea Pinski from comment #2) > So the transformation is really simple: > > _1 = -x_5(D); > _2 = _1 & x_5(D); > _3 = _2 + 4294967295; > _6 = __builtin_popcount (_3); [tail call] > > -> > > _6 = __builtin_ctz(x_5(D)); > > if x_5(D) is known to be non-zero at this point. And then the phiopt code kicks in.
