• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-scops -analyze < %s | FileCheck %s
2
3; CHECK:      Statements {
4; CHECK-NEXT:  	Stmt_bb9
5; CHECK-NEXT:          Domain :=
6; CHECK-NEXT:              [tmp] -> { Stmt_bb9[] };
7; CHECK-NEXT:          Schedule :=
8; CHECK-NEXT:              [tmp] -> { Stmt_bb9[] -> [0] };
9; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
10; CHECK-NEXT:              [tmp] -> { Stmt_bb9[] -> MemRef_tmp8[] };
11; CHECK-NEXT:  	Stmt_bb12
12; CHECK-NEXT:          Domain :=
13; CHECK-NEXT:              [tmp] -> { Stmt_bb12[] : 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
14; CHECK-NEXT:          Schedule :=
15; CHECK-NEXT:              [tmp] -> { Stmt_bb12[] -> [1] };
16; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
17; CHECK-NEXT:              [tmp] -> { Stmt_bb12[] -> MemRef_tmp8[] };
18; CHECK-NEXT:  	Stmt_bb15
19; CHECK-NEXT:          Domain :=
20; CHECK-NEXT:              [tmp] -> { Stmt_bb15[] : -268435455 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
21; CHECK-NEXT:          Schedule :=
22; CHECK-NEXT:              [tmp] -> { Stmt_bb15[] -> [2] };
23; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
24; CHECK-NEXT:              [tmp] -> { Stmt_bb15[] -> MemRef_tmp8[] };
25; CHECK-NEXT:  	Stmt_bb18
26; CHECK-NEXT:          Domain :=
27; CHECK-NEXT:              [tmp] -> { Stmt_bb18[] : -134217727 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
28; CHECK-NEXT:          Schedule :=
29; CHECK-NEXT:              [tmp] -> { Stmt_bb18[] -> [3] };
30; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
31; CHECK-NEXT:              [tmp] -> { Stmt_bb18[] -> MemRef_tmp8[] };
32; CHECK-NEXT:  	Stmt_bb21
33; CHECK-NEXT:          Domain :=
34; CHECK-NEXT:              [tmp] -> { Stmt_bb21[] : -67108863 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
35; CHECK-NEXT:          Schedule :=
36; CHECK-NEXT:              [tmp] -> { Stmt_bb21[] -> [4] };
37; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
38; CHECK-NEXT:              [tmp] -> { Stmt_bb21[] -> MemRef_tmp8[] };
39; CHECK-NEXT:  	Stmt_bb24
40; CHECK-NEXT:          Domain :=
41; CHECK-NEXT:              [tmp] -> { Stmt_bb24[] : -33554431 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
42; CHECK-NEXT:          Schedule :=
43; CHECK-NEXT:              [tmp] -> { Stmt_bb24[] -> [5] };
44; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
45; CHECK-NEXT:              [tmp] -> { Stmt_bb24[] -> MemRef_tmp8[] };
46; CHECK-NEXT:  	Stmt_bb27
47; CHECK-NEXT:          Domain :=
48; CHECK-NEXT:              [tmp] -> { Stmt_bb27[] : -16777215 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
49; CHECK-NEXT:          Schedule :=
50; CHECK-NEXT:              [tmp] -> { Stmt_bb27[] -> [6] };
51; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
52; CHECK-NEXT:              [tmp] -> { Stmt_bb27[] -> MemRef_tmp8[] };
53; CHECK-NEXT:  	Stmt_bb30
54; CHECK-NEXT:          Domain :=
55; CHECK-NEXT:              [tmp] -> { Stmt_bb30[] : -8388607 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
56; CHECK-NEXT:          Schedule :=
57; CHECK-NEXT:              [tmp] -> { Stmt_bb30[] -> [7] };
58; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
59; CHECK-NEXT:              [tmp] -> { Stmt_bb30[] -> MemRef_tmp8[] };
60; CHECK-NEXT:  	Stmt_bb33
61; CHECK-NEXT:          Domain :=
62; CHECK-NEXT:              [tmp] -> { Stmt_bb33[] : -4194303 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
63; CHECK-NEXT:          Schedule :=
64; CHECK-NEXT:              [tmp] -> { Stmt_bb33[] -> [8] };
65; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
66; CHECK-NEXT:              [tmp] -> { Stmt_bb33[] -> MemRef_tmp8[] };
67; CHECK-NEXT:  	Stmt_bb36
68; CHECK-NEXT:          Domain :=
69; CHECK-NEXT:              [tmp] -> { Stmt_bb36[] : -2097151 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
70; CHECK-NEXT:          Schedule :=
71; CHECK-NEXT:              [tmp] -> { Stmt_bb36[] -> [9] };
72; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
73; CHECK-NEXT:              [tmp] -> { Stmt_bb36[] -> MemRef_tmp8[] };
74; CHECK-NEXT:  	Stmt_bb39
75; CHECK-NEXT:          Domain :=
76; CHECK-NEXT:              [tmp] -> { Stmt_bb39[] : -1048575 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
77; CHECK-NEXT:          Schedule :=
78; CHECK-NEXT:              [tmp] -> { Stmt_bb39[] -> [10] };
79; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
80; CHECK-NEXT:              [tmp] -> { Stmt_bb39[] -> MemRef_tmp8[] };
81; CHECK-NEXT:  	Stmt_bb42
82; CHECK-NEXT:          Domain :=
83; CHECK-NEXT:              [tmp] -> { Stmt_bb42[] : -524287 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
84; CHECK-NEXT:          Schedule :=
85; CHECK-NEXT:              [tmp] -> { Stmt_bb42[] -> [11] };
86; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
87; CHECK-NEXT:              [tmp] -> { Stmt_bb42[] -> MemRef_tmp8[] };
88; CHECK-NEXT:  	Stmt_bb45
89; CHECK-NEXT:          Domain :=
90; CHECK-NEXT:              [tmp] -> { Stmt_bb45[] : -262143 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
91; CHECK-NEXT:          Schedule :=
92; CHECK-NEXT:              [tmp] -> { Stmt_bb45[] -> [12] };
93; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
94; CHECK-NEXT:              [tmp] -> { Stmt_bb45[] -> MemRef_tmp8[] };
95; CHECK-NEXT:  	Stmt_bb48
96; CHECK-NEXT:          Domain :=
97; CHECK-NEXT:              [tmp] -> { Stmt_bb48[] : -131071 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
98; CHECK-NEXT:          Schedule :=
99; CHECK-NEXT:              [tmp] -> { Stmt_bb48[] -> [13] };
100; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
101; CHECK-NEXT:              [tmp] -> { Stmt_bb48[] -> MemRef_tmp8[] };
102; CHECK-NEXT:  	Stmt_bb51
103; CHECK-NEXT:          Domain :=
104; CHECK-NEXT:              [tmp] -> { Stmt_bb51[] : -65535 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
105; CHECK-NEXT:          Schedule :=
106; CHECK-NEXT:              [tmp] -> { Stmt_bb51[] -> [14] };
107; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
108; CHECK-NEXT:              [tmp] -> { Stmt_bb51[] -> MemRef_tmp8[] };
109; CHECK-NEXT:  	Stmt_bb54
110; CHECK-NEXT:          Domain :=
111; CHECK-NEXT:              [tmp] -> { Stmt_bb54[] : -32767 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
112; CHECK-NEXT:          Schedule :=
113; CHECK-NEXT:              [tmp] -> { Stmt_bb54[] -> [15] };
114; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
115; CHECK-NEXT:              [tmp] -> { Stmt_bb54[] -> MemRef_tmp8[] };
116; CHECK-NEXT:  	Stmt_bb57
117; CHECK-NEXT:          Domain :=
118; CHECK-NEXT:              [tmp] -> { Stmt_bb57[] : -16383 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
119; CHECK-NEXT:          Schedule :=
120; CHECK-NEXT:              [tmp] -> { Stmt_bb57[] -> [16] };
121; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
122; CHECK-NEXT:              [tmp] -> { Stmt_bb57[] -> MemRef_tmp8[] };
123; CHECK-NEXT:  	Stmt_bb60
124; CHECK-NEXT:          Domain :=
125; CHECK-NEXT:              [tmp] -> { Stmt_bb60[] : -8191 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
126; CHECK-NEXT:          Schedule :=
127; CHECK-NEXT:              [tmp] -> { Stmt_bb60[] -> [17] };
128; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
129; CHECK-NEXT:              [tmp] -> { Stmt_bb60[] -> MemRef_tmp8[] };
130; CHECK-NEXT:  	Stmt_bb63
131; CHECK-NEXT:          Domain :=
132; CHECK-NEXT:              [tmp] -> { Stmt_bb63[] : -4095 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
133; CHECK-NEXT:          Schedule :=
134; CHECK-NEXT:              [tmp] -> { Stmt_bb63[] -> [18] };
135; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
136; CHECK-NEXT:              [tmp] -> { Stmt_bb63[] -> MemRef_tmp8[] };
137; CHECK-NEXT:  	Stmt_bb66
138; CHECK-NEXT:          Domain :=
139; CHECK-NEXT:              [tmp] -> { Stmt_bb66[] : -2047 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
140; CHECK-NEXT:          Schedule :=
141; CHECK-NEXT:              [tmp] -> { Stmt_bb66[] -> [19] };
142; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
143; CHECK-NEXT:              [tmp] -> { Stmt_bb66[] -> MemRef_tmp8[] };
144; CHECK-NEXT:  	Stmt_bb69
145; CHECK-NEXT:          Domain :=
146; CHECK-NEXT:              [tmp] -> { Stmt_bb69[] : -1023 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
147; CHECK-NEXT:          Schedule :=
148; CHECK-NEXT:              [tmp] -> { Stmt_bb69[] -> [20] };
149; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
150; CHECK-NEXT:              [tmp] -> { Stmt_bb69[] -> MemRef_tmp8[] };
151; CHECK-NEXT:  	Stmt_bb72
152; CHECK-NEXT:          Domain :=
153; CHECK-NEXT:              [tmp] -> { Stmt_bb72[] : -511 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
154; CHECK-NEXT:          Schedule :=
155; CHECK-NEXT:              [tmp] -> { Stmt_bb72[] -> [21] };
156; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
157; CHECK-NEXT:              [tmp] -> { Stmt_bb72[] -> MemRef_tmp8[] };
158; CHECK-NEXT:  	Stmt_bb75
159; CHECK-NEXT:          Domain :=
160; CHECK-NEXT:              [tmp] -> { Stmt_bb75[] : -255 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
161; CHECK-NEXT:          Schedule :=
162; CHECK-NEXT:              [tmp] -> { Stmt_bb75[] -> [22] };
163; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
164; CHECK-NEXT:              [tmp] -> { Stmt_bb75[] -> MemRef_tmp8[] };
165; CHECK-NEXT:  	Stmt_bb78
166; CHECK-NEXT:          Domain :=
167; CHECK-NEXT:              [tmp] -> { Stmt_bb78[] : -127 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
168; CHECK-NEXT:          Schedule :=
169; CHECK-NEXT:              [tmp] -> { Stmt_bb78[] -> [23] };
170; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
171; CHECK-NEXT:              [tmp] -> { Stmt_bb78[] -> MemRef_tmp8[] };
172; CHECK-NEXT:  	Stmt_bb81
173; CHECK-NEXT:          Domain :=
174; CHECK-NEXT:              [tmp] -> { Stmt_bb81[] : -63 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
175; CHECK-NEXT:          Schedule :=
176; CHECK-NEXT:              [tmp] -> { Stmt_bb81[] -> [24] };
177; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
178; CHECK-NEXT:              [tmp] -> { Stmt_bb81[] -> MemRef_tmp8[] };
179; CHECK-NEXT:  	Stmt_bb84
180; CHECK-NEXT:          Domain :=
181; CHECK-NEXT:              [tmp] -> { Stmt_bb84[] : -31 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
182; CHECK-NEXT:          Schedule :=
183; CHECK-NEXT:              [tmp] -> { Stmt_bb84[] -> [25] };
184; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
185; CHECK-NEXT:              [tmp] -> { Stmt_bb84[] -> MemRef_tmp8[] };
186; CHECK-NEXT:  	Stmt_bb87
187; CHECK-NEXT:          Domain :=
188; CHECK-NEXT:              [tmp] -> { Stmt_bb87[] : -15 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
189; CHECK-NEXT:          Schedule :=
190; CHECK-NEXT:              [tmp] -> { Stmt_bb87[] -> [26] };
191; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
192; CHECK-NEXT:              [tmp] -> { Stmt_bb87[] -> MemRef_tmp8[] };
193; CHECK-NEXT:  	Stmt_bb90
194; CHECK-NEXT:          Domain :=
195; CHECK-NEXT:              [tmp] -> { Stmt_bb90[] : -7 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
196; CHECK-NEXT:          Schedule :=
197; CHECK-NEXT:              [tmp] -> { Stmt_bb90[] -> [27] };
198; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
199; CHECK-NEXT:              [tmp] -> { Stmt_bb90[] -> MemRef_tmp8[] };
200; CHECK-NEXT:  	Stmt_bb93
201; CHECK-NEXT:          Domain :=
202; CHECK-NEXT:              [tmp] -> { Stmt_bb93[] : -3 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
203; CHECK-NEXT:          Schedule :=
204; CHECK-NEXT:              [tmp] -> { Stmt_bb93[] -> [28] };
205; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
206; CHECK-NEXT:              [tmp] -> { Stmt_bb93[] -> MemRef_tmp8[] };
207; CHECK-NEXT:  	Stmt_bb96
208; CHECK-NEXT:          Domain :=
209; CHECK-NEXT:              [tmp] -> { Stmt_bb96[] : -1 + tmp <= 1073741824*floor((536870912 + tmp)/1073741824) <= tmp };
210; CHECK-NEXT:          Schedule :=
211; CHECK-NEXT:              [tmp] -> { Stmt_bb96[] -> [29] };
212; CHECK-NEXT:          MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]
213; CHECK-NEXT:              [tmp] -> { Stmt_bb96[] -> MemRef_tmp8[] };
214; CHECK-NEXT:  }
215
216target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
217target triple = "thumbv7--linux-android"
218
219define i32 @f(i32* nocapture readonly %arg5) {
220bb:
221  %tmp = load i32, i32* %arg5, align 4
222  %tmp6 = icmp eq i32 %tmp, 0
223  br i1 %tmp6, label %bb9, label %bb7
224
225bb7:                                              ; preds = %bb96, %bb93, %bb90, %bb87, %bb84, %bb81, %bb78, %bb75, %bb72, %bb69, %bb66, %bb63, %bb60, %bb57, %bb54, %bb51, %bb48, %bb45, %bb42, %bb39, %bb36, %bb33, %bb30, %bb27, %bb24, %bb21, %bb18, %bb15, %bb12, %bb9, %bb
226  %tmp8 = phi i32 [ 30, %bb93 ], [ 29, %bb90 ], [ 28, %bb87 ], [ 27, %bb84 ], [ 26, %bb81 ], [ 25, %bb78 ], [ 24, %bb75 ], [ 23, %bb72 ], [ 22, %bb69 ], [ 21, %bb66 ], [ 20, %bb63 ], [ 19, %bb60 ], [ 18, %bb57 ], [ 17, %bb54 ], [ 16, %bb51 ], [ 15, %bb48 ], [ 14, %bb45 ], [ 13, %bb42 ], [ 12, %bb39 ], [ 11, %bb36 ], [ 10, %bb33 ], [ 9, %bb30 ], [ 8, %bb27 ], [ 7, %bb24 ], [ 6, %bb21 ], [ 5, %bb18 ], [ 4, %bb15 ], [ 3, %bb12 ], [ 2, %bb9 ], [ 1, %bb ], [ %tmp98, %bb96 ]
227  ret i32 %tmp8
228
229bb9:                                              ; preds = %bb
230  %tmp10 = and i32 %tmp, 536870912
231  %tmp11 = icmp eq i32 %tmp10, 0
232  br i1 %tmp11, label %bb12, label %bb7
233
234bb12:                                             ; preds = %bb9
235  %tmp13 = and i32 %tmp, 268435456
236  %tmp14 = icmp eq i32 %tmp13, 0
237  br i1 %tmp14, label %bb15, label %bb7
238
239bb15:                                             ; preds = %bb12
240  %tmp16 = and i32 %tmp, 134217728
241  %tmp17 = icmp eq i32 %tmp16, 0
242  br i1 %tmp17, label %bb18, label %bb7
243
244bb18:                                             ; preds = %bb15
245  %tmp19 = and i32 %tmp, 67108864
246  %tmp20 = icmp eq i32 %tmp19, 0
247  br i1 %tmp20, label %bb21, label %bb7
248
249bb21:                                             ; preds = %bb18
250  %tmp22 = and i32 %tmp, 33554432
251  %tmp23 = icmp eq i32 %tmp22, 0
252  br i1 %tmp23, label %bb24, label %bb7
253
254bb24:                                             ; preds = %bb21
255  %tmp25 = and i32 %tmp, 16777216
256  %tmp26 = icmp eq i32 %tmp25, 0
257  br i1 %tmp26, label %bb27, label %bb7
258
259bb27:                                             ; preds = %bb24
260  %tmp28 = and i32 %tmp, 8388608
261  %tmp29 = icmp eq i32 %tmp28, 0
262  br i1 %tmp29, label %bb30, label %bb7
263
264bb30:                                             ; preds = %bb27
265  %tmp31 = and i32 %tmp, 4194304
266  %tmp32 = icmp eq i32 %tmp31, 0
267  br i1 %tmp32, label %bb33, label %bb7
268
269bb33:                                             ; preds = %bb30
270  %tmp34 = and i32 %tmp, 2097152
271  %tmp35 = icmp eq i32 %tmp34, 0
272  br i1 %tmp35, label %bb36, label %bb7
273
274bb36:                                             ; preds = %bb33
275  %tmp37 = and i32 %tmp, 1048576
276  %tmp38 = icmp eq i32 %tmp37, 0
277  br i1 %tmp38, label %bb39, label %bb7
278
279bb39:                                             ; preds = %bb36
280  %tmp40 = and i32 %tmp, 524288
281  %tmp41 = icmp eq i32 %tmp40, 0
282  br i1 %tmp41, label %bb42, label %bb7
283
284bb42:                                             ; preds = %bb39
285  %tmp43 = and i32 %tmp, 262144
286  %tmp44 = icmp eq i32 %tmp43, 0
287  br i1 %tmp44, label %bb45, label %bb7
288
289bb45:                                             ; preds = %bb42
290  %tmp46 = and i32 %tmp, 131072
291  %tmp47 = icmp eq i32 %tmp46, 0
292  br i1 %tmp47, label %bb48, label %bb7
293
294bb48:                                             ; preds = %bb45
295  %tmp49 = and i32 %tmp, 65536
296  %tmp50 = icmp eq i32 %tmp49, 0
297  br i1 %tmp50, label %bb51, label %bb7
298
299bb51:                                             ; preds = %bb48
300  %tmp52 = and i32 %tmp, 32768
301  %tmp53 = icmp eq i32 %tmp52, 0
302  br i1 %tmp53, label %bb54, label %bb7
303
304bb54:                                             ; preds = %bb51
305  %tmp55 = and i32 %tmp, 16384
306  %tmp56 = icmp eq i32 %tmp55, 0
307  br i1 %tmp56, label %bb57, label %bb7
308
309bb57:                                             ; preds = %bb54
310  %tmp58 = and i32 %tmp, 8192
311  %tmp59 = icmp eq i32 %tmp58, 0
312  br i1 %tmp59, label %bb60, label %bb7
313
314bb60:                                             ; preds = %bb57
315  %tmp61 = and i32 %tmp, 4096
316  %tmp62 = icmp eq i32 %tmp61, 0
317  br i1 %tmp62, label %bb63, label %bb7
318
319bb63:                                             ; preds = %bb60
320  %tmp64 = and i32 %tmp, 2048
321  %tmp65 = icmp eq i32 %tmp64, 0
322  br i1 %tmp65, label %bb66, label %bb7
323
324bb66:                                             ; preds = %bb63
325  %tmp67 = and i32 %tmp, 1024
326  %tmp68 = icmp eq i32 %tmp67, 0
327  br i1 %tmp68, label %bb69, label %bb7
328
329bb69:                                             ; preds = %bb66
330  %tmp70 = and i32 %tmp, 512
331  %tmp71 = icmp eq i32 %tmp70, 0
332  br i1 %tmp71, label %bb72, label %bb7
333
334bb72:                                             ; preds = %bb69
335  %tmp73 = and i32 %tmp, 256
336  %tmp74 = icmp eq i32 %tmp73, 0
337  br i1 %tmp74, label %bb75, label %bb7
338
339bb75:                                             ; preds = %bb72
340  %tmp76 = and i32 %tmp, 128
341  %tmp77 = icmp eq i32 %tmp76, 0
342  br i1 %tmp77, label %bb78, label %bb7
343
344bb78:                                             ; preds = %bb75
345  %tmp79 = and i32 %tmp, 64
346  %tmp80 = icmp eq i32 %tmp79, 0
347  br i1 %tmp80, label %bb81, label %bb7
348
349bb81:                                             ; preds = %bb78
350  %tmp82 = and i32 %tmp, 32
351  %tmp83 = icmp eq i32 %tmp82, 0
352  br i1 %tmp83, label %bb84, label %bb7
353
354bb84:                                             ; preds = %bb81
355  %tmp85 = and i32 %tmp, 16
356  %tmp86 = icmp eq i32 %tmp85, 0
357  br i1 %tmp86, label %bb87, label %bb7
358
359bb87:                                             ; preds = %bb84
360  %tmp88 = and i32 %tmp, 8
361  %tmp89 = icmp eq i32 %tmp88, 0
362  br i1 %tmp89, label %bb90, label %bb7
363
364bb90:                                             ; preds = %bb87
365  %tmp91 = and i32 %tmp, 4
366  %tmp92 = icmp eq i32 %tmp91, 0
367  br i1 %tmp92, label %bb93, label %bb7
368
369bb93:                                             ; preds = %bb90
370  %tmp94 = and i32 %tmp, 2
371  %tmp95 = icmp eq i32 %tmp94, 0
372  br i1 %tmp95, label %bb96, label %bb7
373
374bb96:                                             ; preds = %bb93
375  %tmp97 = and i32 %tmp, 1
376  %tmp98 = sub nsw i32 32, %tmp97
377  br label %bb7
378}
379