-define void @test105(i16* nocapture %a, i16* nocapture %b) nounwind {
-vector.ph:
- br label %vector.body
-
-vector.body: ; preds = %vector.body, %vector.ph
- %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
- %gep.a = getelementptr inbounds i16, i16* %a, i64 %index
- %gep.b = getelementptr inbounds i16, i16* %b, i64 %index
- %ptr.a = bitcast i16* %gep.a to <32 x i16>*
- %ptr.b = bitcast i16* %gep.b to <32 x i16>*
- %load.a = load <32 x i16>, <32 x i16>* %ptr.a, align 2
- %load.b = load <32 x i16>, <32 x i16>* %ptr.b, align 2
- %cmp = icmp slt <32 x i16> %load.a, %load.b
- %sel = select <32 x i1> %cmp, <32 x i16> %load.a, <32 x i16> %load.b
- store <32 x i16> %sel, <32 x i16>* %ptr.a, align 2
- %index.next = add i64 %index, 16
- %loop = icmp eq i64 %index.next, 16384
- br i1 %loop, label %for.end, label %vector.body
-
-for.end: ; preds = %vector.body
- ret void
+define <32 x i16> @test105(<32 x i16> %a, <32 x i16> %b) {
+entry:
+ %cmp = icmp slt <32 x i16> %a, %b
+ %sel = select <32 x i1> %cmp, <32 x i16> %a, <32 x i16> %b
+ ret <32 x i16> %sel