summaryrefslogtreecommitdiffstats
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
commit2e040ebe19d2fe6ae12f885b0dea426fb3b8a847 (patch)
treeccbd7d4cf1083227a2afe207d52a468cd694abbd
parentb737bac6ed49312f355cf915bb642123776b7945 (diff)
downloadbcm5719-llvm-2e040ebe19d2fe6ae12f885b0dea426fb3b8a847.tar.gz
bcm5719-llvm-2e040ebe19d2fe6ae12f885b0dea426fb3b8a847.zip
add a readme.
llvm-svn: 114303
-rw-r--r--llvm/lib/Target/PowerPC/README.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/README.txt b/llvm/lib/Target/PowerPC/README.txt
index 3465779e344..4c80225d041 100644
--- a/llvm/lib/Target/PowerPC/README.txt
+++ b/llvm/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.
===-------------------------------------------------------------------------===
OpenPOWER on IntegriCloud