[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/vec_br_cmp.ll
Chris Lattner
lattner at cs.uiuc.edu
Tue Apr 18 10:56:42 PDT 2006
Changes in directory llvm/test/Regression/CodeGen/PowerPC:
vec_br_cmp.ll added (r1.1)
---
Log message:
new testcase
---
Diffs of the changes: (+22 -0)
vec_br_cmp.ll | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+)
Index: llvm/test/Regression/CodeGen/PowerPC/vec_br_cmp.ll
diff -c /dev/null llvm/test/Regression/CodeGen/PowerPC/vec_br_cmp.ll:1.1
*** /dev/null Tue Apr 18 12:56:40 2006
--- llvm/test/Regression/CodeGen/PowerPC/vec_br_cmp.ll Tue Apr 18 12:56:30 2006
***************
*** 0 ****
--- 1,22 ----
+ ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vcmpeqfp. &&
+ ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | not grep mfcr
+
+ ; A predicate compare used immediately by a branch should not generate an mfcr.
+
+ void %test(<4 x float>* %A, <4 x float>* %B) {
+ %tmp = load <4 x float>* %A
+ %tmp3 = load <4 x float>* %B
+ %tmp = tail call int %llvm.ppc.altivec.vcmpeqfp.p( int 1, <4 x float> %tmp, <4 x float> %tmp3 )
+ %tmp = seteq int %tmp, 0
+ br bool %tmp, label %cond_true, label %UnifiedReturnBlock
+
+ cond_true:
+ store <4 x float> zeroinitializer, <4 x float>* %B
+ ret void
+
+ UnifiedReturnBlock:
+ ret void
+ }
+
+ declare int %llvm.ppc.altivec.vcmpeqfp.p(int, <4 x float>, <4 x float>)
+
More information about the llvm-commits
mailing list