blob: cdb030eb38bfebf6e057b4b44167c9a1feb7a00c [file] [log] [blame]
Dan Gohman0a063102009-09-08 23:54:48 +00001; RUN: llc < %s -march=x86 -mattr=+sse2
Evan Cheng86280672008-03-10 07:19:13 +00002
3define i32 @t() {
4entry:
5 br i1 true, label %bb4743, label %bb1656
6bb1656: ; preds = %entry
7 ret i32 0
8bb1664: ; preds = %entry
9 br i1 false, label %bb5310, label %bb4743
10bb4743: ; preds = %bb1664
11 %tmp5256 = bitcast <2 x i64> zeroinitializer to <8 x i16> ; <<8 x i16>> [#uses=1]
12 %tmp5257 = sub <8 x i16> %tmp5256, zeroinitializer ; <<8 x i16>> [#uses=1]
13 %tmp5258 = bitcast <8 x i16> %tmp5257 to <2 x i64> ; <<2 x i64>> [#uses=1]
14 %tmp5265 = bitcast <2 x i64> %tmp5258 to <8 x i16> ; <<8 x i16>> [#uses=1]
Eric Christopher45535af2009-11-06 00:11:57 +000015 %tmp5266 = call <16 x i8> @llvm.x86.sse2.packuswb.128( <8 x i16> %tmp5265, <8 x i16> zeroinitializer ) nounwind readnone ; <<8 x i16>> [#uses=1]
16 %tmp5267 = bitcast <16 x i8> %tmp5266 to <2 x i64> ; <<2 x i64>> [#uses=1]
Evan Cheng86280672008-03-10 07:19:13 +000017 %tmp5294 = and <2 x i64> zeroinitializer, %tmp5267 ; <<2 x i64>> [#uses=1]
18 br label %bb5310
19bb5310: ; preds = %bb4743, %bb1664
20 %tmp5294.pn = phi <2 x i64> [ %tmp5294, %bb4743 ], [ zeroinitializer, %bb1664 ] ; <<2 x i64>> [#uses=0]
21 ret i32 0
22}
23
Eric Christopher45535af2009-11-06 00:11:57 +000024declare <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16>, <8 x i16>) nounwind readnone