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. + +//===----------------------------------------------------------------------===// + _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits