[llvm-commits] CVS: llvm/lib/Target/PowerPC/README.txt
Chris Lattner
sabre at nondot.org
Tue Nov 7 10:30:35 PST 2006
Changes in directory llvm/lib/Target/PowerPC:
README.txt updated: 1.103 -> 1.104
---
Log message:
add a note from viterbi
---
Diffs of the changes: (+29 -0)
README.txt | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+)
Index: llvm/lib/Target/PowerPC/README.txt
diff -u llvm/lib/Target/PowerPC/README.txt:1.103 llvm/lib/Target/PowerPC/README.txt:1.104
--- llvm/lib/Target/PowerPC/README.txt:1.103 Fri Oct 27 17:02:19 2006
+++ llvm/lib/Target/PowerPC/README.txt Tue Nov 7 12:30:21 2006
@@ -11,6 +11,35 @@
===-------------------------------------------------------------------------===
+We compile the hottest inner loop of viterbi to:
+
+ li r6, 0
+ b LBB1_84 ;bb432.i
+LBB1_83: ;bb420.i
+ lbzx r8, r5, r7
+ addi r6, r7, 1
+ stbx r8, r4, r7
+LBB1_84: ;bb432.i
+ mr r7, r6
+ cmplwi cr0, r7, 143
+ bne cr0, LBB1_83 ;bb420.i
+
+The CBE manages to produce:
+
+ li r0, 143
+ mtctr r0
+loop:
+ lbzx r2, r2, r11
+ stbx r0, r2, r9
+ addi r2, r2, 1
+ bdz later
+ b loop
+
+This could be much better (bdnz instead of bdz) but it still beats us. If we
+produced this with bdnz, the loop would be a single dispatch group.
+
+===-------------------------------------------------------------------------===
+
Compile:
void foo(int *P) {
More information about the llvm-commits
mailing list