[llvm-commits] CVS: llvm/lib/Target/PowerPC/README_ALTIVEC.txt

Chris Lattner lattner at cs.uiuc.edu
Tue Apr 18 11:30:31 PDT 2006



Changes in directory llvm/lib/Target/PowerPC:

README_ALTIVEC.txt updated: 1.30 -> 1.31
---
Log message:

add a note


---
Diffs of the changes:  (+23 -0)

 README_ALTIVEC.txt |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+)


Index: llvm/lib/Target/PowerPC/README_ALTIVEC.txt
diff -u llvm/lib/Target/PowerPC/README_ALTIVEC.txt:1.30 llvm/lib/Target/PowerPC/README_ALTIVEC.txt:1.31
--- llvm/lib/Target/PowerPC/README_ALTIVEC.txt:1.30	Tue Apr 18 12:59:36 2006
+++ llvm/lib/Target/PowerPC/README_ALTIVEC.txt	Tue Apr 18 13:30:19 2006
@@ -85,3 +85,26 @@
 
 //===----------------------------------------------------------------------===//
 
+For this function:
+
+void test(vector float *A, vector float *B) {
+  vector float C = (vector float)vec_cmpeq(*A, *B);
+  if (!vec_any_eq(*A, *B))
+    *B = (vector float){0,0,0,0};
+  *A = C;
+}
+
+we get the following basic block:
+
+	...
+        lvx v2, 0, r4
+        lvx v3, 0, r3
+        vcmpeqfp v4, v3, v2
+        vcmpeqfp. v2, v3, v2
+        bne cr6, LBB1_2 ; cond_next
+
+The vcmpeqfp/vcmpeqfp. instructions currently cannot be merged when the
+vcmpeqfp. result is used by a branch.  This can be improved.
+
+//===----------------------------------------------------------------------===//
+






More information about the llvm-commits mailing list