move PR5945 here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94350 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-01-24 02:27:03 +00:00
parent 75f265fbbb
commit 3f6bfdaeda

View File

@ -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;