[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