; This should fold the "vcmpbfp." and "vcmpbfp" instructions into a single
; "vcmpbfp.".
; RUN: llc < %s -march=ppc32 -mcpu=g5 | grep vcmpbfp | count 1


define void @test(<4 x float>* %x, <4 x float>* %y, i32* %P) {
entry:
	%tmp = load <4 x float>* %x		; <<4 x float>> [#uses=1]
	%tmp2 = load <4 x float>* %y		; <<4 x float>> [#uses=1]
	%tmp.upgrd.1 = call i32 @llvm.ppc.altivec.vcmpbfp.p( i32 1, <4 x float> %tmp, <4 x float> %tmp2 )		; <i32> [#uses=1]
	%tmp4 = load <4 x float>* %x		; <<4 x float>> [#uses=1]
	%tmp6 = load <4 x float>* %y		; <<4 x float>> [#uses=1]
	%tmp.upgrd.2 = call <4 x i32> @llvm.ppc.altivec.vcmpbfp( <4 x float> %tmp4, <4 x float> %tmp6 )		; <<4 x i32>> [#uses=1]
	%tmp7 = bitcast <4 x i32> %tmp.upgrd.2 to <4 x float>		; <<4 x float>> [#uses=1]
	store <4 x float> %tmp7, <4 x float>* %x
	store i32 %tmp.upgrd.1, i32* %P
	ret void
}

declare i32 @llvm.ppc.altivec.vcmpbfp.p(i32, <4 x float>, <4 x float>)

declare <4 x i32> @llvm.ppc.altivec.vcmpbfp(<4 x float>, <4 x float>)
