summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-24 02:27:03 +0000
committerChris Lattner <sabre@nondot.org>2010-01-24 02:27:03 +0000
commit3f6bfdaedaca984c178f1668c1ca08f52d607aee (patch)
tree1c8baa4dfab03896033422816feee9e2315f0b21 /lib/Target/PowerPC/README.txt
parent75f265fbbbb64ab060bf41c5a4677ce56014ce9f (diff)
downloadllvm-3f6bfdaedaca984c178f1668c1ca08f52d607aee.tar.gz
llvm-3f6bfdaedaca984c178f1668c1ca08f52d607aee.tar.bz2
llvm-3f6bfdaedaca984c178f1668c1ca08f52d607aee.tar.xz
move PR5945 here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94350 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/README.txt')
-rw-r--r--lib/Target/PowerPC/README.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt
index 5af108ac68..8f265cfc48 100644
--- a/lib/Target/PowerPC/README.txt
+++ b/lib/Target/PowerPC/README.txt
@@ -430,6 +430,35 @@ This theoretically may help improve twolf slightly (used in dimbox.c:142?).
===-------------------------------------------------------------------------===
+PR5945: This:
+define i32 @clamp0g(i32 %a) {
+entry:
+ %cmp = icmp slt i32 %a, 0
+ %sel = select i1 %cmp, i32 0, i32 %a
+ ret i32 %sel
+}
+
+Is compile to this with the PowerPC (32-bit) backend:
+
+_clamp0g:
+ cmpwi cr0, r3, 0
+ li r2, 0
+ blt cr0, LBB1_2
+; BB#1: ; %entry
+ mr r2, r3
+LBB1_2: ; %entry
+ mr r3, r2
+ blr
+
+This could be reduced to the much simpler:
+
+_clamp0g:
+ srawi r2, r3, 31
+ andc r3, r3, r2
+ blr
+
+===-------------------------------------------------------------------------===
+
int foo(int N, int ***W, int **TK, int X) {
int t, i;