aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/README.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index 422d021655..c04e06fbfe 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -303,6 +303,16 @@ unsigned int swap_32(unsigned int v) {
return v;
}
+Nor is this (yes, it really is bswap):
+
+unsigned long reverse(unsigned v) {
+ unsigned t;
+ t = v ^ ((v << 16) | (v >> 16));
+ t &= ~0xff0000;
+ v = (v << 24) | (v >> 8);
+ return v ^ (t >> 8);
+}
+
//===---------------------------------------------------------------------===//
These should turn into single 16-bit (unaligned?) loads on little/big endian