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

--- Comment #4 from Hongtao.liu <crazylht at gmail dot com> ---
Simple case:

cat test.c:
int f(unsigned short a)
{
    return a * 101;
}

gcc:
f(unsigned short):
  movzwl %di, %eax
  imull $101, %eax, %eax
  ret

llvm:
f(unsigned short): # @f(unsigned short)
  imull $101, %edi, %eax
  retq

GCC always does the conversion.

Reply via email to