ugly codegen

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30769 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-10-06 17:39:34 +00:00
parent 4bdd2753db
commit 6e1f1fdd35

View File

@ -711,4 +711,26 @@ bool %test(ulong %x) {
into x.h == 0
//===---------------------------------------------------------------------===//
We currently compile sign_extend_inreg into two shifts:
long foo(long X) {
return (long)(signed char)X;
}
becomes:
_foo:
movl 4(%esp), %eax
shll $24, %eax
sarl $24, %eax
ret
This could be:
_foo:
movsbl 4(%esp),%eax
ret
//===---------------------------------------------------------------------===//