https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48297
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2011-03-28 09:34:02 |2021-7-26 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- On the trunk we get: xorl %eax, %eax cmpl %ecx, %edi sete %al cmpl %esi, %ecx sete %sil movzbl %sil, %esi addl %esi, %eax cmpl %edx, %ecx sete %dl movzbl %dl, %edx addl %edx, %eax While clang gets: xorl %eax, %eax cmpl %ecx, %edi sete %al xorl %edi, %edi cmpl %ecx, %esi sete %dil addl %eax, %edi xorl %eax, %eax cmpl %ecx, %edx sete %al addl %edi, %eax retq Both are still not good. We should