add a note
authorChris Lattner <sabre@nondot.org>
Thu, 20 Apr 2006 18:49:28 +0000 (18:49 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 20 Apr 2006 18:49:28 +0000 (18:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27907 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/README.txt

index 23503517c0721f6504bf59867ecfe9a652028ce1..fd862fe63a9feec2902999562b518efb3fae79dc 100644 (file)
@@ -172,3 +172,21 @@ information in the constant folder, so we don't know the endianness of the
 target!
 
 //===---------------------------------------------------------------------===//
+
+Consider this:
+
+unsigned short swap_16(unsigned short v) { return (v>>8) | (v<<8); }
+
+Compiled with the ppc backend:
+
+_swap_16:
+        slwi r2, r3, 8
+        srwi r3, r3, 8
+        or r2, r3, r2
+        rlwinm r3, r2, 0, 16, 31
+        blr
+
+The rlwinm (an and by 65535) is dead.  The dag combiner should propagate bits
+better than that to see this.
+
+//===---------------------------------------------------------------------===//