From: Chris Lattner Date: Wed, 1 Feb 2006 17:54:23 +0000 (+0000) Subject: add a note X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=5a7efc9d4f3b1fd09873a7377bcca7f513d2ad80;p=oota-llvm.git add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25876 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index e23c6e77b5b..eccdae71e03 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -435,3 +435,32 @@ This could be done in the dag combiner, by swapping a BR_CC when a SETCC of the same operands (but backwards) exists. In this case, this wouldn't save us anything though, because the compares still wouldn't be shared. +===-------------------------------------------------------------------------=== + +The legalizer should lower this: + +bool %test(ulong %x) { + %tmp = setlt ulong %x, 4294967296 + ret bool %tmp +} + +into "if x.high == 0", not: + +_test: + addi r2, r3, -1 + cntlzw r2, r2 + cntlzw r3, r3 + srwi r2, r2, 5 + srwi r3, r3, 5 + li r4, 0 + cmpwi cr0, r2, 0 + bne cr0, LBB1_2 ; +LBB1_1: + or r4, r3, r3 +LBB1_2: + cmplw cr7, r4, r3 + mfcr r2, 1 + rlwinm r3, r2, 29, 31, 31 + blr + +noticed in 2005-05-11-Popcount-ffs-fls.c.