https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117776
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Last reconfirmed| |2024-11-25 Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. Let me see if I can handle this. The problem is we have this IR for count_even_v1, count_even_v3, and count_even_v4: unsigned char _12; ... _11 = (bool) _12; _3 = (long unsigned int) _11; This could be done as: unsigned char _12; _t = _12 & 1; _3 = (long unsigned int) _t; Which is the IR for count_even_v2.