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

Reply via email to