Author: lattner Date: Sat Dec 29 02:19:39 2007 New Revision: 45404 URL: http://llvm.org/viewvc/llvm-project?rev=45404&view=rev Log: this xform is implemented.
Added: llvm/trunk/test/CodeGen/X86/sext-load.ll Modified: llvm/trunk/lib/Target/X86/README.txt Modified: llvm/trunk/lib/Target/X86/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/README.txt?rev=45404&r1=45403&r2=45404&view=diff ============================================================================== --- llvm/trunk/lib/Target/X86/README.txt (original) +++ llvm/trunk/lib/Target/X86/README.txt Sat Dec 29 02:19:39 2007 @@ -702,28 +702,6 @@ //===---------------------------------------------------------------------===// -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 - -//===---------------------------------------------------------------------===// - Consider the expansion of: uint %test3(uint %X) { Added: llvm/trunk/test/CodeGen/X86/sext-load.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sext-load.ll?rev=45404&view=auto ============================================================================== --- llvm/trunk/test/CodeGen/X86/sext-load.ll (added) +++ llvm/trunk/test/CodeGen/X86/sext-load.ll Sat Dec 29 02:19:39 2007 @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -march=x86 | grep movsbl + +define i32 @foo(i32 %X) nounwind { +entry: + %tmp12 = trunc i32 %X to i8 ; <i8> [#uses=1] + %tmp123 = sext i8 %tmp12 to i32 ; <i32> [#uses=1] + ret i32 %tmp123 +} + _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits