xref: /llvm-project/llvm/test/CodeGen/SystemZ/splitMove_undefReg_mverifier.ll (revision a1710eb3cd5823c5d14899112ca3086acbdbe9cb)
1; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 -verify-machineinstrs | FileCheck %s
2;
3; Regression test for a machine verifier complaint discovered with llvm-stress.
4; Test that splitting of a 128 bit store does not result in use of undef phys reg.
5
6define void @autogen_SD29355(ptr, ptr, ptr, i32, i64, i8) {
7; CHECK: .text
8BB:
9  %A4 = alloca double
10  %A3 = alloca float
11  %A2 = alloca i8
12  %A1 = alloca double
13  %A = alloca i64
14  %L = load i8, ptr %0
15  store i8 33, ptr %0
16  %E = extractelement <8 x i1> zeroinitializer, i32 2
17  br label %CF261
18
19CF261:                                            ; preds = %BB
20  %Shuff = shufflevector <2 x i16> zeroinitializer, <2 x i16> zeroinitializer, <2 x i32> <i32 undef, i32 3>
21  %I = insertelement <8 x i8> zeroinitializer, i8 69, i32 3
22  %B = udiv i8 -99, 33
23  %Tr = trunc i64 -1 to i32
24  %Sl = select i1 true, ptr %2, ptr %2
25  %L5 = load i64, ptr %Sl
26  store i64 %L5, ptr %2
27  %E6 = extractelement <4 x i16> zeroinitializer, i32 3
28  %Shuff7 = shufflevector <4 x i16> zeroinitializer, <4 x i16> zeroinitializer, <4 x i32> <i32 6, i32 0, i32 2, i32 4>
29  %I8 = insertelement <4 x i16> %Shuff7, i16 27357, i32 0
30  %B9 = xor <4 x i16> %Shuff7, %Shuff7
31  %Tr10 = trunc i64 %4 to i1
32  br label %CF239
33
34CF239:                                            ; preds = %CF261
35  %Sl11 = select i1 %Tr10, i16 -1, i16 27357
36  %L12 = load i8, ptr %0
37  store i64 %L5, ptr %A
38  %E13 = extractelement <8 x i1> zeroinitializer, i32 0
39  br label %CF238
40
41CF238:                                            ; preds = %CF238, %CF239
42  %Shuff14 = shufflevector <4 x i16> zeroinitializer, <4 x i16> zeroinitializer, <4 x i32> <i32 undef, i32 5, i32 7, i32 1>
43  %I15 = insertelement <4 x i16> %Shuff7, i16 -1, i32 1
44  %B16 = fsub double 0xDACBFCEAC1C99968, 0xDACBFCEAC1C99968
45  %Sl17 = select i1 %E, ptr %Sl, ptr %Sl
46  %Cmp = icmp ugt i16 %E6, 27357
47  br i1 %Cmp, label %CF238, label %CF251
48
49CF251:                                            ; preds = %CF238
50  %L18 = load i64, ptr %Sl17
51  store i64 0, ptr %Sl
52  %E19 = extractelement <4 x i16> zeroinitializer, i32 1
53  %Shuff20 = shufflevector <2 x i1> zeroinitializer, <2 x i1> zeroinitializer, <2 x i32> <i32 undef, i32 2>
54  %I21 = insertelement <2 x i1> zeroinitializer, i1 true, i32 0
55  %FC = fptoui float 0x3BE9BD7D80000000 to i1
56  br label %CF237
57
58CF237:                                            ; preds = %CF237, %CF271, %CF268, %CF251
59  %Sl22 = select i1 true, i16 -1, i16 %E6
60  %Cmp23 = icmp sgt i1 %E13, true
61  br i1 %Cmp23, label %CF237, label %CF256
62
63CF256:                                            ; preds = %CF256, %CF237
64  %L24 = load i64, ptr %A
65  store i64 %L5, ptr %Sl17
66  %E25 = extractelement <4 x i16> zeroinitializer, i32 3
67  %Shuff26 = shufflevector <4 x i16> %Shuff7, <4 x i16> zeroinitializer, <4 x i32> <i32 2, i32 4, i32 6, i32 undef>
68  %I27 = insertelement <4 x i16> zeroinitializer, i16 %Sl22, i32 0
69  %B28 = udiv i16 %Sl11, -1
70  %ZE = zext i1 true to i32
71  %Sl29 = select i1 true, i8 -99, i8 33
72  %Cmp30 = fcmp ord double 0xC275146F92573C4, 0x16FB351AF5F9C998
73  br i1 %Cmp30, label %CF256, label %CF271
74
75CF271:                                            ; preds = %CF256
76  %L31 = load i8, ptr %0
77  store i64 %L5, ptr %Sl
78  %E32 = extractelement <4 x i16> zeroinitializer, i32 2
79  %Shuff33 = shufflevector <1 x i32> zeroinitializer, <1 x i32> zeroinitializer, <1 x i32> <i32 1>
80  %I34 = insertelement <4 x i16> zeroinitializer, i16 %Sl11, i32 1
81  %Sl35 = select i1 %FC, ptr %1, ptr %1
82  %Cmp36 = icmp ult <2 x i1> %Shuff20, %Shuff20
83  %L37 = load i64, ptr %Sl
84  store i64 %L5, ptr %Sl
85  %E38 = extractelement <2 x i32> zeroinitializer, i32 0
86  %Shuff39 = shufflevector <4 x i16> zeroinitializer, <4 x i16> %Shuff7, <4 x i32> <i32 undef, i32 1, i32 3, i32 undef>
87  %I40 = insertelement <4 x i16> %Shuff7, i16 %E19, i32 1
88  %ZE41 = zext i1 true to i16
89  %Sl42 = select i1 true, i1 true, i1 true
90  br i1 %Sl42, label %CF237, label %CF246
91
92CF246:                                            ; preds = %CF246, %CF271
93  %Cmp43 = icmp uge i64 %L37, %L18
94  br i1 %Cmp43, label %CF246, label %CF249
95
96CF249:                                            ; preds = %CF249, %CF263, %CF246
97  %L44 = load i64, ptr %A
98  store i64 %L5, ptr %Sl17
99  %E45 = extractelement <4 x i16> %Shuff14, i32 2
100  %Shuff46 = shufflevector <1 x i32> zeroinitializer, <1 x i32> zeroinitializer, <1 x i32> <i32 1>
101  %I47 = insertelement <4 x i16> %Shuff7, i16 %E6, i32 1
102  %Sl48 = select i1 %FC, double 0xDACBFCEAC1C99968, double 0xDACBFCEAC1C99968
103  %Cmp49 = fcmp ult double 0x9E8F85AE4F8D6C2C, 0x5A7FED9E637D2C1C
104  br i1 %Cmp49, label %CF249, label %CF263
105
106CF263:                                            ; preds = %CF249
107  %L50 = load i64, ptr %Sl
108  store i1 true, ptr %A4
109  %E51 = extractelement <2 x i1> zeroinitializer, i32 0
110  br i1 %E51, label %CF249, label %CF259
111
112CF259:                                            ; preds = %CF259, %CF263
113  %Shuff52 = shufflevector <4 x i64> zeroinitializer, <4 x i64> zeroinitializer, <4 x i32> <i32 undef, i32 5, i32 7, i32 1>
114  %I53 = insertelement <4 x i16> zeroinitializer, i16 -1, i32 1
115  %B54 = or <2 x i16> %Shuff, zeroinitializer
116  %Sl55 = select i1 %Sl42, i16 %Sl22, i16 27357
117  %Cmp56 = icmp uge i1 %Sl42, true
118  br i1 %Cmp56, label %CF259, label %CF268
119
120CF268:                                            ; preds = %CF259
121  %L57 = load i8, ptr %0
122  store i64 %L5, ptr %Sl
123  %E58 = extractelement <4 x i16> %Shuff14, i32 1
124  %Shuff59 = shufflevector <1 x i32> %Shuff33, <1 x i32> %Shuff33, <1 x i32> zeroinitializer
125  %I60 = insertelement <2 x i1> %Shuff20, i1 true, i32 0
126  %B61 = frem double 0x5A7FED9E637D2C1C, %B16
127  %FC62 = sitofp i8 -99 to float
128  %Sl63 = select i1 true, i16 %E19, i16 -1
129  %Cmp64 = icmp slt i16 %Sl63, 27357
130  br i1 %Cmp64, label %CF237, label %CF241
131
132CF241:                                            ; preds = %CF241, %CF265, %CF268
133  %L65 = load i1, ptr %A4
134  br i1 %L65, label %CF241, label %CF262
135
136CF262:                                            ; preds = %CF262, %CF270, %CF241
137  store i64 %L37, ptr %Sl
138  %E66 = extractelement <4 x i16> %Shuff14, i32 2
139  %Shuff67 = shufflevector <4 x i16> %Shuff26, <4 x i16> %Shuff7, <4 x i32> <i32 1, i32 3, i32 undef, i32 7>
140  %I68 = insertelement <2 x i32> zeroinitializer, i32 454413, i32 1
141  %B69 = sub <4 x i16> %I8, %Shuff7
142  %Tr70 = trunc i16 %E32 to i1
143  br i1 %Tr70, label %CF262, label %CF270
144
145CF270:                                            ; preds = %CF262
146  %Sl71 = select i1 %Sl42, <8 x i1> zeroinitializer, <8 x i1> zeroinitializer
147  %Cmp72 = icmp sge <2 x i16> %B54, zeroinitializer
148  %L73 = load i64, ptr %Sl
149  store i64 %L73, ptr %Sl
150  %E74 = extractelement <8 x i1> %Sl71, i32 5
151  br i1 %E74, label %CF262, label %CF265
152
153CF265:                                            ; preds = %CF270
154  %Shuff75 = shufflevector <2 x i32> %I68, <2 x i32> zeroinitializer, <2 x i32> <i32 undef, i32 2>
155  %I76 = insertelement <2 x i1> %Cmp72, i1 %Sl42, i32 0
156  %B77 = xor i16 27357, %B28
157  %Sl79 = select i1 %Cmp64, <4 x i16> %Shuff14, <4 x i16> %Shuff7
158  %Cmp80 = icmp slt <2 x i1> zeroinitializer, %Shuff20
159  %L81 = load i1, ptr %A4
160  br i1 %L81, label %CF241, label %CF245
161
162CF245:                                            ; preds = %CF245, %CF265
163  store i1 true, ptr %A4
164  %E82 = extractelement <1 x i32> %Shuff33, i32 0
165  %Shuff83 = shufflevector <4 x i16> zeroinitializer, <4 x i16> %Shuff14, <4 x i32> <i32 2, i32 4, i32 6, i32 0>
166  %I84 = insertelement <2 x i1> %Shuff20, i1 %Sl42, i32 0
167  %FC85 = uitofp i1 %Cmp to float
168  %Sl86 = select i1 %Tr10, i16 -1, i16 %Sl63
169  %Cmp87 = icmp ugt <2 x i1> %I76, %I60
170  %L88 = load i32, ptr %A4
171  store i8 33, ptr %0
172  %E89 = extractelement <2 x i32> zeroinitializer, i32 1
173  %Shuff90 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %Shuff52, <4 x i32> <i32 0, i32 undef, i32 4, i32 6>
174  %I91 = insertelement <2 x i32> %Shuff75, i32 %ZE, i32 0
175  %B92 = add i64 -1, %L73
176  %Tr93 = trunc i64 0 to i16
177  %Sl94 = select i1 %FC, i64 %L37, i64 %L5
178  %Cmp95 = icmp sge i64 454853, %B92
179  br i1 %Cmp95, label %CF245, label %CF257
180
181CF257:                                            ; preds = %CF245
182  %L96 = load i64, ptr %Sl
183  store i1 true, ptr %A4
184  %E97 = extractelement <2 x i1> %Shuff20, i32 1
185  br label %CF
186
187CF:                                               ; preds = %CF, %CF258, %CF257
188  %Shuff98 = shufflevector <2 x i1> %Cmp80, <2 x i1> zeroinitializer, <2 x i32> <i32 undef, i32 0>
189  %I99 = insertelement <2 x i1> %Shuff98, i1 %Cmp30, i32 0
190  %B100 = sub <8 x i8> zeroinitializer, zeroinitializer
191  %FC101 = uitofp <2 x i1> %I99 to <2 x double>
192  %Sl102 = select i1 %FC, i16 %Sl63, i16 %E58
193  %Cmp103 = fcmp ord double %B16, 0xDACBFCEAC1C99968
194  br i1 %Cmp103, label %CF, label %CF240
195
196CF240:                                            ; preds = %CF240, %CF260, %CF
197  %L104 = load i32, ptr %1
198  store i1 true, ptr %A4
199  %E105 = extractelement <4 x i16> %I8, i32 1
200  %Shuff106 = shufflevector <4 x i16> %Shuff7, <4 x i16> %I34, <4 x i32> <i32 4, i32 undef, i32 undef, i32 2>
201  %I107 = insertelement <2 x i1> %Cmp87, i1 %FC, i32 0
202  %ZE108 = zext <4 x i16> %B69 to <4 x i64>
203  %Sl109 = select i1 %Cmp, i16 27357, i16 %Sl102
204  %Cmp110 = icmp sge <4 x i16> %B9, zeroinitializer
205  %L111 = load i64, ptr %Sl
206  store i8 %L57, ptr %0
207  %E112 = extractelement <2 x i1> %Shuff98, i32 0
208  br i1 %E112, label %CF240, label %CF254
209
210CF254:                                            ; preds = %CF254, %CF267, %CF264, %CF240
211  %Shuff113 = shufflevector <2 x i32> %I68, <2 x i32> zeroinitializer, <2 x i32><i32 undef, i32 0>
212  %I114 = insertelement <4 x i16> zeroinitializer, i16 27357, i32 3
213  %B115 = and i16 %Sl102, %Sl11
214  %FC116 = uitofp i16 %B115 to double
215  %Sl117 = select i1 %L81, ptr %1, ptr %1
216  %Cmp118 = icmp ne i64 %Sl94, %L50
217  br i1 %Cmp118, label %CF254, label %CF267
218
219CF267:                                            ; preds = %CF254
220  %L119 = load i64, ptr %Sl
221  store i32 %ZE, ptr %A4
222  %E120 = extractelement <4 x i16> zeroinitializer, i32 1
223  %Shuff121 = shufflevector <1 x i32> %Shuff33, <1 x i32> %Shuff33, <1 x i32> zeroinitializer
224  %I122 = insertelement <1 x i32> %Shuff121, i32 %E82, i32 0
225  %B123 = mul <4 x i16> %I40, %I34
226  %Sl124 = select i1 %FC, <4 x i1> %Cmp110, <4 x i1> %Cmp110
227  %Cmp125 = icmp ne <4 x i64> %ZE108, zeroinitializer
228  %L126 = load i64, ptr %Sl
229  store i32 %ZE, ptr %Sl117
230  %E127 = extractelement <2 x i1> %Cmp87, i32 1
231  br i1 %E127, label %CF254, label %CF264
232
233CF264:                                            ; preds = %CF267
234  %Shuff128 = shufflevector <4 x i16> %Shuff83, <4 x i16> %I47, <4 x i32> <i32 undef, i32 2, i32 undef, i32 6>
235  %I129 = insertelement <4 x i16> %Shuff67, i16 %Sl109, i32 2
236  %B130 = add i32 %3, %E38
237  %FC131 = sitofp i32 %3 to float
238  %Sl132 = select i1 %Sl42, i64 %L24, i64 %L5
239  %Cmp133 = icmp eq <2 x i1> %I99, %Shuff20
240  %L134 = load i32, ptr %A4
241  store i32 %L104, ptr %1
242  %E135 = extractelement <8 x i1> zeroinitializer, i32 4
243  br i1 %E135, label %CF254, label %CF260
244
245CF260:                                            ; preds = %CF264
246  %Shuff136 = shufflevector <1 x i32> %Shuff59, <1 x i32> %Shuff121, <1 x i32> undef
247  %I137 = insertelement <4 x i16> %Shuff67, i16 %Sl55, i32 3
248  %B138 = lshr <1 x i32> %Shuff33, %Shuff59
249  %Sl139 = select i1 %E135, i64 %L119, i64 %L126
250  %Cmp140 = icmp slt i8 -99, %Sl29
251  br i1 %Cmp140, label %CF240, label %CF247
252
253CF247:                                            ; preds = %CF247, %CF272, %CF260
254  %L141 = load i32, ptr %Sl117
255  store i8 %5, ptr %0
256  %E142 = extractelement <2 x i1> %Cmp36, i32 1
257  br i1 %E142, label %CF247, label %CF272
258
259CF272:                                            ; preds = %CF247
260  %Shuff143 = shufflevector <4 x i64> %Shuff90, <4 x i64> %Shuff52, <4 x i32> <i32 6, i32 undef, i32 2, i32 undef>
261  %I144 = insertelement <1 x i32> %Shuff121, i32 %L88, i32 0
262  %Tr145 = trunc i64 %Sl139 to i16
263  %Sl146 = select i1 %Cmp49, i32 %L134, i32 %L104
264  %L147 = load i32, ptr %A4
265  store i32 %Tr, ptr %Sl117
266  %E148 = extractelement <4 x i16> %Shuff67, i32 3
267  %Shuff149 = shufflevector <4 x i16> zeroinitializer, <4 x i16> %Shuff67, <4 x i32> <i32 2, i32 4, i32 6, i32 0>
268  %I150 = insertelement <2 x i1> zeroinitializer, i1 %E127, i32 0
269  %B151 = fdiv double 0x16FB351AF5F9C998, 0xC275146F92573C4
270  %FC152 = uitofp <1 x i32> %I144 to <1 x double>
271  %Sl153 = select i1 %Cmp118, <1 x i32> %Shuff136, <1 x i32> %Shuff121
272  %Cmp154 = icmp ule i8 %5, %Sl29
273  br i1 %Cmp154, label %CF247, label %CF253
274
275CF253:                                            ; preds = %CF253, %CF269, %CF272
276  %L155 = load i32, ptr %Sl117
277  store i32 %L141, ptr %A4
278  %E156 = extractelement <4 x i1> %Cmp125, i32 2
279  br i1 %E156, label %CF253, label %CF269
280
281CF269:                                            ; preds = %CF253
282  %Shuff157 = shufflevector <1 x i32> %Shuff46, <1 x i32> %Shuff121, <1 x i32> <i32 1>
283  %I158 = insertelement <4 x i16> %Shuff128, i16 %E66, i32 1
284  %B159 = shl i64 %L119, %L73
285  %Se = sext i16 %B77 to i32
286  %Sl160 = select i1 %Cmp56, i16 %Sl63, i16 %B77
287  %L161 = load i64, ptr %Sl
288  store i32 %B130, ptr %Sl117
289  %E162 = extractelement <1 x i32> %Shuff59, i32 0
290  %Shuff163 = shufflevector <4 x i16> %Shuff7, <4 x i16> %Shuff67, <4 x i32> <i32 5, i32 7, i32 1, i32 3>
291  %I164 = insertelement <4 x i16> %Shuff106, i16 27357, i32 3
292  %Se165 = sext <4 x i1> %Sl124 to <4 x i8>
293  %Sl166 = select i1 true, i1 %Cmp, i1 %Tr70
294  br i1 %Sl166, label %CF253, label %CF255
295
296CF255:                                            ; preds = %CF255, %CF266, %CF269
297  %Cmp167 = icmp sge i64 %4, %L24
298  br i1 %Cmp167, label %CF255, label %CF266
299
300CF266:                                            ; preds = %CF255
301  %L168 = load i8, ptr %0
302  store i32 %E38, ptr %A4
303  %E169 = extractelement <2 x i16> zeroinitializer, i32 1
304  %Shuff170 = shufflevector <4 x i16> %Sl79, <4 x i16> %I137, <4 x i32> <i32 6, i32 0, i32 2, i32 4>
305  %I171 = insertelement <4 x i16> %Shuff163, i16 %ZE41, i32 0
306  %Tr172 = trunc i16 %Tr145 to i1
307  br i1 %Tr172, label %CF255, label %CF258
308
309CF258:                                            ; preds = %CF266
310  %Sl173 = select i1 true, <2 x i32> %I68, <2 x i32> %I91
311  %Cmp174 = icmp ugt <2 x i1> %Cmp72, %I150
312  %L175 = load i32, ptr %Sl117
313  store i32 %L104, ptr %Sl117
314  %E176 = extractelement <4 x i16> %Shuff67, i32 1
315  %Shuff177 = shufflevector <1 x i32> %Shuff121, <1 x i32> %Shuff33, <1 x i32> zeroinitializer
316  %I178 = insertelement <4 x i16> zeroinitializer, i16 27357, i32 0
317  %FC179 = sitofp <4 x i16> %I47 to <4 x float>
318  %Sl180 = select i1 %FC, i64 %L126, i64 %B92
319  %Cmp181 = fcmp ugt double %B61, %B16
320  br i1 %Cmp181, label %CF, label %CF236
321
322CF236:                                            ; preds = %CF236, %CF258
323  %L182 = load i8, ptr %0
324  store i32 %E38, ptr %Sl117
325  %E183 = extractelement <1 x i32> %Shuff121, i32 0
326  %Shuff184 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %Shuff90, <4 x i32> <i32 7, i32 undef, i32 3, i32 5>
327  %I185 = insertelement <4 x i16> %Shuff106, i16 %Tr93, i32 1
328  %ZE186 = zext i32 %E162 to i64
329  %Sl187 = select i1 %Cmp95, <8 x i8> %B100, <8 x i8> %B100
330  %Cmp188 = icmp uge i16 %B115, %Sl11
331  br i1 %Cmp188, label %CF236, label %CF242
332
333CF242:                                            ; preds = %CF242, %CF250, %CF248, %CF236
334  %L189 = load i8, ptr %0
335  store i8 %Sl29, ptr %0
336  %E190 = extractelement <4 x i16> %B9, i32 3
337  %Shuff191 = shufflevector <4 x i16> %Shuff26, <4 x i16> %Shuff26, <4 x i32> <i32 6, i32 0, i32 2, i32 4>
338  %I192 = insertelement <1 x i32> %I122, i32 %3, i32 0
339  %B193 = udiv i8 %5, %L168
340  %Se194 = sext <8 x i1> %Sl71 to <8 x i32>
341  %Sl195 = select i1 %Cmp188, i8 %L182, i8 %L168
342  %Cmp196 = icmp slt i16 %B77, %Sl102
343  br i1 %Cmp196, label %CF242, label %CF250
344
345CF250:                                            ; preds = %CF242
346  %L197 = load i64, ptr %Sl
347  store i32 %ZE, ptr %Sl117
348  %E198 = extractelement <2 x i1> %Shuff20, i32 1
349  br i1 %E198, label %CF242, label %CF244
350
351CF244:                                            ; preds = %CF244, %CF250
352  %Shuff199 = shufflevector <1 x i32> %Shuff46, <1 x i32> %Shuff177, <1 x i32> zeroinitializer
353  %I200 = insertelement <4 x i16> %Shuff191, i16 %Sl86, i32 0
354  %B201 = mul i16 %ZE41, %E169
355  %Se202 = sext <4 x i16> %I171 to <4 x i64>
356  %Sl203 = select i1 %Sl166, i32 %E162, i32 %E82
357  %Cmp204 = icmp ule i16 %E32, %E120
358  br i1 %Cmp204, label %CF244, label %CF248
359
360CF248:                                            ; preds = %CF244
361  %L205 = load float, ptr %A3
362  store i32 %Tr, ptr %A4
363  %E206 = extractelement <2 x i1> %Shuff20, i32 1
364  br i1 %E206, label %CF242, label %CF243
365
366CF243:                                            ; preds = %CF243, %CF273, %CF248
367  %Shuff207 = shufflevector <8 x i1> zeroinitializer, <8 x i1> %Sl71, <8 x i32> <i32 4, i32 6, i32 8, i32 undef, i32 12, i32 undef, i32 undef, i32 2>
368  %I208 = insertelement <2 x i1> %Shuff20, i1 %E198, i32 0
369  %B209 = xor <4 x i16> %I129, %I34
370  %FC210 = uitofp <8 x i8> zeroinitializer to <8 x double>
371  %Sl211 = select i1 %E74, i16 %Tr93, i16 %E19
372  %Cmp212 = icmp ugt i32 %Se, %E38
373  br i1 %Cmp212, label %CF243, label %CF273
374
375CF273:                                            ; preds = %CF243
376  %L213 = load i32, ptr %A4
377  store i8 %L168, ptr %0
378  %E214 = extractelement <2 x i32> %Shuff113, i32 1
379  %Shuff215 = shufflevector <4 x i16> %Shuff128, <4 x i16> %I137, <4 x i32> <i32 6, i32 0, i32 2, i32 4>
380  %I216 = insertelement <2 x i1> %Shuff20, i1 %Cmp30, i32 0
381  %B217 = sub <4 x i16> %Shuff83, %I185
382  %Tr218 = trunc <4 x i16> %B9 to <4 x i1>
383  %Sl219 = select i1 %Cmp154, i8 %B, i8 %5
384  %Cmp220 = icmp uge <4 x i64> %Shuff52, %Shuff52
385  %L221 = load i32, ptr %Sl117
386  store i8 %L168, ptr %0
387  %E222 = extractelement <4 x i16> %Shuff191, i32 0
388  %Shuff223 = shufflevector <4 x i16> %Shuff26, <4 x i16> %I34, <4 x i32> <i32 undef, i32 1, i32 3, i32 5>
389  %I224 = insertelement <4 x i16> %Shuff26, i16 %Tr145, i32 1
390  %FC225 = sitofp i1 %Cmp56 to float
391  %Sl226 = select i1 %E, i1 %Cmp154, i1 %Sl166
392  br i1 %Sl226, label %CF243, label %CF252
393
394CF252:                                            ; preds = %CF273
395  %Cmp227 = icmp ugt <4 x i64> %Shuff143, zeroinitializer
396  %L228 = load i32, ptr %Sl117
397  store i32 %Tr, ptr %A4
398  %E229 = extractelement <4 x i16> %Shuff163, i32 2
399  %Shuff230 = shufflevector <1 x i32> %Shuff199, <1 x i32> zeroinitializer, <1 x i32> <i32 1>
400  %I231 = insertelement <4 x i16> %Shuff106, i16 %E32, i32 1
401  %B232 = srem i32 %Sl203, %Sl203
402  %FC233 = fptoui double 0x5A7FED9E637D2C1C to i32
403  %Sl234 = select i1 %Cmp103, i8 %B193, i8 %L168
404  %Cmp235 = icmp uge <2 x i16> zeroinitializer, zeroinitializer
405  store i32 %ZE, ptr %A4
406  store i64 %L5, ptr %Sl
407  store i8 33, ptr %0
408  store i8 %L168, ptr %0
409  store i1 %Sl226, ptr %A4
410  ret void
411}
412