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.
