[llvm-commits] [llvm] r128286 - /llvm/trunk/lib/Target/README.txt

Benjamin Kramer benny.kra at googlemail.com
Fri Mar 25 10:32:40 PDT 2011


Author: d0k
Date: Fri Mar 25 12:32:40 2011
New Revision: 128286

URL: http://llvm.org/viewvc/llvm-project?rev=128286&view=rev
Log:
Add a note.

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=128286&r1=128285&r2=128286&view=diff
==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Fri Mar 25 12:32:40 2011
@@ -2238,4 +2238,23 @@
 
 //===---------------------------------------------------------------------===//
 
+define i1 @test1(i32 %x) nounwind {
+  %and = and i32 %x, 3
+  %cmp = icmp ult i32 %and, 2
+  ret i1 %cmp
+}
 
+Can be folded to (x & 2) == 0.
+
+define i1 @test2(i32 %x) nounwind {
+  %and = and i32 %x, 3
+  %cmp = icmp ugt i32 %and, 1
+  ret i1 %cmp
+}
+
+Can be folded to (x & 2) != 0.
+
+SimplifyDemandedBits shrinks the "and" constant to 2 but instcombine misses the
+icmp transform.
+
+//===---------------------------------------------------------------------===//





More information about the llvm-commits mailing list