[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / MSP430 / BranchSelector.ll
bloba36da626234a22471792a5eafe77e89f93b5d144
1 ; RUN: llc < %s -march=msp430 | FileCheck %s
2 target datalayout = "e-m:e-p:16:16-i32:16:32-a:16-n8:16"
3 target triple = "msp430"
5 @reg = common global i16 0, align 2
7 define void @WriteBurstPATable(i16 %count) #0 {
8 entry:
9   br label %while.cond
11 while.cond:
12   store volatile i16 11, i16* @reg, align 2
13   store volatile i16 13, i16* @reg, align 2
14   store volatile i16 17, i16* @reg, align 2
15   store volatile i16 11, i16* @reg, align 2
16   store volatile i16 13, i16* @reg, align 2
17   store volatile i16 17, i16* @reg, align 2
18   store volatile i16 11, i16* @reg, align 2
19   store volatile i16 13, i16* @reg, align 2
20   store volatile i16 17, i16* @reg, align 2
21   store volatile i16 11, i16* @reg, align 2
22   store volatile i16 13, i16* @reg, align 2
23   store volatile i16 17, i16* @reg, align 2
24   store volatile i16 11, i16* @reg, align 2
25   store volatile i16 13, i16* @reg, align 2
26   store volatile i16 17, i16* @reg, align 2
27   store volatile i16 11, i16* @reg, align 2
28   store volatile i16 13, i16* @reg, align 2
29   store volatile i16 17, i16* @reg, align 2
30   store volatile i16 11, i16* @reg, align 2
31   store volatile i16 13, i16* @reg, align 2
32   store volatile i16 17, i16* @reg, align 2
33   store volatile i16 11, i16* @reg, align 2
34   store volatile i16 13, i16* @reg, align 2
35   store volatile i16 17, i16* @reg, align 2
36   store volatile i16 11, i16* @reg, align 2
37   store volatile i16 13, i16* @reg, align 2
38   store volatile i16 17, i16* @reg, align 2
39   store volatile i16 11, i16* @reg, align 2
40   store volatile i16 13, i16* @reg, align 2
41   store volatile i16 17, i16* @reg, align 2
42   store volatile i16 11, i16* @reg, align 2
43   store volatile i16 13, i16* @reg, align 2
44   store volatile i16 17, i16* @reg, align 2
45   store volatile i16 11, i16* @reg, align 2
46   store volatile i16 13, i16* @reg, align 2
47   store volatile i16 17, i16* @reg, align 2
48   store volatile i16 11, i16* @reg, align 2
49   store volatile i16 13, i16* @reg, align 2
50   store volatile i16 17, i16* @reg, align 2
51   store volatile i16 11, i16* @reg, align 2
52   store volatile i16 13, i16* @reg, align 2
53   store volatile i16 17, i16* @reg, align 2
54   store volatile i16 11, i16* @reg, align 2
55   store volatile i16 13, i16* @reg, align 2
56   store volatile i16 17, i16* @reg, align 2
57   store volatile i16 11, i16* @reg, align 2
58   store volatile i16 13, i16* @reg, align 2
59   store volatile i16 17, i16* @reg, align 2
60   store volatile i16 11, i16* @reg, align 2
61   store volatile i16 13, i16* @reg, align 2
62   store volatile i16 17, i16* @reg, align 2
63   store volatile i16 11, i16* @reg, align 2
64   store volatile i16 13, i16* @reg, align 2
65   store volatile i16 17, i16* @reg, align 2
66   store volatile i16 11, i16* @reg, align 2
67   store volatile i16 13, i16* @reg, align 2
68   store volatile i16 17, i16* @reg, align 2
69   store volatile i16 11, i16* @reg, align 2
70   store volatile i16 13, i16* @reg, align 2
71   store volatile i16 17, i16* @reg, align 2
72   store volatile i16 11, i16* @reg, align 2
73   store volatile i16 13, i16* @reg, align 2
74   store volatile i16 17, i16* @reg, align 2
75   store volatile i16 11, i16* @reg, align 2
76   store volatile i16 13, i16* @reg, align 2
77   store volatile i16 17, i16* @reg, align 2
78   store volatile i16 11, i16* @reg, align 2
79   store volatile i16 13, i16* @reg, align 2
80   store volatile i16 17, i16* @reg, align 2
81   store volatile i16 11, i16* @reg, align 2
82   store volatile i16 13, i16* @reg, align 2
83   store volatile i16 17, i16* @reg, align 2
84   store volatile i16 11, i16* @reg, align 2
85   store volatile i16 13, i16* @reg, align 2
86   store volatile i16 17, i16* @reg, align 2
87   store volatile i16 11, i16* @reg, align 2
88   store volatile i16 13, i16* @reg, align 2
89   store volatile i16 17, i16* @reg, align 2
90   store volatile i16 11, i16* @reg, align 2
91   store volatile i16 13, i16* @reg, align 2
92   store volatile i16 17, i16* @reg, align 2
93   store volatile i16 11, i16* @reg, align 2
94   store volatile i16 13, i16* @reg, align 2
95   store volatile i16 17, i16* @reg, align 2
96   store volatile i16 11, i16* @reg, align 2
97   store volatile i16 13, i16* @reg, align 2
98   store volatile i16 17, i16* @reg, align 2
99   store volatile i16 11, i16* @reg, align 2
100   store volatile i16 13, i16* @reg, align 2
101   store volatile i16 17, i16* @reg, align 2
102   store volatile i16 11, i16* @reg, align 2
103   store volatile i16 13, i16* @reg, align 2
104   store volatile i16 17, i16* @reg, align 2
105   store volatile i16 11, i16* @reg, align 2
106   store volatile i16 13, i16* @reg, align 2
107   store volatile i16 17, i16* @reg, align 2
108   store volatile i16 11, i16* @reg, align 2
109   store volatile i16 13, i16* @reg, align 2
110   store volatile i16 17, i16* @reg, align 2
111   store volatile i16 11, i16* @reg, align 2
112   store volatile i16 13, i16* @reg, align 2
113   store volatile i16 17, i16* @reg, align 2
114   store volatile i16 11, i16* @reg, align 2
115   store volatile i16 13, i16* @reg, align 2
116   store volatile i16 17, i16* @reg, align 2
117   store volatile i16 11, i16* @reg, align 2
118   store volatile i16 13, i16* @reg, align 2
119   store volatile i16 17, i16* @reg, align 2
120   store volatile i16 11, i16* @reg, align 2
121   store volatile i16 13, i16* @reg, align 2
122   store volatile i16 17, i16* @reg, align 2
123   store volatile i16 11, i16* @reg, align 2
124   store volatile i16 13, i16* @reg, align 2
125   store volatile i16 17, i16* @reg, align 2
126   store volatile i16 11, i16* @reg, align 2
127   store volatile i16 13, i16* @reg, align 2
128   store volatile i16 17, i16* @reg, align 2
129   store volatile i16 11, i16* @reg, align 2
130   store volatile i16 13, i16* @reg, align 2
131   store volatile i16 17, i16* @reg, align 2
132   store volatile i16 11, i16* @reg, align 2
133   store volatile i16 13, i16* @reg, align 2
134   store volatile i16 17, i16* @reg, align 2
135   store volatile i16 11, i16* @reg, align 2
136   store volatile i16 13, i16* @reg, align 2
137   store volatile i16 17, i16* @reg, align 2
138   store volatile i16 11, i16* @reg, align 2
139   store volatile i16 13, i16* @reg, align 2
140   store volatile i16 17, i16* @reg, align 2
141   store volatile i16 11, i16* @reg, align 2
142   store volatile i16 13, i16* @reg, align 2
143   store volatile i16 17, i16* @reg, align 2
144   store volatile i16 11, i16* @reg, align 2
145   store volatile i16 13, i16* @reg, align 2
146   store volatile i16 17, i16* @reg, align 2
147   store volatile i16 11, i16* @reg, align 2
148   store volatile i16 13, i16* @reg, align 2
149   store volatile i16 17, i16* @reg, align 2
150   store volatile i16 11, i16* @reg, align 2
151   store volatile i16 13, i16* @reg, align 2
152   store volatile i16 17, i16* @reg, align 2
153   store volatile i16 11, i16* @reg, align 2
154   store volatile i16 13, i16* @reg, align 2
155   store volatile i16 17, i16* @reg, align 2
156   store volatile i16 11, i16* @reg, align 2
157   store volatile i16 13, i16* @reg, align 2
158   store volatile i16 17, i16* @reg, align 2
159   store volatile i16 11, i16* @reg, align 2
160   store volatile i16 13, i16* @reg, align 2
161   store volatile i16 17, i16* @reg, align 2
162   store volatile i16 11, i16* @reg, align 2
163   store volatile i16 13, i16* @reg, align 2
164   store volatile i16 17, i16* @reg, align 2
165   store volatile i16 11, i16* @reg, align 2
166   store volatile i16 13, i16* @reg, align 2
167   store volatile i16 17, i16* @reg, align 2
168   store volatile i16 11, i16* @reg, align 2
169   store volatile i16 13, i16* @reg, align 2
170   store volatile i16 17, i16* @reg, align 2
171   store volatile i16 11, i16* @reg, align 2
172   store volatile i16 13, i16* @reg, align 2
173   store volatile i16 17, i16* @reg, align 2
174   store volatile i16 11, i16* @reg, align 2
175   store volatile i16 13, i16* @reg, align 2
176   store volatile i16 17, i16* @reg, align 2
177   store volatile i16 11, i16* @reg, align 2
178   store volatile i16 13, i16* @reg, align 2
179   store volatile i16 17, i16* @reg, align 2
180   store volatile i16 11, i16* @reg, align 2
181   store volatile i16 13, i16* @reg, align 2
182   store volatile i16 17, i16* @reg, align 2
183   store volatile i16 11, i16* @reg, align 2
184   store volatile i16 13, i16* @reg, align 2
185   store volatile i16 17, i16* @reg, align 2
186   store volatile i16 11, i16* @reg, align 2
187   %v0 = load volatile i16, i16* @reg, align 2
188   %lnot = icmp eq i16 %v0, 0
190 ; This BB should be split and all branches should be expanded.
191 ; CHECK-LABEL: .LBB0_1:
192 ; CHECK: jne    .LBB0_2
193 ; CHECK: br     #.LBB0_1
194 ; CHECK: .LBB0_2:
195 ; CHECK: br     #.LBB0_4
196 ; CHECK: .LBB0_3:
198   br i1 %lnot, label %while.cond, label %while.end
200 while.end:
201   %i.0.i.0.1822 = load volatile i16, i16* @reg, align 1
202   %cmp23 = icmp ult i16 %i.0.i.0.1822, %count
203   br i1 %cmp23, label %for.body, label %for.end
205 for.body:
206   br label %while.cond6
208 while.cond6:
209   %0 = load volatile i16, i16* @reg, align 2
210   store volatile i16 13, i16* @reg, align 2
211   store volatile i16 19, i16* @reg, align 2
212   store volatile i16 17, i16* @reg, align 2
213   store volatile i16 13, i16* @reg, align 2
214   store volatile i16 19, i16* @reg, align 2
215   store volatile i16 17, i16* @reg, align 2
216   store volatile i16 13, i16* @reg, align 2
217   store volatile i16 19, i16* @reg, align 2
218   store volatile i16 17, i16* @reg, align 2
219   store volatile i16 13, i16* @reg, align 2
220   store volatile i16 19, i16* @reg, align 2
221   store volatile i16 17, i16* @reg, align 2
222   store volatile i16 13, i16* @reg, align 2
223   store volatile i16 19, i16* @reg, align 2
224   store volatile i16 17, i16* @reg, align 2
225   store volatile i16 13, i16* @reg, align 2
226   store volatile i16 19, i16* @reg, align 2
227   store volatile i16 17, i16* @reg, align 2
228   store volatile i16 13, i16* @reg, align 2
229   store volatile i16 19, i16* @reg, align 2
230   store volatile i16 17, i16* @reg, align 2
231   store volatile i16 13, i16* @reg, align 2
232   store volatile i16 19, i16* @reg, align 2
233   store volatile i16 17, i16* @reg, align 2
234   store volatile i16 13, i16* @reg, align 2
235   store volatile i16 19, i16* @reg, align 2
236   store volatile i16 17, i16* @reg, align 2
237   store volatile i16 13, i16* @reg, align 2
238   store volatile i16 19, i16* @reg, align 2
239   store volatile i16 17, i16* @reg, align 2
240   store volatile i16 13, i16* @reg, align 2
241   store volatile i16 19, i16* @reg, align 2
242   store volatile i16 17, i16* @reg, align 2
243   store volatile i16 13, i16* @reg, align 2
244   store volatile i16 19, i16* @reg, align 2
245   store volatile i16 17, i16* @reg, align 2
246   store volatile i16 13, i16* @reg, align 2
247   store volatile i16 19, i16* @reg, align 2
248   store volatile i16 17, i16* @reg, align 2
249   store volatile i16 13, i16* @reg, align 2
250   store volatile i16 19, i16* @reg, align 2
251   store volatile i16 17, i16* @reg, align 2
252   store volatile i16 13, i16* @reg, align 2
253   store volatile i16 19, i16* @reg, align 2
254   store volatile i16 17, i16* @reg, align 2
255   store volatile i16 13, i16* @reg, align 2
256   store volatile i16 19, i16* @reg, align 2
257   store volatile i16 17, i16* @reg, align 2
258   store volatile i16 13, i16* @reg, align 2
259   store volatile i16 19, i16* @reg, align 2
260   store volatile i16 17, i16* @reg, align 2
261   store volatile i16 13, i16* @reg, align 2
262   store volatile i16 19, i16* @reg, align 2
263   store volatile i16 17, i16* @reg, align 2
264   store volatile i16 13, i16* @reg, align 2
265   store volatile i16 19, i16* @reg, align 2
266   store volatile i16 17, i16* @reg, align 2
267   store volatile i16 13, i16* @reg, align 2
268   store volatile i16 19, i16* @reg, align 2
269   store volatile i16 17, i16* @reg, align 2
270   store volatile i16 13, i16* @reg, align 2
271   store volatile i16 19, i16* @reg, align 2
272   store volatile i16 17, i16* @reg, align 2
273   store volatile i16 13, i16* @reg, align 2
274   store volatile i16 19, i16* @reg, align 2
275   store volatile i16 17, i16* @reg, align 2
276   store volatile i16 13, i16* @reg, align 2
277   store volatile i16 19, i16* @reg, align 2
278   store volatile i16 17, i16* @reg, align 2
279   store volatile i16 13, i16* @reg, align 2
280   store volatile i16 19, i16* @reg, align 2
281   store volatile i16 17, i16* @reg, align 2
282   store volatile i16 13, i16* @reg, align 2
283   store volatile i16 19, i16* @reg, align 2
284   store volatile i16 17, i16* @reg, align 2
285   store volatile i16 13, i16* @reg, align 2
286   store volatile i16 19, i16* @reg, align 2
287   store volatile i16 17, i16* @reg, align 2
288   store volatile i16 13, i16* @reg, align 2
289   store volatile i16 19, i16* @reg, align 2
290   store volatile i16 17, i16* @reg, align 2
291   store volatile i16 13, i16* @reg, align 2
292   store volatile i16 19, i16* @reg, align 2
293   store volatile i16 17, i16* @reg, align 2
294   store volatile i16 13, i16* @reg, align 2
295   store volatile i16 19, i16* @reg, align 2
296   store volatile i16 17, i16* @reg, align 2
297   store volatile i16 13, i16* @reg, align 2
298   store volatile i16 19, i16* @reg, align 2
299   store volatile i16 17, i16* @reg, align 2
300   store volatile i16 13, i16* @reg, align 2
301   store volatile i16 19, i16* @reg, align 2
302   store volatile i16 17, i16* @reg, align 2
303   store volatile i16 13, i16* @reg, align 2
304   store volatile i16 19, i16* @reg, align 2
305   store volatile i16 17, i16* @reg, align 2
306   store volatile i16 13, i16* @reg, align 2
307   store volatile i16 19, i16* @reg, align 2
308   store volatile i16 17, i16* @reg, align 2
309   store volatile i16 13, i16* @reg, align 2
310   store volatile i16 19, i16* @reg, align 2
311   store volatile i16 17, i16* @reg, align 2
312   store volatile i16 13, i16* @reg, align 2
313   store volatile i16 19, i16* @reg, align 2
314   store volatile i16 17, i16* @reg, align 2
315   store volatile i16 13, i16* @reg, align 2
316   store volatile i16 19, i16* @reg, align 2
317   store volatile i16 17, i16* @reg, align 2
318   store volatile i16 13, i16* @reg, align 2
319   store volatile i16 19, i16* @reg, align 2
320   store volatile i16 17, i16* @reg, align 2
321   store volatile i16 13, i16* @reg, align 2
322   store volatile i16 19, i16* @reg, align 2
323   store volatile i16 17, i16* @reg, align 2
324   store volatile i16 13, i16* @reg, align 2
325   store volatile i16 19, i16* @reg, align 2
326   store volatile i16 17, i16* @reg, align 2
327   store volatile i16 13, i16* @reg, align 2
328   store volatile i16 19, i16* @reg, align 2
329   store volatile i16 17, i16* @reg, align 2
330   store volatile i16 13, i16* @reg, align 2
331   store volatile i16 19, i16* @reg, align 2
332   store volatile i16 17, i16* @reg, align 2
333   store volatile i16 13, i16* @reg, align 2
334   store volatile i16 19, i16* @reg, align 2
335   store volatile i16 17, i16* @reg, align 2
336   store volatile i16 13, i16* @reg, align 2
337   store volatile i16 19, i16* @reg, align 2
338   store volatile i16 17, i16* @reg, align 2
339   store volatile i16 13, i16* @reg, align 2
340   store volatile i16 19, i16* @reg, align 2
341   store volatile i16 17, i16* @reg, align 2
342   store volatile i16 13, i16* @reg, align 2
343   store volatile i16 19, i16* @reg, align 2
344   store volatile i16 17, i16* @reg, align 2
345   store volatile i16 13, i16* @reg, align 2
346   store volatile i16 19, i16* @reg, align 2
347   store volatile i16 17, i16* @reg, align 2
348   store volatile i16 13, i16* @reg, align 2
349   store volatile i16 19, i16* @reg, align 2
350   store volatile i16 17, i16* @reg, align 2
351   store volatile i16 13, i16* @reg, align 2
352   store volatile i16 19, i16* @reg, align 2
353   store volatile i16 17, i16* @reg, align 2
354   store volatile i16 13, i16* @reg, align 2
355   store volatile i16 19, i16* @reg, align 2
356   store volatile i16 17, i16* @reg, align 2
357   store volatile i16 13, i16* @reg, align 2
358   store volatile i16 19, i16* @reg, align 2
359   store volatile i16 17, i16* @reg, align 2
360   store volatile i16 13, i16* @reg, align 2
361   store volatile i16 19, i16* @reg, align 2
362   store volatile i16 17, i16* @reg, align 2
363   store volatile i16 13, i16* @reg, align 2
364   store volatile i16 19, i16* @reg, align 2
365   store volatile i16 17, i16* @reg, align 2
366   store volatile i16 13, i16* @reg, align 2
367   store volatile i16 19, i16* @reg, align 2
368   store volatile i16 17, i16* @reg, align 2
369   store volatile i16 13, i16* @reg, align 2
370   store volatile i16 19, i16* @reg, align 2
371   store volatile i16 17, i16* @reg, align 2
372   store volatile i16 13, i16* @reg, align 2
373   store volatile i16 19, i16* @reg, align 2
374   store volatile i16 17, i16* @reg, align 2
375   store volatile i16 13, i16* @reg, align 2
376   store volatile i16 19, i16* @reg, align 2
377   store volatile i16 17, i16* @reg, align 2
378   store volatile i16 13, i16* @reg, align 2
379   store volatile i16 19, i16* @reg, align 2
380   store volatile i16 17, i16* @reg, align 2
381   store volatile i16 13, i16* @reg, align 2
382   store volatile i16 19, i16* @reg, align 2
383   store volatile i16 17, i16* @reg, align 2
384   store volatile i16 13, i16* @reg, align 2
385   br label %for.inc
387 for.inc:
388   %1 = load volatile i16, i16* @reg, align 2
389   %cmp = icmp ult i16 %1, %count
391 ; This branch should be expanded.
392 ; CHECK-LABEL: .LBB0_4:
393 ; CHECK: jhs    .LBB0_5
394 ; CHECK: br     #.LBB0_3
395 ; CHECK: .LBB0_5:
397   br i1 %cmp, label %for.body, label %for.end
399 for.end:
400   ret void
403 define void @WriteSinglePATable() #0 {
404 entry:
405   br label %begin
406 begin:
407   store volatile i16 11, i16* @reg, align 2
408   store volatile i16 13, i16* @reg, align 2
409   store volatile i16 17, i16* @reg, align 2
410   store volatile i16 11, i16* @reg, align 2
411   store volatile i16 13, i16* @reg, align 2
412   store volatile i16 17, i16* @reg, align 2
413   store volatile i16 11, i16* @reg, align 2
414   store volatile i16 13, i16* @reg, align 2
415   store volatile i16 17, i16* @reg, align 2
416   store volatile i16 11, i16* @reg, align 2
417   store volatile i16 13, i16* @reg, align 2
418   store volatile i16 17, i16* @reg, align 2
419   store volatile i16 11, i16* @reg, align 2
420   store volatile i16 13, i16* @reg, align 2
421   store volatile i16 17, i16* @reg, align 2
422   store volatile i16 11, i16* @reg, align 2
423   store volatile i16 13, i16* @reg, align 2
424   store volatile i16 17, i16* @reg, align 2
425   store volatile i16 11, i16* @reg, align 2
426   store volatile i16 13, i16* @reg, align 2
427   store volatile i16 17, i16* @reg, align 2
428   store volatile i16 11, i16* @reg, align 2
429   store volatile i16 13, i16* @reg, align 2
430   store volatile i16 17, i16* @reg, align 2
431   store volatile i16 11, i16* @reg, align 2
432   store volatile i16 13, i16* @reg, align 2
433   store volatile i16 17, i16* @reg, align 2
434   store volatile i16 11, i16* @reg, align 2
435   store volatile i16 13, i16* @reg, align 2
436   store volatile i16 17, i16* @reg, align 2
437   store volatile i16 11, i16* @reg, align 2
438   store volatile i16 13, i16* @reg, align 2
439   store volatile i16 17, i16* @reg, align 2
440   store volatile i16 11, i16* @reg, align 2
441   store volatile i16 13, i16* @reg, align 2
442   store volatile i16 17, i16* @reg, align 2
443   store volatile i16 11, i16* @reg, align 2
444   store volatile i16 13, i16* @reg, align 2
445   store volatile i16 17, i16* @reg, align 2
446   store volatile i16 11, i16* @reg, align 2
447   store volatile i16 13, i16* @reg, align 2
448   store volatile i16 17, i16* @reg, align 2
449   store volatile i16 11, i16* @reg, align 2
450   store volatile i16 13, i16* @reg, align 2
451   store volatile i16 17, i16* @reg, align 2
452   store volatile i16 11, i16* @reg, align 2
453   store volatile i16 13, i16* @reg, align 2
454   store volatile i16 17, i16* @reg, align 2
455   store volatile i16 11, i16* @reg, align 2
456   store volatile i16 13, i16* @reg, align 2
457   store volatile i16 17, i16* @reg, align 2
458   store volatile i16 11, i16* @reg, align 2
459   store volatile i16 13, i16* @reg, align 2
460   store volatile i16 17, i16* @reg, align 2
461   store volatile i16 11, i16* @reg, align 2
462   store volatile i16 13, i16* @reg, align 2
463   store volatile i16 17, i16* @reg, align 2
464   store volatile i16 11, i16* @reg, align 2
465   store volatile i16 13, i16* @reg, align 2
466   store volatile i16 17, i16* @reg, align 2
467   store volatile i16 11, i16* @reg, align 2
468   store volatile i16 13, i16* @reg, align 2
469   store volatile i16 17, i16* @reg, align 2
470   store volatile i16 11, i16* @reg, align 2
471   store volatile i16 13, i16* @reg, align 2
472   store volatile i16 17, i16* @reg, align 2
473   store volatile i16 11, i16* @reg, align 2
474   store volatile i16 13, i16* @reg, align 2
475   store volatile i16 17, i16* @reg, align 2
476   store volatile i16 11, i16* @reg, align 2
477   store volatile i16 13, i16* @reg, align 2
478   store volatile i16 17, i16* @reg, align 2
479   store volatile i16 11, i16* @reg, align 2
480   store volatile i16 13, i16* @reg, align 2
481   store volatile i16 17, i16* @reg, align 2
482   store volatile i16 11, i16* @reg, align 2
483   store volatile i16 13, i16* @reg, align 2
484   store volatile i16 17, i16* @reg, align 2
485   store volatile i16 11, i16* @reg, align 2
486   store volatile i16 13, i16* @reg, align 2
487   store volatile i16 17, i16* @reg, align 2
488   store volatile i16 11, i16* @reg, align 2
489   store volatile i16 13, i16* @reg, align 2
490   store volatile i16 17, i16* @reg, align 2
491   store volatile i16 11, i16* @reg, align 2
492   store volatile i16 13, i16* @reg, align 2
493   store volatile i16 17, i16* @reg, align 2
494   store volatile i16 11, i16* @reg, align 2
495   store volatile i16 13, i16* @reg, align 2
496   store volatile i16 17, i16* @reg, align 2
497   store volatile i16 11, i16* @reg, align 2
498   store volatile i16 13, i16* @reg, align 2
499   store volatile i16 17, i16* @reg, align 2
500   store volatile i16 11, i16* @reg, align 2
501   store volatile i16 13, i16* @reg, align 2
502   store volatile i16 17, i16* @reg, align 2
503   store volatile i16 11, i16* @reg, align 2
504   store volatile i16 13, i16* @reg, align 2
505   store volatile i16 17, i16* @reg, align 2
506   store volatile i16 11, i16* @reg, align 2
507   store volatile i16 13, i16* @reg, align 2
508   store volatile i16 17, i16* @reg, align 2
509   store volatile i16 11, i16* @reg, align 2
510   store volatile i16 13, i16* @reg, align 2
511   store volatile i16 17, i16* @reg, align 2
512   store volatile i16 11, i16* @reg, align 2
513   store volatile i16 13, i16* @reg, align 2
514   store volatile i16 17, i16* @reg, align 2
515   store volatile i16 11, i16* @reg, align 2
516   store volatile i16 13, i16* @reg, align 2
517   store volatile i16 17, i16* @reg, align 2
518   store volatile i16 11, i16* @reg, align 2
519   store volatile i16 13, i16* @reg, align 2
520   store volatile i16 17, i16* @reg, align 2
521   store volatile i16 11, i16* @reg, align 2
522   store volatile i16 13, i16* @reg, align 2
523   store volatile i16 17, i16* @reg, align 2
524   store volatile i16 11, i16* @reg, align 2
525   store volatile i16 13, i16* @reg, align 2
526   store volatile i16 17, i16* @reg, align 2
527   store volatile i16 11, i16* @reg, align 2
528   store volatile i16 13, i16* @reg, align 2
529   store volatile i16 17, i16* @reg, align 2
530   store volatile i16 11, i16* @reg, align 2
531   store volatile i16 13, i16* @reg, align 2
532   store volatile i16 17, i16* @reg, align 2
533   store volatile i16 11, i16* @reg, align 2
534   store volatile i16 13, i16* @reg, align 2
535   store volatile i16 17, i16* @reg, align 2
536   store volatile i16 11, i16* @reg, align 2
537   store volatile i16 13, i16* @reg, align 2
538   store volatile i16 17, i16* @reg, align 2
539   store volatile i16 11, i16* @reg, align 2
540   store volatile i16 13, i16* @reg, align 2
541   store volatile i16 17, i16* @reg, align 2
542   store volatile i16 11, i16* @reg, align 2
543   store volatile i16 13, i16* @reg, align 2
544   store volatile i16 17, i16* @reg, align 2
545   store volatile i16 11, i16* @reg, align 2
546   store volatile i16 13, i16* @reg, align 2
547   store volatile i16 17, i16* @reg, align 2
548   store volatile i16 11, i16* @reg, align 2
549   store volatile i16 13, i16* @reg, align 2
550   store volatile i16 17, i16* @reg, align 2
551   store volatile i16 11, i16* @reg, align 2
552   store volatile i16 13, i16* @reg, align 2
553   store volatile i16 17, i16* @reg, align 2
554   store volatile i16 11, i16* @reg, align 2
555   store volatile i16 13, i16* @reg, align 2
556   store volatile i16 17, i16* @reg, align 2
557   store volatile i16 11, i16* @reg, align 2
558   store volatile i16 13, i16* @reg, align 2
559   store volatile i16 17, i16* @reg, align 2
560   store volatile i16 11, i16* @reg, align 2
561   store volatile i16 13, i16* @reg, align 2
562   store volatile i16 17, i16* @reg, align 2
563   store volatile i16 11, i16* @reg, align 2
564   store volatile i16 13, i16* @reg, align 2
565   store volatile i16 17, i16* @reg, align 2
566   store volatile i16 11, i16* @reg, align 2
567   store volatile i16 13, i16* @reg, align 2
568   store volatile i16 17, i16* @reg, align 2
569   store volatile i16 11, i16* @reg, align 2
570   store volatile i16 13, i16* @reg, align 2
571   store volatile i16 17, i16* @reg, align 2
572   store volatile i16 11, i16* @reg, align 2
573   store volatile i16 13, i16* @reg, align 2
574   store volatile i16 17, i16* @reg, align 2
575   store volatile i16 11, i16* @reg, align 2
576   %v2 = load volatile i16, i16* @reg, align 2
577   %lnot = icmp eq i16 %v2, 0
579 ; This branch should not be expanded
580 ; CHECK-LABEL: .LBB1_1:
581 ; CHECK: jeq    .LBB1_1
582 ; CHECK: %bb.2:
583 ; CHECK: ret
584   br i1 %lnot, label %begin, label %end
586 end:
587   ret void