From: Chris Lattner Date: Fri, 10 Nov 2006 01:33:53 +0000 (+0000) Subject: add note about ugly codegen with preinc X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=26ddb506ec08789d33298efb3a5c142dea22e320;p=oota-llvm.git add note about ugly codegen with preinc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31617 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index 8834699f63a..0b4f78f67b0 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -9,6 +9,35 @@ TODO: Support 'update' load/store instructions. These are cracked on the G5, but are still a codesize win. +With preinc enabled, this: + +long *%test4(long *%X, long *%dest) { + %Y = getelementptr long* %X, int 4 + %A = load long* %Y + store long %A, long* %dest + ret long* %Y +} + +compiles to: + +_test4: + mr r2, r3 + lwzu r5, 32(r2) + lwz r3, 36(r3) + stw r5, 0(r4) + stw r3, 4(r4) + mr r3, r2 + blr + +with -sched=list-burr, I get: + +_test4: + lwz r2, 36(r3) + lwzu r5, 32(r3) + stw r2, 4(r4) + stw r5, 0(r4) + blr + ===-------------------------------------------------------------------------=== We compile the hottest inner loop of viterbi to: