[llvm-commits] CVS: llvm/lib/Target/README.txt

Chris Lattner sabre at nondot.org
Mon Nov 6 13:27:10 PST 2006



Changes in directory llvm/lib/Target:

README.txt updated: 1.45 -> 1.46
---
Log message:

add a note


---
Diffs of the changes:  (+16 -0)

 README.txt |   16 ++++++++++++++++
 1 files changed, 16 insertions(+)


Index: llvm/lib/Target/README.txt
diff -u llvm/lib/Target/README.txt:1.45 llvm/lib/Target/README.txt:1.46
--- llvm/lib/Target/README.txt:1.45	Fri Nov  3 16:27:39 2006
+++ llvm/lib/Target/README.txt	Mon Nov  6 15:26:49 2006
@@ -287,6 +287,22 @@
   return v;
 }
 
+Nor is this:
+
+ushort %bad(ushort %a) {
+entry:
+        %tmp = cast ushort %a to uint           ; <uint> [#uses=1]
+        %tmp2 = shr uint %tmp, ubyte 8          ; <uint> [#uses=1]
+        %tmp2 = cast uint %tmp2 to ushort               ; <ushort> [#uses=1]
+        %tmp5 = shl ushort %a, ubyte 8          ; <ushort> [#uses=1]
+        %tmp6 = or ushort %tmp2, %tmp5          ; <ushort> [#uses=1]
+        ret ushort %tmp6
+}
+
+unsigned short bad(unsigned short a) {
+       return ((a & 0xff00) >> 8 | (a & 0x00ff) << 8);
+}
+
 //===---------------------------------------------------------------------===//
 
 These should turn into single 16-bit (unaligned?) loads on little/big endian






More information about the llvm-commits mailing list