blob: bd11b5d5b7b248a9dbb41fddb6823184ba644ce0 [file] [log] [blame]
Bill Wendling90bfc2d2007-10-18 08:32:37 +00001; RUN: llvm-as < %s | llc -march=ppc64 -mattr=+altivec
2 %struct.inoutprops = type <{ i8, [3 x i8] }>
3
4define void @bork(float* %argA, float* %argB, float* %res, i8 %inoutspec.0) {
5entry:
6 %.mask = and i8 %inoutspec.0, -16 ; <i8> [#uses=1]
7 %tmp6 = icmp eq i8 %.mask, 16 ; <i1> [#uses=1]
8 br i1 %tmp6, label %cond_true, label %UnifiedReturnBlock
9
10cond_true: ; preds = %entry
11 %tmp89 = bitcast float* %res to <4 x i32>* ; <<4 x i32>*> [#uses=1]
12 %tmp1011 = bitcast float* %argA to <4 x i32>* ; <<4 x i32>*> [#uses=1]
13 %tmp14 = load <4 x i32>* %tmp1011, align 16 ; <<4 x i32>> [#uses=1]
14 %tmp1516 = bitcast float* %argB to <4 x i32>* ; <<4 x i32>*> [#uses=1]
15 %tmp18 = load <4 x i32>* %tmp1516, align 16 ; <<4 x i32>> [#uses=1]
16 %tmp19 = sdiv <4 x i32> %tmp14, %tmp18 ; <<4 x i32>> [#uses=1]
17 store <4 x i32> %tmp19, <4 x i32>* %tmp89, align 16
18 ret void
19
20UnifiedReturnBlock: ; preds = %entry
21 ret void
22}