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