https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92578
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2019-11-19 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- With newcnt-=2 you get movl %edx, %r8d movl %esi, %eax leal -2(%rsi), %edx cmpl %r8d, %edi cmove %edx, %eax ret so it's if-conversions preference to generate setCC which I'm not sure is really worse here, is it? We're saving a zero extend and some reg-reg moves. I'm sure we have a duplicate report about this.