aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-09-19 00:34:58 +0000
committerChris Lattner <sabre@nondot.org>2010-09-19 00:34:58 +0000
commit702917d4e836ec8346c05aadbc2c1a461c6c3ca6 (patch)
tree9a10a85d883e4c3cf28e7ca464ba3fd7be3822e3
parent222920d667f848de3c51cd93496de980ffcf2e6a (diff)
downloadexternal_llvm-702917d4e836ec8346c05aadbc2c1a461c6c3ca6.zip
external_llvm-702917d4e836ec8346c05aadbc2c1a461c6c3ca6.tar.gz
external_llvm-702917d4e836ec8346c05aadbc2c1a461c6c3ca6.tar.bz2
add a readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114303 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/README.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt
index 3465779..4c80225 100644
--- a/lib/Target/PowerPC/README.txt
+++ b/lib/Target/PowerPC/README.txt
@@ -37,6 +37,31 @@ _f3:
ori r3, r2, 65535
blr
+===-------------------------------------------------------------------------===
+
+This code:
+
+unsigned add32carry(unsigned sum, unsigned x) {
+ unsigned z = sum + x;
+ if (sum + x < x)
+ z++;
+ return z;
+}
+
+Should compile to something like:
+
+ addc r3,r3,r4
+ addze r3,r3
+
+instead we get:
+
+ add r3, r4, r3
+ cmplw cr7, r3, r4
+ mfcr r4 ; 1
+ rlwinm r4, r4, 29, 31, 31
+ add r3, r3, r4
+
+Ick.
===-------------------------------------------------------------------------===