test vperm promotion

llvm-svn: 27454
This commit is contained in:
Chris Lattner 2006-04-06 19:21:02 +00:00
parent a4c727f1cc
commit 13f01c8a3d
1 changed files with 16 additions and 0 deletions

View File

@ -1,4 +1,5 @@
; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vsldoi | wc -l | grep 2
; RUN: llvm-as < %s | opt -instcombine | llc -march=ppc32 -mcpu=g5 | not grep vperm
void %VSLDOI_xy(<8 x short>* %A, <8 x short>* %B) {
entry:
@ -84,3 +85,18 @@ void %VSLDOI_xx(<8 x short>* %A, <8 x short>* %B) {
store <8 x short> %tmp33, <8 x short>* %A
ret void
}
void %VPERM_promote(<8 x short>* %A, <8 x short>* %B) {
entry:
%tmp = load <8 x short>* %A ; <<8 x short>> [#uses=1]
%tmp = cast <8 x short> %tmp to <4 x int> ; <<4 x int>> [#uses=1]
%tmp2 = load <8 x short>* %B ; <<8 x short>> [#uses=1]
%tmp2 = cast <8 x short> %tmp2 to <4 x int> ; <<4 x int>> [#uses=1]
%tmp3 = call <4 x int> %llvm.ppc.altivec.vperm( <4 x int> %tmp, <4 x int> %tmp2, <16 x sbyte> < sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14, sbyte 14 > ) ; <<4 x int>> [#uses=1]
%tmp3 = cast <4 x int> %tmp3 to <8 x short> ; <<8 x short>> [#uses=1]
store <8 x short> %tmp3, <8 x short>* %A
ret void
}
declare <4 x int> %llvm.ppc.altivec.vperm(<4 x int>, <4 x int>, <16 x sbyte>)