Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.140 -> 1.141 --- Log message: ugly codegen --- Diffs of the changes: (+22 -0) README.txt | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.140 llvm/lib/Target/X86/README.txt:1.141 --- llvm/lib/Target/X86/README.txt:1.140 Fri Oct 6 03:21:07 2006 +++ llvm/lib/Target/X86/README.txt Fri Oct 6 12:39:34 2006 @@ -711,4 +711,26 @@ 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 + +//===---------------------------------------------------------------------===// _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits