[llvm-commits] [llvm] r62558 - /llvm/trunk/lib/Target/README.txt
Dan Gohman
gohman at apple.com
Mon Jan 19 17:07:33 PST 2009
Author: djg
Date: Mon Jan 19 19:07:33 2009
New Revision: 62558
URL: http://llvm.org/viewvc/llvm-project?rev=62558&view=rev
Log:
Add a README entry noticed while investigating PR3216.
Modified:
llvm/trunk/lib/Target/README.txt
Modified: llvm/trunk/lib/Target/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=62558&r1=62557&r2=62558&view=diff
==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Mon Jan 19 19:07:33 2009
@@ -1651,3 +1651,25 @@
//===---------------------------------------------------------------------===//
+This code:
+
+define inreg i32 @foo(i8* inreg %p) nounwind {
+ %tmp0 = load i8* %p
+ %tmp1 = ashr i8 %tmp0, 5
+ %tmp2 = sext i8 %tmp1 to i32
+ ret i32 %tmp2
+}
+
+could be dagcombine'd to a sign-extending load with a shift.
+For example, on x86 this currently gets this:
+
+ movb (%eax), %al
+ sarb $5, %al
+ movsbl %al, %eax
+
+while it could get this:
+
+ movsbl (%eax), %eax
+ sarl $5, %eax
+
+//===---------------------------------------------------------------------===//
More information about the llvm-commits
mailing list