[llvm-commits] [llvm] r82442 - /llvm/trunk/lib/Target/README.txt
Chris Lattner
sabre at nondot.org
Sun Sep 20 23:04:08 PDT 2009
Author: lattner
Date: Mon Sep 21 01:04:07 2009
New Revision: 82442
URL: http://llvm.org/viewvc/llvm-project?rev=82442&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=82442&r1=82441&r2=82442&view=diff
==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Mon Sep 21 01:04:07 2009
@@ -220,7 +220,20 @@
... which would only do one 32-bit XOR per loop iteration instead of two.
It would also be nice to recognize the reg->size doesn't alias reg->node[i], but
-alas...
+alas.
+
+//===---------------------------------------------------------------------===//
+
+This should be optimized to one 'and' and one 'or', from PR4216:
+
+define i32 @test_bitfield(i32 %bf.prev.low) nounwind ssp {
+entry:
+ %bf.prev.lo.cleared10 = or i32 %bf.prev.low, 32962 ; <i32> [#uses=1]
+ %0 = and i32 %bf.prev.low, -65536 ; <i32> [#uses=1]
+ %1 = and i32 %bf.prev.lo.cleared10, 40186 ; <i32> [#uses=1]
+ %2 = or i32 %1, %0 ; <i32> [#uses=1]
+ ret i32 %2
+}
//===---------------------------------------------------------------------===//
More information about the llvm-commits
mailing list