Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / 2008-02-25-InlineAsmBug.ll
blobb28de3f523d11148217f92e3db8a87b530313155
1 ; RUN: llc < %s -mtriple=i686-pc-linux-gnu -mattr=+sse2
2 ; PR2076
4 define void @h264_h_loop_filter_luma_mmx2(ptr %pix, i32 %stride, i32 %alpha, i32 %beta, ptr %tc0) nounwind  {
5 entry:
6         %tmp164 = getelementptr [16 x i32], ptr null, i32 0, i32 11             ; <ptr> [#uses=1]
7         %tmp169 = getelementptr [16 x i32], ptr null, i32 0, i32 13             ; <ptr> [#uses=1]
8         %tmp174 = getelementptr [16 x i32], ptr null, i32 0, i32 15             ; <ptr> [#uses=1]
9         %tmp154.sum317 = add i32 0, %stride             ; <i32> [#uses=1]
10         %tmp154.sum315 = mul i32 %stride, 6             ; <i32> [#uses=1]
11         %tmp154.sum = mul i32 %stride, 7                ; <i32> [#uses=1]
12         %pix_addr.0327.rec = mul i32 0, 0               ; <i32> [#uses=4]
13         br i1 false, label %bb292, label %bb32
15 bb32:           ; preds = %entry
16         %pix_addr.0327.sum340 = add i32 %pix_addr.0327.rec, 0           ; <i32> [#uses=1]
17         %tmp154 = getelementptr i8, ptr %pix, i32 %pix_addr.0327.sum340         ; <ptr> [#uses=1]
18         %pix_addr.0327.sum339 = add i32 %pix_addr.0327.rec, %tmp154.sum317              ; <i32> [#uses=1]
19         %tmp181 = getelementptr i8, ptr %pix, i32 %pix_addr.0327.sum339         ; <ptr> [#uses=1]
20         %pix_addr.0327.sum338 = add i32 %pix_addr.0327.rec, %tmp154.sum315              ; <i32> [#uses=1]
21         %tmp186 = getelementptr i8, ptr %pix, i32 %pix_addr.0327.sum338         ; <ptr> [#uses=1]
22         %pix_addr.0327.sum337 = add i32 %pix_addr.0327.rec, %tmp154.sum         ; <i32> [#uses=1]
23         %tmp191 = getelementptr i8, ptr %pix, i32 %pix_addr.0327.sum337         ; <ptr> [#uses=1]
24         call void asm sideeffect "movd  $4, %mm0                \0A\09movd  $5, %mm1                \0A\09movd  $6, %mm2                \0A\09movd  $7, %mm3                \0A\09punpcklbw %mm1, %mm0         \0A\09punpcklbw %mm3, %mm2         \0A\09movq %mm0, %mm1              \0A\09punpcklwd %mm2, %mm0         \0A\09punpckhwd %mm2, %mm1         \0A\09movd  %mm0, $0                \0A\09punpckhdq %mm0, %mm0         \0A\09movd  %mm0, $1                \0A\09movd  %mm1, $2                \0A\09punpckhdq %mm1, %mm1         \0A\09movd  %mm1, $3                \0A\09", "=*m,=*m,=*m,=*m,*m,*m,*m,*m,~{dirflag},~{fpsr},~{flags}"( ptr elementtype( i32) null, ptr elementtype(i32) %tmp164, ptr elementtype(i32) %tmp169, ptr elementtype(i32) %tmp174, ptr elementtype(i32) %tmp154, ptr elementtype(i32) %tmp181, ptr elementtype(i32) %tmp186, ptr elementtype(i32) %tmp191 ) nounwind 
25         unreachable
27 bb292:          ; preds = %entry
28         ret void