[llvm-commits] CVS: llvm/lib/Target/PowerPC/README_ALTIVEC.txt
Chris Lattner
lattner at cs.uiuc.edu
Wed Apr 19 09:22:50 PDT 2006
Changes in directory llvm/lib/Target/PowerPC:
README_ALTIVEC.txt updated: 1.32 -> 1.33
---
Log message:
add a note
---
Diffs of the changes: (+31 -0)
README_ALTIVEC.txt | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+)
Index: llvm/lib/Target/PowerPC/README_ALTIVEC.txt
diff -u llvm/lib/Target/PowerPC/README_ALTIVEC.txt:1.32 llvm/lib/Target/PowerPC/README_ALTIVEC.txt:1.33
--- llvm/lib/Target/PowerPC/README_ALTIVEC.txt:1.32 Wed Apr 19 00:55:06 2006
+++ llvm/lib/Target/PowerPC/README_ALTIVEC.txt Wed Apr 19 11:22:38 2006
@@ -138,3 +138,34 @@
blr
//===----------------------------------------------------------------------===//
+
+int foo(vector float *x, vector float *y) {
+ if (vec_all_eq(*x,*y)) return 3245;
+ else return 12;
+}
+
+A predicate compare being used in a select_cc should have the same peephole
+applied to it as a predicate compare used by a br_cc. There should be no
+mfcr here:
+
+_foo:
+ mfspr r2, 256
+ oris r5, r2, 12288
+ mtspr 256, r5
+ li r5, 12
+ li r6, 3245
+ lvx v2, 0, r4
+ lvx v3, 0, r3
+ vcmpeqfp. v2, v3, v2
+ mfcr r3, 2
+ rlwinm r3, r3, 25, 31, 31
+ cmpwi cr0, r3, 0
+ bne cr0, LBB1_2 ; entry
+LBB1_1: ; entry
+ mr r6, r5
+LBB1_2: ; entry
+ mr r3, r6
+ mtspr 256, r2
+ blr
+
+//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list