1 ; RUN: llvm-as < %s | llc -march=x86
3 define i16 @t(i32 %depth) signext nounwind {
5 br i1 false, label %bb74, label %bb
9 switch i32 0, label %bail [
16 switch i32 %depth, label %bb103 [
19 i32 846624121, label %bb96
20 i32 1094862674, label %bb91
21 i32 1096368963, label %bb91
22 i32 1111970369, label %bb91
23 i32 1278555445, label %bb96
24 i32 1278555701, label %bb96
25 i32 1380401729, label %bb91
26 i32 1668118891, label %bb91
27 i32 1916022840, label %bb91
28 i32 1983131704, label %bb91
29 i32 2037741171, label %bb96
30 i32 2037741173, label %bb96
34 bb84: ; preds = %bb74, %bb74
35 switch i32 %depth, label %bb103 [
38 i32 846624121, label %bb96
39 i32 1094862674, label %bb91
40 i32 1096368963, label %bb91
41 i32 1111970369, label %bb91
42 i32 1278555445, label %bb96
43 i32 1278555701, label %bb96
44 i32 1380401729, label %bb91
45 i32 1668118891, label %bb91
46 i32 1916022840, label %bb91
47 i32 1983131704, label %bb91
48 i32 2037741171, label %bb96
49 i32 2037741173, label %bb96
51 bb91: ; preds = %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80
52 %wMB.0.reg2mem.0 = phi i16 [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ] ; <i16> [#uses=2]
53 %tmp941478 = shl i16 %wMB.0.reg2mem.0, 2 ; <i16> [#uses=1]
55 bb96: ; preds = %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80
57 bb103: ; preds = %bb91, %bb84, %bb80
58 %wMB.0.reg2mem.2 = phi i16 [ %wMB.0.reg2mem.0, %bb91 ], [ 16, %bb80 ], [ 0, %bb84 ] ; <i16> [#uses=1]
59 %bBump.0 = phi i16 [ %tmp941478, %bb91 ], [ 16, %bb80 ], [ 0, %bb84 ] ; <i16> [#uses=0]
60 br i1 false, label %bb164, label %UnifiedReturnBlock
61 bb164: ; preds = %bb103
62 %tmp167168 = sext i16 %wMB.0.reg2mem.2 to i32 ; <i32> [#uses=0]
66 UnifiedReturnBlock: ; preds = %bb103