[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