https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95246

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
On which version of LLVM did you see that? For me, gcc produces

        movzbl  %dil, %edi
        movsbl  %sil, %esi
        cmpl    %esi, %edi
        setg    %al

while clang skips the first 2 lines (but still emits movl), assuming that the
input is already signed/zero extended, which points at ABI conventions. The
transformation you suggest doesn't seem right to me.

Reply via email to