2006-12-02 04:23:10 +00:00
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 -mcpu=g5
2006-04-20 05:57:43 +00:00
void %test ( s b y t e * %stack ) {
entry:
%tmp9 = s e t eq i n t 0 , 0 ; <bool> [#uses=1]
%tmp30 = s e t eq u i n t 0 , 0 ; <bool> [#uses=1]
br b o o l %tmp30 , label %cond_next54 , label %cond_true31
cond_true860: ; preds = %bb855
%tmp879 = tail call < 4 x float > %llvm.ppc.altivec.vmaddfp ( < 4 x float > zeroinitializer , < 4 x float > zeroinitializer , < 4 x float > zeroinitializer ) ; <<4 x float>> [#uses=1]
%tmp880 = c a s t < 4 x float > %tmp879 to < 4 x i n t > ; <<4 x int>> [#uses=2]
%tmp883 = shufflevector < 4 x i n t > %tmp880 , < 4 x i n t > undef , < 4 x u i n t > < u i n t 1 , u i n t 1 , u i n t 1 , u i n t 1 > ; <<4 x int>> [#uses=1]
%tmp883 = c a s t < 4 x i n t > %tmp883 to < 4 x float > ; <<4 x float>> [#uses=1]
%tmp885 = shufflevector < 4 x i n t > %tmp880 , < 4 x i n t > undef , < 4 x u i n t > < u i n t 2 , u i n t 2 , u i n t 2 , u i n t 2 > ; <<4 x int>> [#uses=1]
%tmp885 = c a s t < 4 x i n t > %tmp885 to < 4 x float > ; <<4 x float>> [#uses=1]
br label %cond_next905
cond_true31: ; preds = %entry
ret void
cond_next54: ; preds = %entry
br b o o l %tmp9 , label %cond_false385 , label %bb279
bb279: ; preds = %cond_next54
ret void
cond_false385: ; preds = %cond_next54
%tmp388 = s e t eq u i n t 0 , 0 ; <bool> [#uses=1]
br b o o l %tmp388 , label %cond_next463 , label %cond_true389
cond_true389: ; preds = %cond_false385
ret void
cond_next463: ; preds = %cond_false385
%tmp1208107 = s e t g t s b y t e * null , %stack ; <bool> [#uses=1]
br b o o l %tmp1208107 , label %cond_true1209.preheader , label %bb1212
cond_true498: ; preds = %cond_true1209.preheader
ret void
cond_true519: ; preds = %cond_true1209.preheader
%bothcond = or b o o l false , false ; <bool> [#uses=1]
br b o o l %bothcond , label %bb855 , label %bb980
cond_false548: ; preds = %cond_true1209.preheader
ret void
bb855: ; preds = %cond_true519
%tmp859 = s e t eq i n t 0 , 0 ; <bool> [#uses=1]
br b o o l %tmp859 , label %cond_true860 , label %cond_next905
cond_next905: ; preds = %bb855, %cond_true860
%vfpw2.4 = phi < 4 x float > [ %tmp885 , %cond_true860 ] , [ undef , %bb855 ] ; <<4 x float>> [#uses=0]
%vfpw1.4 = phi < 4 x float > [ %tmp883 , %cond_true860 ] , [ undef , %bb855 ] ; <<4 x float>> [#uses=0]
%tmp930 = c a s t < 4 x float > zeroinitializer to < 4 x i n t > ; <<4 x int>> [#uses=0]
ret void
bb980: ; preds = %cond_true519
ret void
cond_true1209.preheader: ; preds = %cond_next463
%tmp496 = and u i n t 0 , 12288 ; <uint> [#uses=1]
switch u i n t %tmp496 , label %cond_false548 [
u i n t 0 , label %cond_true498
u i n t 4096 , label %cond_true519
]
bb1212: ; preds = %cond_next463
ret void
}
declare < 4 x float > %llvm.ppc.altivec.vmaddfp ( < 4 x float > , < 4 x float > , < 4 x float > )