Lines Matching refs:NEXT

12 ; PWR5-NEXT:    vspltisb 3, -1
13 ; PWR5-NEXT: vaddubm 3, 2, 3
14 ; PWR5-NEXT: vand 2, 2, 3
15 ; PWR5-NEXT: vxor 3, 3, 3
16 ; PWR5-NEXT: vcmpequb 2, 2, 3
17 ; PWR5-NEXT: vnot 2, 2
18 ; PWR5-NEXT: blr
22 ; PWR6-NEXT: vspltisb 3, -1
23 ; PWR6-NEXT: vaddubm 3, 2, 3
24 ; PWR6-NEXT: vand 2, 2, 3
25 ; PWR6-NEXT: vxor 3, 3, 3
26 ; PWR6-NEXT: vcmpequb 2, 2, 3
27 ; PWR6-NEXT: vnot 2, 2
28 ; PWR6-NEXT: blr
32 ; PWR7-NEXT: vspltisb 3, -1
33 ; PWR7-NEXT: vaddubm 3, 2, 3
34 ; PWR7-NEXT: xxland 34, 34, 35
35 ; PWR7-NEXT: xxlxor 35, 35, 35
36 ; PWR7-NEXT: vcmpequb 2, 2, 3
37 ; PWR7-NEXT: xxlnor 34, 34, 34
38 ; PWR7-NEXT: blr
42 ; PWR8-NEXT: vspltisb 3, 1
43 ; PWR8-NEXT: vpopcntb 2, 2
44 ; PWR8-NEXT: vcmpgtub 2, 2, 3
45 ; PWR8-NEXT: blr
49 ; PWR9-NEXT: xxspltib 35, 1
50 ; PWR9-NEXT: vpopcntb 2, 2
51 ; PWR9-NEXT: vcmpgtub 2, 2, 3
52 ; PWR9-NEXT: blr
62 ; PWR5-NEXT: vspltisb 3, -1
63 ; PWR5-NEXT: vaddubm 3, 2, 3
64 ; PWR5-NEXT: vand 2, 2, 3
65 ; PWR5-NEXT: vxor 3, 3, 3
66 ; PWR5-NEXT: vcmpequb 2, 2, 3
67 ; PWR5-NEXT: blr
71 ; PWR6-NEXT: vspltisb 3, -1
72 ; PWR6-NEXT: vaddubm 3, 2, 3
73 ; PWR6-NEXT: vand 2, 2, 3
74 ; PWR6-NEXT: vxor 3, 3, 3
75 ; PWR6-NEXT: vcmpequb 2, 2, 3
76 ; PWR6-NEXT: blr
80 ; PWR7-NEXT: vspltisb 3, -1
81 ; PWR7-NEXT: vaddubm 3, 2, 3
82 ; PWR7-NEXT: xxland 34, 34, 35
83 ; PWR7-NEXT: xxlxor 35, 35, 35
84 ; PWR7-NEXT: vcmpequb 2, 2, 3
85 ; PWR7-NEXT: blr
89 ; PWR8-NEXT: vspltisb 3, 2
90 ; PWR8-NEXT: vpopcntb 2, 2
91 ; PWR8-NEXT: vcmpgtub 2, 3, 2
92 ; PWR8-NEXT: blr
96 ; PWR9-NEXT: xxspltib 35, 2
97 ; PWR9-NEXT: vpopcntb 2, 2
98 ; PWR9-NEXT: vcmpgtub 2, 3, 2
99 ; PWR9-NEXT: blr
109 ; PWR5-NEXT: addis 3, 2, .LCPI2_0@toc@ha
110 ; PWR5-NEXT: vspltisb 3, 1
111 ; PWR5-NEXT: addi 3, 3, .LCPI2_0@toc@l
112 ; PWR5-NEXT: vsrb 3, 2, 3
113 ; PWR5-NEXT: lvx 4, 0, 3
114 ; PWR5-NEXT: addis 3, 2, .LCPI2_1@toc@ha
115 ; PWR5-NEXT: addi 3, 3, .LCPI2_1@toc@l
116 ; PWR5-NEXT: vspltisb 5, 2
117 ; PWR5-NEXT: vand 3, 3, 4
118 ; PWR5-NEXT: lvx 4, 0, 3
119 ; PWR5-NEXT: vsububm 2, 2, 3
120 ; PWR5-NEXT: vand 3, 2, 4
121 ; PWR5-NEXT: vsrb 2, 2, 5
122 ; PWR5-NEXT: vand 2, 2, 4
123 ; PWR5-NEXT: vspltisb 4, 4
124 ; PWR5-NEXT: vaddubm 2, 3, 2
125 ; PWR5-NEXT: vsrb 3, 2, 4
126 ; PWR5-NEXT: vspltisb 4, 15
127 ; PWR5-NEXT: vaddubm 2, 2, 3
128 ; PWR5-NEXT: vand 2, 2, 4
129 ; PWR5-NEXT: vcmpgtub 2, 2, 5
130 ; PWR5-NEXT: blr
134 ; PWR6-NEXT: addis 3, 2, .LCPI2_0@toc@ha
135 ; PWR6-NEXT: vspltisb 3, 1
136 ; PWR6-NEXT: addi 3, 3, .LCPI2_0@toc@l
137 ; PWR6-NEXT: vsrb 3, 2, 3
138 ; PWR6-NEXT: lvx 4, 0, 3
139 ; PWR6-NEXT: addis 3, 2, .LCPI2_1@toc@ha
140 ; PWR6-NEXT: addi 3, 3, .LCPI2_1@toc@l
141 ; PWR6-NEXT: vspltisb 5, 2
142 ; PWR6-NEXT: vand 3, 3, 4
143 ; PWR6-NEXT: lvx 4, 0, 3
144 ; PWR6-NEXT: vsububm 2, 2, 3
145 ; PWR6-NEXT: vand 3, 2, 4
146 ; PWR6-NEXT: vsrb 2, 2, 5
147 ; PWR6-NEXT: vand 2, 2, 4
148 ; PWR6-NEXT: vspltisb 4, 4
149 ; PWR6-NEXT: vaddubm 2, 3, 2
150 ; PWR6-NEXT: vsrb 3, 2, 4
151 ; PWR6-NEXT: vspltisb 4, 15
152 ; PWR6-NEXT: vaddubm 2, 2, 3
153 ; PWR6-NEXT: vand 2, 2, 4
154 ; PWR6-NEXT: vcmpgtub 2, 2, 5
155 ; PWR6-NEXT: blr
159 ; PWR7-NEXT: vspltisb 3, 1
160 ; PWR7-NEXT: addis 3, 2, .LCPI2_0@toc@ha
161 ; PWR7-NEXT: addi 3, 3, .LCPI2_0@toc@l
162 ; PWR7-NEXT: vspltisb 4, 2
163 ; PWR7-NEXT: lxvw4x 0, 0, 3
164 ; PWR7-NEXT: addis 3, 2, .LCPI2_1@toc@ha
165 ; PWR7-NEXT: vspltisb 5, 4
166 ; PWR7-NEXT: vsrb 3, 2, 3
167 ; PWR7-NEXT: addi 3, 3, .LCPI2_1@toc@l
168 ; PWR7-NEXT: xxland 35, 35, 0
169 ; PWR7-NEXT: lxvw4x 0, 0, 3
170 ; PWR7-NEXT: vsububm 2, 2, 3
171 ; PWR7-NEXT: vsrb 3, 2, 4
172 ; PWR7-NEXT: xxland 34, 34, 0
173 ; PWR7-NEXT: xxland 35, 35, 0
174 ; PWR7-NEXT: vaddubm 2, 2, 3
175 ; PWR7-NEXT: vsrb 3, 2, 5
176 ; PWR7-NEXT: vspltisb 5, 15
177 ; PWR7-NEXT: vaddubm 2, 2, 3
178 ; PWR7-NEXT: xxland 34, 34, 37
179 ; PWR7-NEXT: vcmpgtub 2, 2, 4
180 ; PWR7-NEXT: blr
184 ; PWR8-NEXT: vspltisb 3, 2
185 ; PWR8-NEXT: vpopcntb 2, 2
186 ; PWR8-NEXT: vcmpgtub 2, 2, 3
187 ; PWR8-NEXT: blr
191 ; PWR9-NEXT: xxspltib 35, 2
192 ; PWR9-NEXT: vpopcntb 2, 2
193 ; PWR9-NEXT: vcmpgtub 2, 2, 3
194 ; PWR9-NEXT: blr
204 ; PWR5-NEXT: addis 3, 2, .LCPI3_0@toc@ha
205 ; PWR5-NEXT: vspltisb 3, 1
206 ; PWR5-NEXT: addi 3, 3, .LCPI3_0@toc@l
207 ; PWR5-NEXT: vsrb 3, 2, 3
208 ; PWR5-NEXT: lvx 4, 0, 3
209 ; PWR5-NEXT: addis 3, 2, .LCPI3_1@toc@ha
210 ; PWR5-NEXT: addi 3, 3, .LCPI3_1@toc@l
211 ; PWR5-NEXT: vspltisb 5, 2
212 ; PWR5-NEXT: vand 3, 3, 4
213 ; PWR5-NEXT: lvx 4, 0, 3
214 ; PWR5-NEXT: vsububm 2, 2, 3
215 ; PWR5-NEXT: vand 3, 2, 4
216 ; PWR5-NEXT: vsrb 2, 2, 5
217 ; PWR5-NEXT: vand 2, 2, 4
218 ; PWR5-NEXT: vspltisb 4, 4
219 ; PWR5-NEXT: vaddubm 2, 3, 2
220 ; PWR5-NEXT: vsrb 3, 2, 4
221 ; PWR5-NEXT: vspltisb 4, 15
222 ; PWR5-NEXT: vaddubm 2, 2, 3
223 ; PWR5-NEXT: vspltisb 3, 3
224 ; PWR5-NEXT: vand 2, 2, 4
225 ; PWR5-NEXT: vcmpgtub 2, 3, 2
226 ; PWR5-NEXT: blr
230 ; PWR6-NEXT: addis 3, 2, .LCPI3_0@toc@ha
231 ; PWR6-NEXT: vspltisb 3, 1
232 ; PWR6-NEXT: addi 3, 3, .LCPI3_0@toc@l
233 ; PWR6-NEXT: vsrb 3, 2, 3
234 ; PWR6-NEXT: lvx 4, 0, 3
235 ; PWR6-NEXT: addis 3, 2, .LCPI3_1@toc@ha
236 ; PWR6-NEXT: addi 3, 3, .LCPI3_1@toc@l
237 ; PWR6-NEXT: vspltisb 5, 2
238 ; PWR6-NEXT: vand 3, 3, 4
239 ; PWR6-NEXT: lvx 4, 0, 3
240 ; PWR6-NEXT: vsububm 2, 2, 3
241 ; PWR6-NEXT: vand 3, 2, 4
242 ; PWR6-NEXT: vsrb 2, 2, 5
243 ; PWR6-NEXT: vand 2, 2, 4
244 ; PWR6-NEXT: vspltisb 4, 4
245 ; PWR6-NEXT: vaddubm 2, 3, 2
246 ; PWR6-NEXT: vsrb 3, 2, 4
247 ; PWR6-NEXT: vspltisb 4, 15
248 ; PWR6-NEXT: vaddubm 2, 2, 3
249 ; PWR6-NEXT: vspltisb 3, 3
250 ; PWR6-NEXT: vand 2, 2, 4
251 ; PWR6-NEXT: vcmpgtub 2, 3, 2
252 ; PWR6-NEXT: blr
256 ; PWR7-NEXT: vspltisb 3, 1
257 ; PWR7-NEXT: addis 3, 2, .LCPI3_0@toc@ha
258 ; PWR7-NEXT: addi 3, 3, .LCPI3_0@toc@l
259 ; PWR7-NEXT: vspltisb 4, 2
260 ; PWR7-NEXT: lxvw4x 0, 0, 3
261 ; PWR7-NEXT: addis 3, 2, .LCPI3_1@toc@ha
262 ; PWR7-NEXT: vsrb 3, 2, 3
263 ; PWR7-NEXT: addi 3, 3, .LCPI3_1@toc@l
264 ; PWR7-NEXT: xxland 35, 35, 0
265 ; PWR7-NEXT: lxvw4x 0, 0, 3
266 ; PWR7-NEXT: vsububm 2, 2, 3
267 ; PWR7-NEXT: vsrb 3, 2, 4
268 ; PWR7-NEXT: xxland 34, 34, 0
269 ; PWR7-NEXT: vspltisb 4, 4
270 ; PWR7-NEXT: xxland 35, 35, 0
271 ; PWR7-NEXT: vaddubm 2, 2, 3
272 ; PWR7-NEXT: vsrb 3, 2, 4
273 ; PWR7-NEXT: vspltisb 4, 15
274 ; PWR7-NEXT: vaddubm 2, 2, 3
275 ; PWR7-NEXT: vspltisb 3, 3
276 ; PWR7-NEXT: xxland 34, 34, 36
277 ; PWR7-NEXT: vcmpgtub 2, 3, 2
278 ; PWR7-NEXT: blr
282 ; PWR8-NEXT: vspltisb 3, 3
283 ; PWR8-NEXT: vpopcntb 2, 2
284 ; PWR8-NEXT: vcmpgtub 2, 3, 2
285 ; PWR8-NEXT: blr
289 ; PWR9-NEXT: xxspltib 35, 3
290 ; PWR9-NEXT: vpopcntb 2, 2
291 ; PWR9-NEXT: vcmpgtub 2, 3, 2
292 ; PWR9-NEXT: blr
302 ; PWR5-NEXT: addis 3, 2, .LCPI4_0@toc@ha
303 ; PWR5-NEXT: vspltisb 3, 1
304 ; PWR5-NEXT: addi 3, 3, .LCPI4_0@toc@l
305 ; PWR5-NEXT: vsrb 3, 2, 3
306 ; PWR5-NEXT: lvx 4, 0, 3
307 ; PWR5-NEXT: addis 3, 2, .LCPI4_1@toc@ha
308 ; PWR5-NEXT: addi 3, 3, .LCPI4_1@toc@l
309 ; PWR5-NEXT: vspltisb 5, 2
310 ; PWR5-NEXT: vand 3, 3, 4
311 ; PWR5-NEXT: lvx 4, 0, 3
312 ; PWR5-NEXT: vsububm 2, 2, 3
313 ; PWR5-NEXT: vand 3, 2, 4
314 ; PWR5-NEXT: vsrb 2, 2, 5
315 ; PWR5-NEXT: vand 2, 2, 4
316 ; PWR5-NEXT: vspltisb 4, 4
317 ; PWR5-NEXT: vaddubm 2, 3, 2
318 ; PWR5-NEXT: vsrb 3, 2, 4
319 ; PWR5-NEXT: vspltisb 4, 15
320 ; PWR5-NEXT: vaddubm 2, 2, 3
321 ; PWR5-NEXT: vspltisb 3, 3
322 ; PWR5-NEXT: vand 2, 2, 4
323 ; PWR5-NEXT: vcmpgtub 2, 2, 3
324 ; PWR5-NEXT: blr
328 ; PWR6-NEXT: addis 3, 2, .LCPI4_0@toc@ha
329 ; PWR6-NEXT: vspltisb 3, 1
330 ; PWR6-NEXT: addi 3, 3, .LCPI4_0@toc@l
331 ; PWR6-NEXT: vsrb 3, 2, 3
332 ; PWR6-NEXT: lvx 4, 0, 3
333 ; PWR6-NEXT: addis 3, 2, .LCPI4_1@toc@ha
334 ; PWR6-NEXT: addi 3, 3, .LCPI4_1@toc@l
335 ; PWR6-NEXT: vspltisb 5, 2
336 ; PWR6-NEXT: vand 3, 3, 4
337 ; PWR6-NEXT: lvx 4, 0, 3
338 ; PWR6-NEXT: vsububm 2, 2, 3
339 ; PWR6-NEXT: vand 3, 2, 4
340 ; PWR6-NEXT: vsrb 2, 2, 5
341 ; PWR6-NEXT: vand 2, 2, 4
342 ; PWR6-NEXT: vspltisb 4, 4
343 ; PWR6-NEXT: vaddubm 2, 3, 2
344 ; PWR6-NEXT: vsrb 3, 2, 4
345 ; PWR6-NEXT: vspltisb 4, 15
346 ; PWR6-NEXT: vaddubm 2, 2, 3
347 ; PWR6-NEXT: vspltisb 3, 3
348 ; PWR6-NEXT: vand 2, 2, 4
349 ; PWR6-NEXT: vcmpgtub 2, 2, 3
350 ; PWR6-NEXT: blr
354 ; PWR7-NEXT: vspltisb 3, 1
355 ; PWR7-NEXT: addis 3, 2, .LCPI4_0@toc@ha
356 ; PWR7-NEXT: addi 3, 3, .LCPI4_0@toc@l
357 ; PWR7-NEXT: vspltisb 4, 2
358 ; PWR7-NEXT: lxvw4x 0, 0, 3
359 ; PWR7-NEXT: addis 3, 2, .LCPI4_1@toc@ha
360 ; PWR7-NEXT: vsrb 3, 2, 3
361 ; PWR7-NEXT: addi 3, 3, .LCPI4_1@toc@l
362 ; PWR7-NEXT: xxland 35, 35, 0
363 ; PWR7-NEXT: lxvw4x 0, 0, 3
364 ; PWR7-NEXT: vsububm 2, 2, 3
365 ; PWR7-NEXT: vsrb 3, 2, 4
366 ; PWR7-NEXT: xxland 34, 34, 0
367 ; PWR7-NEXT: vspltisb 4, 4
368 ; PWR7-NEXT: xxland 35, 35, 0
369 ; PWR7-NEXT: vaddubm 2, 2, 3
370 ; PWR7-NEXT: vsrb 3, 2, 4
371 ; PWR7-NEXT: vspltisb 4, 15
372 ; PWR7-NEXT: vaddubm 2, 2, 3
373 ; PWR7-NEXT: vspltisb 3, 3
374 ; PWR7-NEXT: xxland 34, 34, 36
375 ; PWR7-NEXT: vcmpgtub 2, 2, 3
376 ; PWR7-NEXT: blr
380 ; PWR8-NEXT: vspltisb 3, 3
381 ; PWR8-NEXT: vpopcntb 2, 2
382 ; PWR8-NEXT: vcmpgtub 2, 2, 3
383 ; PWR8-NEXT: blr
387 ; PWR9-NEXT: xxspltib 35, 3
388 ; PWR9-NEXT: vpopcntb 2, 2
389 ; PWR9-NEXT: vcmpgtub 2, 2, 3
390 ; PWR9-NEXT: blr
400 ; PWR5-NEXT: addis 3, 2, .LCPI5_0@toc@ha
401 ; PWR5-NEXT: vspltisb 3, 1
402 ; PWR5-NEXT: addi 3, 3, .LCPI5_0@toc@l
403 ; PWR5-NEXT: vsrb 3, 2, 3
404 ; PWR5-NEXT: lvx 4, 0, 3
405 ; PWR5-NEXT: addis 3, 2, .LCPI5_1@toc@ha
406 ; PWR5-NEXT: addi 3, 3, .LCPI5_1@toc@l
407 ; PWR5-NEXT: vspltisb 5, 2
408 ; PWR5-NEXT: vand 3, 3, 4
409 ; PWR5-NEXT: lvx 4, 0, 3
410 ; PWR5-NEXT: vsububm 2, 2, 3
411 ; PWR5-NEXT: vand 3, 2, 4
412 ; PWR5-NEXT: vsrb 2, 2, 5
413 ; PWR5-NEXT: vspltisb 5, 15
414 ; PWR5-NEXT: vand 2, 2, 4
415 ; PWR5-NEXT: vspltisb 4, 4
416 ; PWR5-NEXT: vaddubm 2, 3, 2
417 ; PWR5-NEXT: vsrb 3, 2, 4
418 ; PWR5-NEXT: vaddubm 2, 2, 3
419 ; PWR5-NEXT: vand 2, 2, 5
420 ; PWR5-NEXT: vcmpgtub 2, 4, 2
421 ; PWR5-NEXT: blr
425 ; PWR6-NEXT: addis 3, 2, .LCPI5_0@toc@ha
426 ; PWR6-NEXT: vspltisb 3, 1
427 ; PWR6-NEXT: addi 3, 3, .LCPI5_0@toc@l
428 ; PWR6-NEXT: vsrb 3, 2, 3
429 ; PWR6-NEXT: lvx 4, 0, 3
430 ; PWR6-NEXT: addis 3, 2, .LCPI5_1@toc@ha
431 ; PWR6-NEXT: addi 3, 3, .LCPI5_1@toc@l
432 ; PWR6-NEXT: vspltisb 5, 2
433 ; PWR6-NEXT: vand 3, 3, 4
434 ; PWR6-NEXT: lvx 4, 0, 3
435 ; PWR6-NEXT: vsububm 2, 2, 3
436 ; PWR6-NEXT: vand 3, 2, 4
437 ; PWR6-NEXT: vsrb 2, 2, 5
438 ; PWR6-NEXT: vspltisb 5, 15
439 ; PWR6-NEXT: vand 2, 2, 4
440 ; PWR6-NEXT: vspltisb 4, 4
441 ; PWR6-NEXT: vaddubm 2, 3, 2
442 ; PWR6-NEXT: vsrb 3, 2, 4
443 ; PWR6-NEXT: vaddubm 2, 2, 3
444 ; PWR6-NEXT: vand 2, 2, 5
445 ; PWR6-NEXT: vcmpgtub 2, 4, 2
446 ; PWR6-NEXT: blr
450 ; PWR7-NEXT: vspltisb 3, 1
451 ; PWR7-NEXT: addis 3, 2, .LCPI5_0@toc@ha
452 ; PWR7-NEXT: addi 3, 3, .LCPI5_0@toc@l
453 ; PWR7-NEXT: vspltisb 4, 2
454 ; PWR7-NEXT: lxvw4x 0, 0, 3
455 ; PWR7-NEXT: addis 3, 2, .LCPI5_1@toc@ha
456 ; PWR7-NEXT: vspltisb 5, 15
457 ; PWR7-NEXT: vsrb 3, 2, 3
458 ; PWR7-NEXT: addi 3, 3, .LCPI5_1@toc@l
459 ; PWR7-NEXT: xxland 35, 35, 0
460 ; PWR7-NEXT: lxvw4x 0, 0, 3
461 ; PWR7-NEXT: vsububm 2, 2, 3
462 ; PWR7-NEXT: vsrb 3, 2, 4
463 ; PWR7-NEXT: xxland 34, 34, 0
464 ; PWR7-NEXT: vspltisb 4, 4
465 ; PWR7-NEXT: xxland 35, 35, 0
466 ; PWR7-NEXT: vaddubm 2, 2, 3
467 ; PWR7-NEXT: vsrb 3, 2, 4
468 ; PWR7-NEXT: vaddubm 2, 2, 3
469 ; PWR7-NEXT: xxland 34, 34, 37
470 ; PWR7-NEXT: vcmpgtub 2, 4, 2
471 ; PWR7-NEXT: blr
475 ; PWR8-NEXT: vspltisb 3, 4
476 ; PWR8-NEXT: vpopcntb 2, 2
477 ; PWR8-NEXT: vcmpgtub 2, 3, 2
478 ; PWR8-NEXT: blr
482 ; PWR9-NEXT: xxspltib 35, 4
483 ; PWR9-NEXT: vpopcntb 2, 2
484 ; PWR9-NEXT: vcmpgtub 2, 3, 2
485 ; PWR9-NEXT: blr
495 ; PWR5-NEXT: addis 3, 2, .LCPI6_0@toc@ha
496 ; PWR5-NEXT: vspltisb 3, 1
497 ; PWR5-NEXT: addi 3, 3, .LCPI6_0@toc@l
498 ; PWR5-NEXT: vsrb 3, 2, 3
499 ; PWR5-NEXT: lvx 4, 0, 3
500 ; PWR5-NEXT: addis 3, 2, .LCPI6_1@toc@ha
501 ; PWR5-NEXT: addi 3, 3, .LCPI6_1@toc@l
502 ; PWR5-NEXT: vspltisb 5, 2
503 ; PWR5-NEXT: vand 3, 3, 4
504 ; PWR5-NEXT: lvx 4, 0, 3
505 ; PWR5-NEXT: vsububm 2, 2, 3
506 ; PWR5-NEXT: vand 3, 2, 4
507 ; PWR5-NEXT: vsrb 2, 2, 5
508 ; PWR5-NEXT: vspltisb 5, 15
509 ; PWR5-NEXT: vand 2, 2, 4
510 ; PWR5-NEXT: vspltisb 4, 4
511 ; PWR5-NEXT: vaddubm 2, 3, 2
512 ; PWR5-NEXT: vsrb 3, 2, 4
513 ; PWR5-NEXT: vaddubm 2, 2, 3
514 ; PWR5-NEXT: vand 2, 2, 5
515 ; PWR5-NEXT: vcmpgtub 2, 2, 4
516 ; PWR5-NEXT: blr
520 ; PWR6-NEXT: addis 3, 2, .LCPI6_0@toc@ha
521 ; PWR6-NEXT: vspltisb 3, 1
522 ; PWR6-NEXT: addi 3, 3, .LCPI6_0@toc@l
523 ; PWR6-NEXT: vsrb 3, 2, 3
524 ; PWR6-NEXT: lvx 4, 0, 3
525 ; PWR6-NEXT: addis 3, 2, .LCPI6_1@toc@ha
526 ; PWR6-NEXT: addi 3, 3, .LCPI6_1@toc@l
527 ; PWR6-NEXT: vspltisb 5, 2
528 ; PWR6-NEXT: vand 3, 3, 4
529 ; PWR6-NEXT: lvx 4, 0, 3
530 ; PWR6-NEXT: vsububm 2, 2, 3
531 ; PWR6-NEXT: vand 3, 2, 4
532 ; PWR6-NEXT: vsrb 2, 2, 5
533 ; PWR6-NEXT: vspltisb 5, 15
534 ; PWR6-NEXT: vand 2, 2, 4
535 ; PWR6-NEXT: vspltisb 4, 4
536 ; PWR6-NEXT: vaddubm 2, 3, 2
537 ; PWR6-NEXT: vsrb 3, 2, 4
538 ; PWR6-NEXT: vaddubm 2, 2, 3
539 ; PWR6-NEXT: vand 2, 2, 5
540 ; PWR6-NEXT: vcmpgtub 2, 2, 4
541 ; PWR6-NEXT: blr
545 ; PWR7-NEXT: vspltisb 3, 1
546 ; PWR7-NEXT: addis 3, 2, .LCPI6_0@toc@ha
547 ; PWR7-NEXT: addi 3, 3, .LCPI6_0@toc@l
548 ; PWR7-NEXT: vspltisb 4, 2
549 ; PWR7-NEXT: lxvw4x 0, 0, 3
550 ; PWR7-NEXT: addis 3, 2, .LCPI6_1@toc@ha
551 ; PWR7-NEXT: vspltisb 5, 15
552 ; PWR7-NEXT: vsrb 3, 2, 3
553 ; PWR7-NEXT: addi 3, 3, .LCPI6_1@toc@l
554 ; PWR7-NEXT: xxland 35, 35, 0
555 ; PWR7-NEXT: lxvw4x 0, 0, 3
556 ; PWR7-NEXT: vsububm 2, 2, 3
557 ; PWR7-NEXT: vsrb 3, 2, 4
558 ; PWR7-NEXT: xxland 34, 34, 0
559 ; PWR7-NEXT: vspltisb 4, 4
560 ; PWR7-NEXT: xxland 35, 35, 0
561 ; PWR7-NEXT: vaddubm 2, 2, 3
562 ; PWR7-NEXT: vsrb 3, 2, 4
563 ; PWR7-NEXT: vaddubm 2, 2, 3
564 ; PWR7-NEXT: xxland 34, 34, 37
565 ; PWR7-NEXT: vcmpgtub 2, 2, 4
566 ; PWR7-NEXT: blr
570 ; PWR8-NEXT: vspltisb 3, 4
571 ; PWR8-NEXT: vpopcntb 2, 2
572 ; PWR8-NEXT: vcmpgtub 2, 2, 3
573 ; PWR8-NEXT: blr
577 ; PWR9-NEXT: xxspltib 35, 4
578 ; PWR9-NEXT: vpopcntb 2, 2
579 ; PWR9-NEXT: vcmpgtub 2, 2, 3
580 ; PWR9-NEXT: blr
590 ; PWR5-NEXT: addis 3, 2, .LCPI7_0@toc@ha
591 ; PWR5-NEXT: vspltisb 3, 1
592 ; PWR5-NEXT: addi 3, 3, .LCPI7_0@toc@l
593 ; PWR5-NEXT: vsrb 3, 2, 3
594 ; PWR5-NEXT: lvx 4, 0, 3
595 ; PWR5-NEXT: addis 3, 2, .LCPI7_1@toc@ha
596 ; PWR5-NEXT: addi 3, 3, .LCPI7_1@toc@l
597 ; PWR5-NEXT: vspltisb 5, 2
598 ; PWR5-NEXT: vand 3, 3, 4
599 ; PWR5-NEXT: lvx 4, 0, 3
600 ; PWR5-NEXT: vsububm 2, 2, 3
601 ; PWR5-NEXT: vand 3, 2, 4
602 ; PWR5-NEXT: vsrb 2, 2, 5
603 ; PWR5-NEXT: vand 2, 2, 4
604 ; PWR5-NEXT: vspltisb 4, 4
605 ; PWR5-NEXT: vaddubm 2, 3, 2
606 ; PWR5-NEXT: vsrb 3, 2, 4
607 ; PWR5-NEXT: vspltisb 4, 15
608 ; PWR5-NEXT: vaddubm 2, 2, 3
609 ; PWR5-NEXT: vspltisb 3, 5
610 ; PWR5-NEXT: vand 2, 2, 4
611 ; PWR5-NEXT: vcmpgtub 2, 3, 2
612 ; PWR5-NEXT: blr
616 ; PWR6-NEXT: addis 3, 2, .LCPI7_0@toc@ha
617 ; PWR6-NEXT: vspltisb 3, 1
618 ; PWR6-NEXT: addi 3, 3, .LCPI7_0@toc@l
619 ; PWR6-NEXT: vsrb 3, 2, 3
620 ; PWR6-NEXT: lvx 4, 0, 3
621 ; PWR6-NEXT: addis 3, 2, .LCPI7_1@toc@ha
622 ; PWR6-NEXT: addi 3, 3, .LCPI7_1@toc@l
623 ; PWR6-NEXT: vspltisb 5, 2
624 ; PWR6-NEXT: vand 3, 3, 4
625 ; PWR6-NEXT: lvx 4, 0, 3
626 ; PWR6-NEXT: vsububm 2, 2, 3
627 ; PWR6-NEXT: vand 3, 2, 4
628 ; PWR6-NEXT: vsrb 2, 2, 5
629 ; PWR6-NEXT: vand 2, 2, 4
630 ; PWR6-NEXT: vspltisb 4, 4
631 ; PWR6-NEXT: vaddubm 2, 3, 2
632 ; PWR6-NEXT: vsrb 3, 2, 4
633 ; PWR6-NEXT: vspltisb 4, 15
634 ; PWR6-NEXT: vaddubm 2, 2, 3
635 ; PWR6-NEXT: vspltisb 3, 5
636 ; PWR6-NEXT: vand 2, 2, 4
637 ; PWR6-NEXT: vcmpgtub 2, 3, 2
638 ; PWR6-NEXT: blr
642 ; PWR7-NEXT: vspltisb 3, 1
643 ; PWR7-NEXT: addis 3, 2, .LCPI7_0@toc@ha
644 ; PWR7-NEXT: addi 3, 3, .LCPI7_0@toc@l
645 ; PWR7-NEXT: vspltisb 4, 2
646 ; PWR7-NEXT: lxvw4x 0, 0, 3
647 ; PWR7-NEXT: addis 3, 2, .LCPI7_1@toc@ha
648 ; PWR7-NEXT: vsrb 3, 2, 3
649 ; PWR7-NEXT: addi 3, 3, .LCPI7_1@toc@l
650 ; PWR7-NEXT: xxland 35, 35, 0
651 ; PWR7-NEXT: lxvw4x 0, 0, 3
652 ; PWR7-NEXT: vsububm 2, 2, 3
653 ; PWR7-NEXT: vsrb 3, 2, 4
654 ; PWR7-NEXT: xxland 34, 34, 0
655 ; PWR7-NEXT: vspltisb 4, 4
656 ; PWR7-NEXT: xxland 35, 35, 0
657 ; PWR7-NEXT: vaddubm 2, 2, 3
658 ; PWR7-NEXT: vsrb 3, 2, 4
659 ; PWR7-NEXT: vspltisb 4, 15
660 ; PWR7-NEXT: vaddubm 2, 2, 3
661 ; PWR7-NEXT: vspltisb 3, 5
662 ; PWR7-NEXT: xxland 34, 34, 36
663 ; PWR7-NEXT: vcmpgtub 2, 3, 2
664 ; PWR7-NEXT: blr
668 ; PWR8-NEXT: vspltisb 3, 5
669 ; PWR8-NEXT: vpopcntb 2, 2
670 ; PWR8-NEXT: vcmpgtub 2, 3, 2
671 ; PWR8-NEXT: blr
675 ; PWR9-NEXT: xxspltib 35, 5
676 ; PWR9-NEXT: vpopcntb 2, 2
677 ; PWR9-NEXT: vcmpgtub 2, 3, 2
678 ; PWR9-NEXT: blr
688 ; PWR5-NEXT: addis 3, 2, .LCPI8_0@toc@ha
689 ; PWR5-NEXT: vspltisb 3, 1
690 ; PWR5-NEXT: addi 3, 3, .LCPI8_0@toc@l
691 ; PWR5-NEXT: vsrb 3, 2, 3
692 ; PWR5-NEXT: lvx 4, 0, 3
693 ; PWR5-NEXT: addis 3, 2, .LCPI8_1@toc@ha
694 ; PWR5-NEXT: addi 3, 3, .LCPI8_1@toc@l
695 ; PWR5-NEXT: vspltisb 5, 2
696 ; PWR5-NEXT: vand 3, 3, 4
697 ; PWR5-NEXT: lvx 4, 0, 3
698 ; PWR5-NEXT: vsububm 2, 2, 3
699 ; PWR5-NEXT: vand 3, 2, 4
700 ; PWR5-NEXT: vsrb 2, 2, 5
701 ; PWR5-NEXT: vand 2, 2, 4
702 ; PWR5-NEXT: vspltisb 4, 4
703 ; PWR5-NEXT: vaddubm 2, 3, 2
704 ; PWR5-NEXT: vsrb 3, 2, 4
705 ; PWR5-NEXT: vspltisb 4, 15
706 ; PWR5-NEXT: vaddubm 2, 2, 3
707 ; PWR5-NEXT: vspltisb 3, 5
708 ; PWR5-NEXT: vand 2, 2, 4
709 ; PWR5-NEXT: vcmpgtub 2, 2, 3
710 ; PWR5-NEXT: blr
714 ; PWR6-NEXT: addis 3, 2, .LCPI8_0@toc@ha
715 ; PWR6-NEXT: vspltisb 3, 1
716 ; PWR6-NEXT: addi 3, 3, .LCPI8_0@toc@l
717 ; PWR6-NEXT: vsrb 3, 2, 3
718 ; PWR6-NEXT: lvx 4, 0, 3
719 ; PWR6-NEXT: addis 3, 2, .LCPI8_1@toc@ha
720 ; PWR6-NEXT: addi 3, 3, .LCPI8_1@toc@l
721 ; PWR6-NEXT: vspltisb 5, 2
722 ; PWR6-NEXT: vand 3, 3, 4
723 ; PWR6-NEXT: lvx 4, 0, 3
724 ; PWR6-NEXT: vsububm 2, 2, 3
725 ; PWR6-NEXT: vand 3, 2, 4
726 ; PWR6-NEXT: vsrb 2, 2, 5
727 ; PWR6-NEXT: vand 2, 2, 4
728 ; PWR6-NEXT: vspltisb 4, 4
729 ; PWR6-NEXT: vaddubm 2, 3, 2
730 ; PWR6-NEXT: vsrb 3, 2, 4
731 ; PWR6-NEXT: vspltisb 4, 15
732 ; PWR6-NEXT: vaddubm 2, 2, 3
733 ; PWR6-NEXT: vspltisb 3, 5
734 ; PWR6-NEXT: vand 2, 2, 4
735 ; PWR6-NEXT: vcmpgtub 2, 2, 3
736 ; PWR6-NEXT: blr
740 ; PWR7-NEXT: vspltisb 3, 1
741 ; PWR7-NEXT: addis 3, 2, .LCPI8_0@toc@ha
742 ; PWR7-NEXT: addi 3, 3, .LCPI8_0@toc@l
743 ; PWR7-NEXT: vspltisb 4, 2
744 ; PWR7-NEXT: lxvw4x 0, 0, 3
745 ; PWR7-NEXT: addis 3, 2, .LCPI8_1@toc@ha
746 ; PWR7-NEXT: vsrb 3, 2, 3
747 ; PWR7-NEXT: addi 3, 3, .LCPI8_1@toc@l
748 ; PWR7-NEXT: xxland 35, 35, 0
749 ; PWR7-NEXT: lxvw4x 0, 0, 3
750 ; PWR7-NEXT: vsububm 2, 2, 3
751 ; PWR7-NEXT: vsrb 3, 2, 4
752 ; PWR7-NEXT: xxland 34, 34, 0
753 ; PWR7-NEXT: vspltisb 4, 4
754 ; PWR7-NEXT: xxland 35, 35, 0
755 ; PWR7-NEXT: vaddubm 2, 2, 3
756 ; PWR7-NEXT: vsrb 3, 2, 4
757 ; PWR7-NEXT: vspltisb 4, 15
758 ; PWR7-NEXT: vaddubm 2, 2, 3
759 ; PWR7-NEXT: vspltisb 3, 5
760 ; PWR7-NEXT: xxland 34, 34, 36
761 ; PWR7-NEXT: vcmpgtub 2, 2, 3
762 ; PWR7-NEXT: blr
766 ; PWR8-NEXT: vspltisb 3, 5
767 ; PWR8-NEXT: vpopcntb 2, 2
768 ; PWR8-NEXT: vcmpgtub 2, 2, 3
769 ; PWR8-NEXT: blr
773 ; PWR9-NEXT: xxspltib 35, 5
774 ; PWR9-NEXT: vpopcntb 2, 2
775 ; PWR9-NEXT: vcmpgtub 2, 2, 3
776 ; PWR9-NEXT: blr
786 ; PWR5-NEXT: addis 3, 2, .LCPI9_0@toc@ha
787 ; PWR5-NEXT: vspltisb 3, 1
788 ; PWR5-NEXT: addi 3, 3, .LCPI9_0@toc@l
789 ; PWR5-NEXT: vsrb 3, 2, 3
790 ; PWR5-NEXT: lvx 4, 0, 3
791 ; PWR5-NEXT: addis 3, 2, .LCPI9_1@toc@ha
792 ; PWR5-NEXT: addi 3, 3, .LCPI9_1@toc@l
793 ; PWR5-NEXT: vspltisb 5, 2
794 ; PWR5-NEXT: vand 3, 3, 4
795 ; PWR5-NEXT: lvx 4, 0, 3
796 ; PWR5-NEXT: vsububm 2, 2, 3
797 ; PWR5-NEXT: vand 3, 2, 4
798 ; PWR5-NEXT: vsrb 2, 2, 5
799 ; PWR5-NEXT: vand 2, 2, 4
800 ; PWR5-NEXT: vspltisb 4, 4
801 ; PWR5-NEXT: vaddubm 2, 3, 2
802 ; PWR5-NEXT: vsrb 3, 2, 4
803 ; PWR5-NEXT: vspltisb 4, 15
804 ; PWR5-NEXT: vaddubm 2, 2, 3
805 ; PWR5-NEXT: vspltisb 3, 6
806 ; PWR5-NEXT: vand 2, 2, 4
807 ; PWR5-NEXT: vcmpgtub 2, 3, 2
808 ; PWR5-NEXT: blr
812 ; PWR6-NEXT: addis 3, 2, .LCPI9_0@toc@ha
813 ; PWR6-NEXT: vspltisb 3, 1
814 ; PWR6-NEXT: addi 3, 3, .LCPI9_0@toc@l
815 ; PWR6-NEXT: vsrb 3, 2, 3
816 ; PWR6-NEXT: lvx 4, 0, 3
817 ; PWR6-NEXT: addis 3, 2, .LCPI9_1@toc@ha
818 ; PWR6-NEXT: addi 3, 3, .LCPI9_1@toc@l
819 ; PWR6-NEXT: vspltisb 5, 2
820 ; PWR6-NEXT: vand 3, 3, 4
821 ; PWR6-NEXT: lvx 4, 0, 3
822 ; PWR6-NEXT: vsububm 2, 2, 3
823 ; PWR6-NEXT: vand 3, 2, 4
824 ; PWR6-NEXT: vsrb 2, 2, 5
825 ; PWR6-NEXT: vand 2, 2, 4
826 ; PWR6-NEXT: vspltisb 4, 4
827 ; PWR6-NEXT: vaddubm 2, 3, 2
828 ; PWR6-NEXT: vsrb 3, 2, 4
829 ; PWR6-NEXT: vspltisb 4, 15
830 ; PWR6-NEXT: vaddubm 2, 2, 3
831 ; PWR6-NEXT: vspltisb 3, 6
832 ; PWR6-NEXT: vand 2, 2, 4
833 ; PWR6-NEXT: vcmpgtub 2, 3, 2
834 ; PWR6-NEXT: blr
838 ; PWR7-NEXT: vspltisb 3, 1
839 ; PWR7-NEXT: addis 3, 2, .LCPI9_0@toc@ha
840 ; PWR7-NEXT: addi 3, 3, .LCPI9_0@toc@l
841 ; PWR7-NEXT: vspltisb 4, 2
842 ; PWR7-NEXT: lxvw4x 0, 0, 3
843 ; PWR7-NEXT: addis 3, 2, .LCPI9_1@toc@ha
844 ; PWR7-NEXT: vsrb 3, 2, 3
845 ; PWR7-NEXT: addi 3, 3, .LCPI9_1@toc@l
846 ; PWR7-NEXT: xxland 35, 35, 0
847 ; PWR7-NEXT: lxvw4x 0, 0, 3
848 ; PWR7-NEXT: vsububm 2, 2, 3
849 ; PWR7-NEXT: vsrb 3, 2, 4
850 ; PWR7-NEXT: xxland 34, 34, 0
851 ; PWR7-NEXT: vspltisb 4, 4
852 ; PWR7-NEXT: xxland 35, 35, 0
853 ; PWR7-NEXT: vaddubm 2, 2, 3
854 ; PWR7-NEXT: vsrb 3, 2, 4
855 ; PWR7-NEXT: vspltisb 4, 15
856 ; PWR7-NEXT: vaddubm 2, 2, 3
857 ; PWR7-NEXT: vspltisb 3, 6
858 ; PWR7-NEXT: xxland 34, 34, 36
859 ; PWR7-NEXT: vcmpgtub 2, 3, 2
860 ; PWR7-NEXT: blr
864 ; PWR8-NEXT: vspltisb 3, 6
865 ; PWR8-NEXT: vpopcntb 2, 2
866 ; PWR8-NEXT: vcmpgtub 2, 3, 2
867 ; PWR8-NEXT: blr
871 ; PWR9-NEXT: xxspltib 35, 6
872 ; PWR9-NEXT: vpopcntb 2, 2
873 ; PWR9-NEXT: vcmpgtub 2, 3, 2
874 ; PWR9-NEXT: blr
884 ; PWR5-NEXT: addis 3, 2, .LCPI10_0@toc@ha
885 ; PWR5-NEXT: vspltisb 3, 1
886 ; PWR5-NEXT: addi 3, 3, .LCPI10_0@toc@l
887 ; PWR5-NEXT: vsrb 3, 2, 3
888 ; PWR5-NEXT: lvx 4, 0, 3
889 ; PWR5-NEXT: addis 3, 2, .LCPI10_1@toc@ha
890 ; PWR5-NEXT: addi 3, 3, .LCPI10_1@toc@l
891 ; PWR5-NEXT: vspltisb 5, 2
892 ; PWR5-NEXT: vand 3, 3, 4
893 ; PWR5-NEXT: lvx 4, 0, 3
894 ; PWR5-NEXT: vsububm 2, 2, 3
895 ; PWR5-NEXT: vand 3, 2, 4
896 ; PWR5-NEXT: vsrb 2, 2, 5
897 ; PWR5-NEXT: vand 2, 2, 4
898 ; PWR5-NEXT: vspltisb 4, 4
899 ; PWR5-NEXT: vaddubm 2, 3, 2
900 ; PWR5-NEXT: vsrb 3, 2, 4
901 ; PWR5-NEXT: vspltisb 4, 15
902 ; PWR5-NEXT: vaddubm 2, 2, 3
903 ; PWR5-NEXT: vspltisb 3, 6
904 ; PWR5-NEXT: vand 2, 2, 4
905 ; PWR5-NEXT: vcmpgtub 2, 2, 3
906 ; PWR5-NEXT: blr
910 ; PWR6-NEXT: addis 3, 2, .LCPI10_0@toc@ha
911 ; PWR6-NEXT: vspltisb 3, 1
912 ; PWR6-NEXT: addi 3, 3, .LCPI10_0@toc@l
913 ; PWR6-NEXT: vsrb 3, 2, 3
914 ; PWR6-NEXT: lvx 4, 0, 3
915 ; PWR6-NEXT: addis 3, 2, .LCPI10_1@toc@ha
916 ; PWR6-NEXT: addi 3, 3, .LCPI10_1@toc@l
917 ; PWR6-NEXT: vspltisb 5, 2
918 ; PWR6-NEXT: vand 3, 3, 4
919 ; PWR6-NEXT: lvx 4, 0, 3
920 ; PWR6-NEXT: vsububm 2, 2, 3
921 ; PWR6-NEXT: vand 3, 2, 4
922 ; PWR6-NEXT: vsrb 2, 2, 5
923 ; PWR6-NEXT: vand 2, 2, 4
924 ; PWR6-NEXT: vspltisb 4, 4
925 ; PWR6-NEXT: vaddubm 2, 3, 2
926 ; PWR6-NEXT: vsrb 3, 2, 4
927 ; PWR6-NEXT: vspltisb 4, 15
928 ; PWR6-NEXT: vaddubm 2, 2, 3
929 ; PWR6-NEXT: vspltisb 3, 6
930 ; PWR6-NEXT: vand 2, 2, 4
931 ; PWR6-NEXT: vcmpgtub 2, 2, 3
932 ; PWR6-NEXT: blr
936 ; PWR7-NEXT: vspltisb 3, 1
937 ; PWR7-NEXT: addis 3, 2, .LCPI10_0@toc@ha
938 ; PWR7-NEXT: addi 3, 3, .LCPI10_0@toc@l
939 ; PWR7-NEXT: vspltisb 4, 2
940 ; PWR7-NEXT: lxvw4x 0, 0, 3
941 ; PWR7-NEXT: addis 3, 2, .LCPI10_1@toc@ha
942 ; PWR7-NEXT: vsrb 3, 2, 3
943 ; PWR7-NEXT: addi 3, 3, .LCPI10_1@toc@l
944 ; PWR7-NEXT: xxland 35, 35, 0
945 ; PWR7-NEXT: lxvw4x 0, 0, 3
946 ; PWR7-NEXT: vsububm 2, 2, 3
947 ; PWR7-NEXT: vsrb 3, 2, 4
948 ; PWR7-NEXT: xxland 34, 34, 0
949 ; PWR7-NEXT: vspltisb 4, 4
950 ; PWR7-NEXT: xxland 35, 35, 0
951 ; PWR7-NEXT: vaddubm 2, 2, 3
952 ; PWR7-NEXT: vsrb 3, 2, 4
953 ; PWR7-NEXT: vspltisb 4, 15
954 ; PWR7-NEXT: vaddubm 2, 2, 3
955 ; PWR7-NEXT: vspltisb 3, 6
956 ; PWR7-NEXT: xxland 34, 34, 36
957 ; PWR7-NEXT: vcmpgtub 2, 2, 3
958 ; PWR7-NEXT: blr
962 ; PWR8-NEXT: vspltisb 3, 6
963 ; PWR8-NEXT: vpopcntb 2, 2
964 ; PWR8-NEXT: vcmpgtub 2, 2, 3
965 ; PWR8-NEXT: blr
969 ; PWR9-NEXT: xxspltib 35, 6
970 ; PWR9-NEXT: vpopcntb 2, 2
971 ; PWR9-NEXT: vcmpgtub 2, 2, 3
972 ; PWR9-NEXT: blr
982 ; PWR5-NEXT: addis 3, 2, .LCPI11_0@toc@ha
983 ; PWR5-NEXT: vspltisb 3, 1
984 ; PWR5-NEXT: addi 3, 3, .LCPI11_0@toc@l
985 ; PWR5-NEXT: vsrb 3, 2, 3
986 ; PWR5-NEXT: lvx 4, 0, 3
987 ; PWR5-NEXT: addis 3, 2, .LCPI11_1@toc@ha
988 ; PWR5-NEXT: addi 3, 3, .LCPI11_1@toc@l
989 ; PWR5-NEXT: vspltisb 5, 2
990 ; PWR5-NEXT: vand 3, 3, 4
991 ; PWR5-NEXT: lvx 4, 0, 3
992 ; PWR5-NEXT: vsububm 2, 2, 3
993 ; PWR5-NEXT: vand 3, 2, 4
994 ; PWR5-NEXT: vsrb 2, 2, 5
995 ; PWR5-NEXT: vand 2, 2, 4
996 ; PWR5-NEXT: vspltisb 4, 4
997 ; PWR5-NEXT: vaddubm 2, 3, 2
998 ; PWR5-NEXT: vsrb 3, 2, 4
999 ; PWR5-NEXT: vspltisb 4, 15
1000 ; PWR5-NEXT: vaddubm 2, 2, 3
1001 ; PWR5-NEXT: vspltisb 3, 7
1002 ; PWR5-NEXT: vand 2, 2, 4
1003 ; PWR5-NEXT: vcmpgtub 2, 3, 2
1004 ; PWR5-NEXT: blr
1008 ; PWR6-NEXT: addis 3, 2, .LCPI11_0@toc@ha
1009 ; PWR6-NEXT: vspltisb 3, 1
1010 ; PWR6-NEXT: addi 3, 3, .LCPI11_0@toc@l
1011 ; PWR6-NEXT: vsrb 3, 2, 3
1012 ; PWR6-NEXT: lvx 4, 0, 3
1013 ; PWR6-NEXT: addis 3, 2, .LCPI11_1@toc@ha
1014 ; PWR6-NEXT: addi 3, 3, .LCPI11_1@toc@l
1015 ; PWR6-NEXT: vspltisb 5, 2
1016 ; PWR6-NEXT: vand 3, 3, 4
1017 ; PWR6-NEXT: lvx 4, 0, 3
1018 ; PWR6-NEXT: vsububm 2, 2, 3
1019 ; PWR6-NEXT: vand 3, 2, 4
1020 ; PWR6-NEXT: vsrb 2, 2, 5
1021 ; PWR6-NEXT: vand 2, 2, 4
1022 ; PWR6-NEXT: vspltisb 4, 4
1023 ; PWR6-NEXT: vaddubm 2, 3, 2
1024 ; PWR6-NEXT: vsrb 3, 2, 4
1025 ; PWR6-NEXT: vspltisb 4, 15
1026 ; PWR6-NEXT: vaddubm 2, 2, 3
1027 ; PWR6-NEXT: vspltisb 3, 7
1028 ; PWR6-NEXT: vand 2, 2, 4
1029 ; PWR6-NEXT: vcmpgtub 2, 3, 2
1030 ; PWR6-NEXT: blr
1034 ; PWR7-NEXT: vspltisb 3, 1
1035 ; PWR7-NEXT: addis 3, 2, .LCPI11_0@toc@ha
1036 ; PWR7-NEXT: addi 3, 3, .LCPI11_0@toc@l
1037 ; PWR7-NEXT: vspltisb 4, 2
1038 ; PWR7-NEXT: lxvw4x 0, 0, 3
1039 ; PWR7-NEXT: addis 3, 2, .LCPI11_1@toc@ha
1040 ; PWR7-NEXT: vsrb 3, 2, 3
1041 ; PWR7-NEXT: addi 3, 3, .LCPI11_1@toc@l
1042 ; PWR7-NEXT: xxland 35, 35, 0
1043 ; PWR7-NEXT: lxvw4x 0, 0, 3
1044 ; PWR7-NEXT: vsububm 2, 2, 3
1045 ; PWR7-NEXT: vsrb 3, 2, 4
1046 ; PWR7-NEXT: xxland 34, 34, 0
1047 ; PWR7-NEXT: vspltisb 4, 4
1048 ; PWR7-NEXT: xxland 35, 35, 0
1049 ; PWR7-NEXT: vaddubm 2, 2, 3
1050 ; PWR7-NEXT: vsrb 3, 2, 4
1051 ; PWR7-NEXT: vspltisb 4, 15
1052 ; PWR7-NEXT: vaddubm 2, 2, 3
1053 ; PWR7-NEXT: vspltisb 3, 7
1054 ; PWR7-NEXT: xxland 34, 34, 36
1055 ; PWR7-NEXT: vcmpgtub 2, 3, 2
1056 ; PWR7-NEXT: blr
1060 ; PWR8-NEXT: vspltisb 3, 7
1061 ; PWR8-NEXT: vpopcntb 2, 2
1062 ; PWR8-NEXT: vcmpgtub 2, 3, 2
1063 ; PWR8-NEXT: blr
1067 ; PWR9-NEXT: xxspltib 35, 7
1068 ; PWR9-NEXT: vpopcntb 2, 2
1069 ; PWR9-NEXT: vcmpgtub 2, 3, 2
1070 ; PWR9-NEXT: blr
1080 ; PWR5-NEXT: vspltisb 3, -1
1081 ; PWR5-NEXT: vadduhm 3, 2, 3
1082 ; PWR5-NEXT: vand 2, 2, 3
1083 ; PWR5-NEXT: vxor 3, 3, 3
1084 ; PWR5-NEXT: vcmpequh 2, 2, 3
1085 ; PWR5-NEXT: vnot 2, 2
1086 ; PWR5-NEXT: blr
1090 ; PWR6-NEXT: vspltisb 3, -1
1091 ; PWR6-NEXT: vadduhm 3, 2, 3
1092 ; PWR6-NEXT: vand 2, 2, 3
1093 ; PWR6-NEXT: vxor 3, 3, 3
1094 ; PWR6-NEXT: vcmpequh 2, 2, 3
1095 ; PWR6-NEXT: vnot 2, 2
1096 ; PWR6-NEXT: blr
1100 ; PWR7-NEXT: vspltisb 3, -1
1101 ; PWR7-NEXT: vadduhm 3, 2, 3
1102 ; PWR7-NEXT: xxland 34, 34, 35
1103 ; PWR7-NEXT: xxlxor 35, 35, 35
1104 ; PWR7-NEXT: vcmpequh 2, 2, 3
1105 ; PWR7-NEXT: xxlnor 34, 34, 34
1106 ; PWR7-NEXT: blr
1110 ; PWR8-NEXT: vspltish 3, 1
1111 ; PWR8-NEXT: vpopcnth 2, 2
1112 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
1113 ; PWR8-NEXT: blr
1117 ; PWR9-NEXT: vspltish 3, 1
1118 ; PWR9-NEXT: vpopcnth 2, 2
1119 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
1120 ; PWR9-NEXT: blr
1130 ; PWR5-NEXT: vspltisb 3, -1
1131 ; PWR5-NEXT: vadduhm 3, 2, 3
1132 ; PWR5-NEXT: vand 2, 2, 3
1133 ; PWR5-NEXT: vxor 3, 3, 3
1134 ; PWR5-NEXT: vcmpequh 2, 2, 3
1135 ; PWR5-NEXT: blr
1139 ; PWR6-NEXT: vspltisb 3, -1
1140 ; PWR6-NEXT: vadduhm 3, 2, 3
1141 ; PWR6-NEXT: vand 2, 2, 3
1142 ; PWR6-NEXT: vxor 3, 3, 3
1143 ; PWR6-NEXT: vcmpequh 2, 2, 3
1144 ; PWR6-NEXT: blr
1148 ; PWR7-NEXT: vspltisb 3, -1
1149 ; PWR7-NEXT: vadduhm 3, 2, 3
1150 ; PWR7-NEXT: xxland 34, 34, 35
1151 ; PWR7-NEXT: xxlxor 35, 35, 35
1152 ; PWR7-NEXT: vcmpequh 2, 2, 3
1153 ; PWR7-NEXT: blr
1157 ; PWR8-NEXT: vspltish 3, 2
1158 ; PWR8-NEXT: vpopcnth 2, 2
1159 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
1160 ; PWR8-NEXT: blr
1164 ; PWR9-NEXT: vspltish 3, 2
1165 ; PWR9-NEXT: vpopcnth 2, 2
1166 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
1167 ; PWR9-NEXT: blr
1177 ; PWR5-NEXT: addis 3, 2, .LCPI14_0@toc@ha
1178 ; PWR5-NEXT: vspltish 3, 1
1179 ; PWR5-NEXT: addi 3, 3, .LCPI14_0@toc@l
1180 ; PWR5-NEXT: vsrh 3, 2, 3
1181 ; PWR5-NEXT: lvx 4, 0, 3
1182 ; PWR5-NEXT: addis 3, 2, .LCPI14_1@toc@ha
1183 ; PWR5-NEXT: addi 3, 3, .LCPI14_1@toc@l
1184 ; PWR5-NEXT: vspltish 5, 2
1185 ; PWR5-NEXT: vand 3, 3, 4
1186 ; PWR5-NEXT: lvx 4, 0, 3
1187 ; PWR5-NEXT: vsubuhm 2, 2, 3
1188 ; PWR5-NEXT: vand 3, 2, 4
1189 ; PWR5-NEXT: vsrh 2, 2, 5
1190 ; PWR5-NEXT: vand 2, 2, 4
1191 ; PWR5-NEXT: vadduhm 2, 3, 2
1192 ; PWR5-NEXT: vspltish 3, 4
1193 ; PWR5-NEXT: vsrh 3, 2, 3
1194 ; PWR5-NEXT: vadduhm 2, 2, 3
1195 ; PWR5-NEXT: vspltisb 3, 15
1196 ; PWR5-NEXT: vxor 4, 4, 4
1197 ; PWR5-NEXT: vand 2, 2, 3
1198 ; PWR5-NEXT: vspltisb 3, 1
1199 ; PWR5-NEXT: vmladduhm 2, 2, 3, 4
1200 ; PWR5-NEXT: vspltish 3, 8
1201 ; PWR5-NEXT: vsrh 2, 2, 3
1202 ; PWR5-NEXT: vcmpgtuh 2, 2, 5
1203 ; PWR5-NEXT: blr
1207 ; PWR6-NEXT: addis 3, 2, .LCPI14_0@toc@ha
1208 ; PWR6-NEXT: vspltish 3, 1
1209 ; PWR6-NEXT: addi 3, 3, .LCPI14_0@toc@l
1210 ; PWR6-NEXT: vsrh 3, 2, 3
1211 ; PWR6-NEXT: lvx 4, 0, 3
1212 ; PWR6-NEXT: addis 3, 2, .LCPI14_1@toc@ha
1213 ; PWR6-NEXT: addi 3, 3, .LCPI14_1@toc@l
1214 ; PWR6-NEXT: vspltish 5, 2
1215 ; PWR6-NEXT: vand 3, 3, 4
1216 ; PWR6-NEXT: lvx 4, 0, 3
1217 ; PWR6-NEXT: vsubuhm 2, 2, 3
1218 ; PWR6-NEXT: vand 3, 2, 4
1219 ; PWR6-NEXT: vsrh 2, 2, 5
1220 ; PWR6-NEXT: vand 2, 2, 4
1221 ; PWR6-NEXT: vadduhm 2, 3, 2
1222 ; PWR6-NEXT: vspltish 3, 4
1223 ; PWR6-NEXT: vsrh 3, 2, 3
1224 ; PWR6-NEXT: vadduhm 2, 2, 3
1225 ; PWR6-NEXT: vspltisb 3, 15
1226 ; PWR6-NEXT: vxor 4, 4, 4
1227 ; PWR6-NEXT: vand 2, 2, 3
1228 ; PWR6-NEXT: vspltisb 3, 1
1229 ; PWR6-NEXT: vmladduhm 2, 2, 3, 4
1230 ; PWR6-NEXT: vspltish 3, 8
1231 ; PWR6-NEXT: vsrh 2, 2, 3
1232 ; PWR6-NEXT: vcmpgtuh 2, 2, 5
1233 ; PWR6-NEXT: blr
1237 ; PWR7-NEXT: vspltish 3, 1
1238 ; PWR7-NEXT: addis 3, 2, .LCPI14_0@toc@ha
1239 ; PWR7-NEXT: addi 3, 3, .LCPI14_0@toc@l
1240 ; PWR7-NEXT: vspltish 4, 2
1241 ; PWR7-NEXT: lxvw4x 0, 0, 3
1242 ; PWR7-NEXT: addis 3, 2, .LCPI14_1@toc@ha
1243 ; PWR7-NEXT: vspltish 5, 4
1244 ; PWR7-NEXT: vsrh 3, 2, 3
1245 ; PWR7-NEXT: addi 3, 3, .LCPI14_1@toc@l
1246 ; PWR7-NEXT: vspltisb 0, 15
1247 ; PWR7-NEXT: xxland 35, 35, 0
1248 ; PWR7-NEXT: lxvw4x 0, 0, 3
1249 ; PWR7-NEXT: vsubuhm 2, 2, 3
1250 ; PWR7-NEXT: vsrh 3, 2, 4
1251 ; PWR7-NEXT: xxland 34, 34, 0
1252 ; PWR7-NEXT: xxland 35, 35, 0
1253 ; PWR7-NEXT: vadduhm 2, 2, 3
1254 ; PWR7-NEXT: vsrh 3, 2, 5
1255 ; PWR7-NEXT: vxor 5, 5, 5
1256 ; PWR7-NEXT: vadduhm 2, 2, 3
1257 ; PWR7-NEXT: vspltisb 3, 1
1258 ; PWR7-NEXT: xxland 34, 34, 32
1259 ; PWR7-NEXT: vmladduhm 2, 2, 3, 5
1260 ; PWR7-NEXT: vspltish 3, 8
1261 ; PWR7-NEXT: vsrh 2, 2, 3
1262 ; PWR7-NEXT: vcmpgtuh 2, 2, 4
1263 ; PWR7-NEXT: blr
1267 ; PWR8-NEXT: vspltish 3, 2
1268 ; PWR8-NEXT: vpopcnth 2, 2
1269 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
1270 ; PWR8-NEXT: blr
1274 ; PWR9-NEXT: vspltish 3, 2
1275 ; PWR9-NEXT: vpopcnth 2, 2
1276 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
1277 ; PWR9-NEXT: blr
1287 ; PWR5-NEXT: addis 3, 2, .LCPI15_0@toc@ha
1288 ; PWR5-NEXT: vspltish 4, 1
1289 ; PWR5-NEXT: vxor 3, 3, 3
1290 ; PWR5-NEXT: addi 3, 3, .LCPI15_0@toc@l
1291 ; PWR5-NEXT: lvx 5, 0, 3
1292 ; PWR5-NEXT: addis 3, 2, .LCPI15_1@toc@ha
1293 ; PWR5-NEXT: addi 3, 3, .LCPI15_1@toc@l
1294 ; PWR5-NEXT: vsrh 4, 2, 4
1295 ; PWR5-NEXT: vand 4, 4, 5
1296 ; PWR5-NEXT: vspltish 5, 2
1297 ; PWR5-NEXT: vsubuhm 2, 2, 4
1298 ; PWR5-NEXT: vsrh 4, 2, 5
1299 ; PWR5-NEXT: lvx 5, 0, 3
1300 ; PWR5-NEXT: vand 2, 2, 5
1301 ; PWR5-NEXT: vand 4, 4, 5
1302 ; PWR5-NEXT: vspltish 5, 4
1303 ; PWR5-NEXT: vadduhm 2, 2, 4
1304 ; PWR5-NEXT: vsrh 4, 2, 5
1305 ; PWR5-NEXT: vspltisb 5, 15
1306 ; PWR5-NEXT: vadduhm 2, 2, 4
1307 ; PWR5-NEXT: vspltisb 4, 1
1308 ; PWR5-NEXT: vand 2, 2, 5
1309 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1310 ; PWR5-NEXT: vspltish 3, 8
1311 ; PWR5-NEXT: vsrh 2, 2, 3
1312 ; PWR5-NEXT: vspltish 3, 3
1313 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
1314 ; PWR5-NEXT: blr
1318 ; PWR6-NEXT: addis 3, 2, .LCPI15_0@toc@ha
1319 ; PWR6-NEXT: vspltish 4, 1
1320 ; PWR6-NEXT: vxor 3, 3, 3
1321 ; PWR6-NEXT: addi 3, 3, .LCPI15_0@toc@l
1322 ; PWR6-NEXT: lvx 5, 0, 3
1323 ; PWR6-NEXT: addis 3, 2, .LCPI15_1@toc@ha
1324 ; PWR6-NEXT: addi 3, 3, .LCPI15_1@toc@l
1325 ; PWR6-NEXT: vsrh 4, 2, 4
1326 ; PWR6-NEXT: vand 4, 4, 5
1327 ; PWR6-NEXT: vspltish 5, 2
1328 ; PWR6-NEXT: vsubuhm 2, 2, 4
1329 ; PWR6-NEXT: vsrh 4, 2, 5
1330 ; PWR6-NEXT: lvx 5, 0, 3
1331 ; PWR6-NEXT: vand 2, 2, 5
1332 ; PWR6-NEXT: vand 4, 4, 5
1333 ; PWR6-NEXT: vspltish 5, 4
1334 ; PWR6-NEXT: vadduhm 2, 2, 4
1335 ; PWR6-NEXT: vsrh 4, 2, 5
1336 ; PWR6-NEXT: vspltisb 5, 15
1337 ; PWR6-NEXT: vadduhm 2, 2, 4
1338 ; PWR6-NEXT: vspltisb 4, 1
1339 ; PWR6-NEXT: vand 2, 2, 5
1340 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
1341 ; PWR6-NEXT: vspltish 3, 8
1342 ; PWR6-NEXT: vsrh 2, 2, 3
1343 ; PWR6-NEXT: vspltish 3, 3
1344 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
1345 ; PWR6-NEXT: blr
1349 ; PWR7-NEXT: vspltish 3, 1
1350 ; PWR7-NEXT: addis 3, 2, .LCPI15_0@toc@ha
1351 ; PWR7-NEXT: addi 3, 3, .LCPI15_0@toc@l
1352 ; PWR7-NEXT: vspltish 4, 2
1353 ; PWR7-NEXT: lxvw4x 0, 0, 3
1354 ; PWR7-NEXT: addis 3, 2, .LCPI15_1@toc@ha
1355 ; PWR7-NEXT: vspltisb 5, 15
1356 ; PWR7-NEXT: vsrh 3, 2, 3
1357 ; PWR7-NEXT: addi 3, 3, .LCPI15_1@toc@l
1358 ; PWR7-NEXT: xxland 35, 35, 0
1359 ; PWR7-NEXT: lxvw4x 0, 0, 3
1360 ; PWR7-NEXT: vsubuhm 2, 2, 3
1361 ; PWR7-NEXT: vsrh 3, 2, 4
1362 ; PWR7-NEXT: xxland 34, 34, 0
1363 ; PWR7-NEXT: vspltish 4, 4
1364 ; PWR7-NEXT: xxland 35, 35, 0
1365 ; PWR7-NEXT: vadduhm 2, 2, 3
1366 ; PWR7-NEXT: vsrh 3, 2, 4
1367 ; PWR7-NEXT: vxor 4, 4, 4
1368 ; PWR7-NEXT: vadduhm 2, 2, 3
1369 ; PWR7-NEXT: vspltisb 3, 1
1370 ; PWR7-NEXT: xxland 34, 34, 37
1371 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
1372 ; PWR7-NEXT: vspltish 3, 8
1373 ; PWR7-NEXT: vsrh 2, 2, 3
1374 ; PWR7-NEXT: vspltish 3, 3
1375 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
1376 ; PWR7-NEXT: blr
1380 ; PWR8-NEXT: vspltish 3, 3
1381 ; PWR8-NEXT: vpopcnth 2, 2
1382 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
1383 ; PWR8-NEXT: blr
1387 ; PWR9-NEXT: vspltish 3, 3
1388 ; PWR9-NEXT: vpopcnth 2, 2
1389 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
1390 ; PWR9-NEXT: blr
1400 ; PWR5-NEXT: addis 3, 2, .LCPI16_0@toc@ha
1401 ; PWR5-NEXT: vspltish 4, 1
1402 ; PWR5-NEXT: vxor 3, 3, 3
1403 ; PWR5-NEXT: addi 3, 3, .LCPI16_0@toc@l
1404 ; PWR5-NEXT: lvx 5, 0, 3
1405 ; PWR5-NEXT: addis 3, 2, .LCPI16_1@toc@ha
1406 ; PWR5-NEXT: addi 3, 3, .LCPI16_1@toc@l
1407 ; PWR5-NEXT: vsrh 4, 2, 4
1408 ; PWR5-NEXT: vand 4, 4, 5
1409 ; PWR5-NEXT: vspltish 5, 2
1410 ; PWR5-NEXT: vsubuhm 2, 2, 4
1411 ; PWR5-NEXT: vsrh 4, 2, 5
1412 ; PWR5-NEXT: lvx 5, 0, 3
1413 ; PWR5-NEXT: vand 2, 2, 5
1414 ; PWR5-NEXT: vand 4, 4, 5
1415 ; PWR5-NEXT: vspltish 5, 4
1416 ; PWR5-NEXT: vadduhm 2, 2, 4
1417 ; PWR5-NEXT: vsrh 4, 2, 5
1418 ; PWR5-NEXT: vspltisb 5, 15
1419 ; PWR5-NEXT: vadduhm 2, 2, 4
1420 ; PWR5-NEXT: vspltisb 4, 1
1421 ; PWR5-NEXT: vand 2, 2, 5
1422 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1423 ; PWR5-NEXT: vspltish 3, 8
1424 ; PWR5-NEXT: vsrh 2, 2, 3
1425 ; PWR5-NEXT: vspltish 3, 3
1426 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
1427 ; PWR5-NEXT: blr
1431 ; PWR6-NEXT: addis 3, 2, .LCPI16_0@toc@ha
1432 ; PWR6-NEXT: vspltish 4, 1
1433 ; PWR6-NEXT: vxor 3, 3, 3
1434 ; PWR6-NEXT: addi 3, 3, .LCPI16_0@toc@l
1435 ; PWR6-NEXT: lvx 5, 0, 3
1436 ; PWR6-NEXT: addis 3, 2, .LCPI16_1@toc@ha
1437 ; PWR6-NEXT: addi 3, 3, .LCPI16_1@toc@l
1438 ; PWR6-NEXT: vsrh 4, 2, 4
1439 ; PWR6-NEXT: vand 4, 4, 5
1440 ; PWR6-NEXT: vspltish 5, 2
1441 ; PWR6-NEXT: vsubuhm 2, 2, 4
1442 ; PWR6-NEXT: vsrh 4, 2, 5
1443 ; PWR6-NEXT: lvx 5, 0, 3
1444 ; PWR6-NEXT: vand 2, 2, 5
1445 ; PWR6-NEXT: vand 4, 4, 5
1446 ; PWR6-NEXT: vspltish 5, 4
1447 ; PWR6-NEXT: vadduhm 2, 2, 4
1448 ; PWR6-NEXT: vsrh 4, 2, 5
1449 ; PWR6-NEXT: vspltisb 5, 15
1450 ; PWR6-NEXT: vadduhm 2, 2, 4
1451 ; PWR6-NEXT: vspltisb 4, 1
1452 ; PWR6-NEXT: vand 2, 2, 5
1453 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
1454 ; PWR6-NEXT: vspltish 3, 8
1455 ; PWR6-NEXT: vsrh 2, 2, 3
1456 ; PWR6-NEXT: vspltish 3, 3
1457 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
1458 ; PWR6-NEXT: blr
1462 ; PWR7-NEXT: vspltish 3, 1
1463 ; PWR7-NEXT: addis 3, 2, .LCPI16_0@toc@ha
1464 ; PWR7-NEXT: addi 3, 3, .LCPI16_0@toc@l
1465 ; PWR7-NEXT: vspltish 4, 2
1466 ; PWR7-NEXT: lxvw4x 0, 0, 3
1467 ; PWR7-NEXT: addis 3, 2, .LCPI16_1@toc@ha
1468 ; PWR7-NEXT: vspltisb 5, 15
1469 ; PWR7-NEXT: vsrh 3, 2, 3
1470 ; PWR7-NEXT: addi 3, 3, .LCPI16_1@toc@l
1471 ; PWR7-NEXT: xxland 35, 35, 0
1472 ; PWR7-NEXT: lxvw4x 0, 0, 3
1473 ; PWR7-NEXT: vsubuhm 2, 2, 3
1474 ; PWR7-NEXT: vsrh 3, 2, 4
1475 ; PWR7-NEXT: xxland 34, 34, 0
1476 ; PWR7-NEXT: vspltish 4, 4
1477 ; PWR7-NEXT: xxland 35, 35, 0
1478 ; PWR7-NEXT: vadduhm 2, 2, 3
1479 ; PWR7-NEXT: vsrh 3, 2, 4
1480 ; PWR7-NEXT: vxor 4, 4, 4
1481 ; PWR7-NEXT: vadduhm 2, 2, 3
1482 ; PWR7-NEXT: vspltisb 3, 1
1483 ; PWR7-NEXT: xxland 34, 34, 37
1484 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
1485 ; PWR7-NEXT: vspltish 3, 8
1486 ; PWR7-NEXT: vsrh 2, 2, 3
1487 ; PWR7-NEXT: vspltish 3, 3
1488 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
1489 ; PWR7-NEXT: blr
1493 ; PWR8-NEXT: vspltish 3, 3
1494 ; PWR8-NEXT: vpopcnth 2, 2
1495 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
1496 ; PWR8-NEXT: blr
1500 ; PWR9-NEXT: vspltish 3, 3
1501 ; PWR9-NEXT: vpopcnth 2, 2
1502 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
1503 ; PWR9-NEXT: blr
1513 ; PWR5-NEXT: addis 3, 2, .LCPI17_0@toc@ha
1514 ; PWR5-NEXT: vspltish 4, 1
1515 ; PWR5-NEXT: vxor 3, 3, 3
1516 ; PWR5-NEXT: addi 3, 3, .LCPI17_0@toc@l
1517 ; PWR5-NEXT: lvx 5, 0, 3
1518 ; PWR5-NEXT: addis 3, 2, .LCPI17_1@toc@ha
1519 ; PWR5-NEXT: addi 3, 3, .LCPI17_1@toc@l
1520 ; PWR5-NEXT: vsrh 4, 2, 4
1521 ; PWR5-NEXT: vand 4, 4, 5
1522 ; PWR5-NEXT: vspltish 5, 2
1523 ; PWR5-NEXT: vsubuhm 2, 2, 4
1524 ; PWR5-NEXT: vsrh 4, 2, 5
1525 ; PWR5-NEXT: lvx 5, 0, 3
1526 ; PWR5-NEXT: vand 2, 2, 5
1527 ; PWR5-NEXT: vand 4, 4, 5
1528 ; PWR5-NEXT: vspltish 5, 4
1529 ; PWR5-NEXT: vadduhm 2, 2, 4
1530 ; PWR5-NEXT: vsrh 4, 2, 5
1531 ; PWR5-NEXT: vadduhm 2, 2, 4
1532 ; PWR5-NEXT: vspltisb 4, 15
1533 ; PWR5-NEXT: vand 2, 2, 4
1534 ; PWR5-NEXT: vspltisb 4, 1
1535 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1536 ; PWR5-NEXT: vspltish 3, 8
1537 ; PWR5-NEXT: vsrh 2, 2, 3
1538 ; PWR5-NEXT: vcmpgtuh 2, 5, 2
1539 ; PWR5-NEXT: blr
1543 ; PWR6-NEXT: addis 3, 2, .LCPI17_0@toc@ha
1544 ; PWR6-NEXT: vspltish 4, 1
1545 ; PWR6-NEXT: vxor 3, 3, 3
1546 ; PWR6-NEXT: addi 3, 3, .LCPI17_0@toc@l
1547 ; PWR6-NEXT: lvx 5, 0, 3
1548 ; PWR6-NEXT: addis 3, 2, .LCPI17_1@toc@ha
1549 ; PWR6-NEXT: addi 3, 3, .LCPI17_1@toc@l
1550 ; PWR6-NEXT: vsrh 4, 2, 4
1551 ; PWR6-NEXT: vand 4, 4, 5
1552 ; PWR6-NEXT: vspltish 5, 2
1553 ; PWR6-NEXT: vsubuhm 2, 2, 4
1554 ; PWR6-NEXT: vsrh 4, 2, 5
1555 ; PWR6-NEXT: lvx 5, 0, 3
1556 ; PWR6-NEXT: vand 2, 2, 5
1557 ; PWR6-NEXT: vand 4, 4, 5
1558 ; PWR6-NEXT: vspltish 5, 4
1559 ; PWR6-NEXT: vadduhm 2, 2, 4
1560 ; PWR6-NEXT: vsrh 4, 2, 5
1561 ; PWR6-NEXT: vadduhm 2, 2, 4
1562 ; PWR6-NEXT: vspltisb 4, 15
1563 ; PWR6-NEXT: vand 2, 2, 4
1564 ; PWR6-NEXT: vspltisb 4, 1
1565 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
1566 ; PWR6-NEXT: vspltish 3, 8
1567 ; PWR6-NEXT: vsrh 2, 2, 3
1568 ; PWR6-NEXT: vcmpgtuh 2, 5, 2
1569 ; PWR6-NEXT: blr
1573 ; PWR7-NEXT: vspltish 3, 1
1574 ; PWR7-NEXT: addis 3, 2, .LCPI17_0@toc@ha
1575 ; PWR7-NEXT: vxor 5, 5, 5
1576 ; PWR7-NEXT: addi 3, 3, .LCPI17_0@toc@l
1577 ; PWR7-NEXT: vspltish 4, 2
1578 ; PWR7-NEXT: lxvw4x 0, 0, 3
1579 ; PWR7-NEXT: addis 3, 2, .LCPI17_1@toc@ha
1580 ; PWR7-NEXT: vspltisb 0, 15
1581 ; PWR7-NEXT: vsrh 3, 2, 3
1582 ; PWR7-NEXT: addi 3, 3, .LCPI17_1@toc@l
1583 ; PWR7-NEXT: xxland 35, 35, 0
1584 ; PWR7-NEXT: lxvw4x 0, 0, 3
1585 ; PWR7-NEXT: vsubuhm 2, 2, 3
1586 ; PWR7-NEXT: vsrh 3, 2, 4
1587 ; PWR7-NEXT: xxland 34, 34, 0
1588 ; PWR7-NEXT: vspltish 4, 4
1589 ; PWR7-NEXT: xxland 35, 35, 0
1590 ; PWR7-NEXT: vadduhm 2, 2, 3
1591 ; PWR7-NEXT: vsrh 3, 2, 4
1592 ; PWR7-NEXT: vadduhm 2, 2, 3
1593 ; PWR7-NEXT: vspltisb 3, 1
1594 ; PWR7-NEXT: xxland 34, 34, 32
1595 ; PWR7-NEXT: vmladduhm 2, 2, 3, 5
1596 ; PWR7-NEXT: vspltish 3, 8
1597 ; PWR7-NEXT: vsrh 2, 2, 3
1598 ; PWR7-NEXT: vcmpgtuh 2, 4, 2
1599 ; PWR7-NEXT: blr
1603 ; PWR8-NEXT: vspltish 3, 4
1604 ; PWR8-NEXT: vpopcnth 2, 2
1605 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
1606 ; PWR8-NEXT: blr
1610 ; PWR9-NEXT: vspltish 3, 4
1611 ; PWR9-NEXT: vpopcnth 2, 2
1612 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
1613 ; PWR9-NEXT: blr
1623 ; PWR5-NEXT: addis 3, 2, .LCPI18_0@toc@ha
1624 ; PWR5-NEXT: vspltish 4, 1
1625 ; PWR5-NEXT: vxor 3, 3, 3
1626 ; PWR5-NEXT: addi 3, 3, .LCPI18_0@toc@l
1627 ; PWR5-NEXT: lvx 5, 0, 3
1628 ; PWR5-NEXT: addis 3, 2, .LCPI18_1@toc@ha
1629 ; PWR5-NEXT: addi 3, 3, .LCPI18_1@toc@l
1630 ; PWR5-NEXT: vsrh 4, 2, 4
1631 ; PWR5-NEXT: vand 4, 4, 5
1632 ; PWR5-NEXT: vspltish 5, 2
1633 ; PWR5-NEXT: vsubuhm 2, 2, 4
1634 ; PWR5-NEXT: vsrh 4, 2, 5
1635 ; PWR5-NEXT: lvx 5, 0, 3
1636 ; PWR5-NEXT: vand 2, 2, 5
1637 ; PWR5-NEXT: vand 4, 4, 5
1638 ; PWR5-NEXT: vspltish 5, 4
1639 ; PWR5-NEXT: vadduhm 2, 2, 4
1640 ; PWR5-NEXT: vsrh 4, 2, 5
1641 ; PWR5-NEXT: vadduhm 2, 2, 4
1642 ; PWR5-NEXT: vspltisb 4, 15
1643 ; PWR5-NEXT: vand 2, 2, 4
1644 ; PWR5-NEXT: vspltisb 4, 1
1645 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1646 ; PWR5-NEXT: vspltish 3, 8
1647 ; PWR5-NEXT: vsrh 2, 2, 3
1648 ; PWR5-NEXT: vcmpgtuh 2, 2, 5
1649 ; PWR5-NEXT: blr
1653 ; PWR6-NEXT: addis 3, 2, .LCPI18_0@toc@ha
1654 ; PWR6-NEXT: vspltish 4, 1
1655 ; PWR6-NEXT: vxor 3, 3, 3
1656 ; PWR6-NEXT: addi 3, 3, .LCPI18_0@toc@l
1657 ; PWR6-NEXT: lvx 5, 0, 3
1658 ; PWR6-NEXT: addis 3, 2, .LCPI18_1@toc@ha
1659 ; PWR6-NEXT: addi 3, 3, .LCPI18_1@toc@l
1660 ; PWR6-NEXT: vsrh 4, 2, 4
1661 ; PWR6-NEXT: vand 4, 4, 5
1662 ; PWR6-NEXT: vspltish 5, 2
1663 ; PWR6-NEXT: vsubuhm 2, 2, 4
1664 ; PWR6-NEXT: vsrh 4, 2, 5
1665 ; PWR6-NEXT: lvx 5, 0, 3
1666 ; PWR6-NEXT: vand 2, 2, 5
1667 ; PWR6-NEXT: vand 4, 4, 5
1668 ; PWR6-NEXT: vspltish 5, 4
1669 ; PWR6-NEXT: vadduhm 2, 2, 4
1670 ; PWR6-NEXT: vsrh 4, 2, 5
1671 ; PWR6-NEXT: vadduhm 2, 2, 4
1672 ; PWR6-NEXT: vspltisb 4, 15
1673 ; PWR6-NEXT: vand 2, 2, 4
1674 ; PWR6-NEXT: vspltisb 4, 1
1675 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
1676 ; PWR6-NEXT: vspltish 3, 8
1677 ; PWR6-NEXT: vsrh 2, 2, 3
1678 ; PWR6-NEXT: vcmpgtuh 2, 2, 5
1679 ; PWR6-NEXT: blr
1683 ; PWR7-NEXT: vspltish 3, 1
1684 ; PWR7-NEXT: addis 3, 2, .LCPI18_0@toc@ha
1685 ; PWR7-NEXT: vxor 5, 5, 5
1686 ; PWR7-NEXT: addi 3, 3, .LCPI18_0@toc@l
1687 ; PWR7-NEXT: vspltish 4, 2
1688 ; PWR7-NEXT: lxvw4x 0, 0, 3
1689 ; PWR7-NEXT: addis 3, 2, .LCPI18_1@toc@ha
1690 ; PWR7-NEXT: vspltisb 0, 15
1691 ; PWR7-NEXT: vsrh 3, 2, 3
1692 ; PWR7-NEXT: addi 3, 3, .LCPI18_1@toc@l
1693 ; PWR7-NEXT: xxland 35, 35, 0
1694 ; PWR7-NEXT: lxvw4x 0, 0, 3
1695 ; PWR7-NEXT: vsubuhm 2, 2, 3
1696 ; PWR7-NEXT: vsrh 3, 2, 4
1697 ; PWR7-NEXT: xxland 34, 34, 0
1698 ; PWR7-NEXT: vspltish 4, 4
1699 ; PWR7-NEXT: xxland 35, 35, 0
1700 ; PWR7-NEXT: vadduhm 2, 2, 3
1701 ; PWR7-NEXT: vsrh 3, 2, 4
1702 ; PWR7-NEXT: vadduhm 2, 2, 3
1703 ; PWR7-NEXT: vspltisb 3, 1
1704 ; PWR7-NEXT: xxland 34, 34, 32
1705 ; PWR7-NEXT: vmladduhm 2, 2, 3, 5
1706 ; PWR7-NEXT: vspltish 3, 8
1707 ; PWR7-NEXT: vsrh 2, 2, 3
1708 ; PWR7-NEXT: vcmpgtuh 2, 2, 4
1709 ; PWR7-NEXT: blr
1713 ; PWR8-NEXT: vspltish 3, 4
1714 ; PWR8-NEXT: vpopcnth 2, 2
1715 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
1716 ; PWR8-NEXT: blr
1720 ; PWR9-NEXT: vspltish 3, 4
1721 ; PWR9-NEXT: vpopcnth 2, 2
1722 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
1723 ; PWR9-NEXT: blr
1733 ; PWR5-NEXT: addis 3, 2, .LCPI19_0@toc@ha
1734 ; PWR5-NEXT: vspltish 4, 1
1735 ; PWR5-NEXT: vxor 3, 3, 3
1736 ; PWR5-NEXT: addi 3, 3, .LCPI19_0@toc@l
1737 ; PWR5-NEXT: lvx 5, 0, 3
1738 ; PWR5-NEXT: addis 3, 2, .LCPI19_1@toc@ha
1739 ; PWR5-NEXT: addi 3, 3, .LCPI19_1@toc@l
1740 ; PWR5-NEXT: vsrh 4, 2, 4
1741 ; PWR5-NEXT: vand 4, 4, 5
1742 ; PWR5-NEXT: vspltish 5, 2
1743 ; PWR5-NEXT: vsubuhm 2, 2, 4
1744 ; PWR5-NEXT: vsrh 4, 2, 5
1745 ; PWR5-NEXT: lvx 5, 0, 3
1746 ; PWR5-NEXT: vand 2, 2, 5
1747 ; PWR5-NEXT: vand 4, 4, 5
1748 ; PWR5-NEXT: vspltish 5, 4
1749 ; PWR5-NEXT: vadduhm 2, 2, 4
1750 ; PWR5-NEXT: vsrh 4, 2, 5
1751 ; PWR5-NEXT: vspltisb 5, 15
1752 ; PWR5-NEXT: vadduhm 2, 2, 4
1753 ; PWR5-NEXT: vspltisb 4, 1
1754 ; PWR5-NEXT: vand 2, 2, 5
1755 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1756 ; PWR5-NEXT: vspltish 3, 8
1757 ; PWR5-NEXT: vsrh 2, 2, 3
1758 ; PWR5-NEXT: vspltish 3, 5
1759 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
1760 ; PWR5-NEXT: blr
1764 ; PWR6-NEXT: addis 3, 2, .LCPI19_0@toc@ha
1765 ; PWR6-NEXT: vspltish 4, 1
1766 ; PWR6-NEXT: vxor 3, 3, 3
1767 ; PWR6-NEXT: addi 3, 3, .LCPI19_0@toc@l
1768 ; PWR6-NEXT: lvx 5, 0, 3
1769 ; PWR6-NEXT: addis 3, 2, .LCPI19_1@toc@ha
1770 ; PWR6-NEXT: addi 3, 3, .LCPI19_1@toc@l
1771 ; PWR6-NEXT: vsrh 4, 2, 4
1772 ; PWR6-NEXT: vand 4, 4, 5
1773 ; PWR6-NEXT: vspltish 5, 2
1774 ; PWR6-NEXT: vsubuhm 2, 2, 4
1775 ; PWR6-NEXT: vsrh 4, 2, 5
1776 ; PWR6-NEXT: lvx 5, 0, 3
1777 ; PWR6-NEXT: vand 2, 2, 5
1778 ; PWR6-NEXT: vand 4, 4, 5
1779 ; PWR6-NEXT: vspltish 5, 4
1780 ; PWR6-NEXT: vadduhm 2, 2, 4
1781 ; PWR6-NEXT: vsrh 4, 2, 5
1782 ; PWR6-NEXT: vspltisb 5, 15
1783 ; PWR6-NEXT: vadduhm 2, 2, 4
1784 ; PWR6-NEXT: vspltisb 4, 1
1785 ; PWR6-NEXT: vand 2, 2, 5
1786 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
1787 ; PWR6-NEXT: vspltish 3, 8
1788 ; PWR6-NEXT: vsrh 2, 2, 3
1789 ; PWR6-NEXT: vspltish 3, 5
1790 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
1791 ; PWR6-NEXT: blr
1795 ; PWR7-NEXT: vspltish 3, 1
1796 ; PWR7-NEXT: addis 3, 2, .LCPI19_0@toc@ha
1797 ; PWR7-NEXT: addi 3, 3, .LCPI19_0@toc@l
1798 ; PWR7-NEXT: vspltish 4, 2
1799 ; PWR7-NEXT: lxvw4x 0, 0, 3
1800 ; PWR7-NEXT: addis 3, 2, .LCPI19_1@toc@ha
1801 ; PWR7-NEXT: vspltisb 5, 15
1802 ; PWR7-NEXT: vsrh 3, 2, 3
1803 ; PWR7-NEXT: addi 3, 3, .LCPI19_1@toc@l
1804 ; PWR7-NEXT: xxland 35, 35, 0
1805 ; PWR7-NEXT: lxvw4x 0, 0, 3
1806 ; PWR7-NEXT: vsubuhm 2, 2, 3
1807 ; PWR7-NEXT: vsrh 3, 2, 4
1808 ; PWR7-NEXT: xxland 34, 34, 0
1809 ; PWR7-NEXT: vspltish 4, 4
1810 ; PWR7-NEXT: xxland 35, 35, 0
1811 ; PWR7-NEXT: vadduhm 2, 2, 3
1812 ; PWR7-NEXT: vsrh 3, 2, 4
1813 ; PWR7-NEXT: vxor 4, 4, 4
1814 ; PWR7-NEXT: vadduhm 2, 2, 3
1815 ; PWR7-NEXT: vspltisb 3, 1
1816 ; PWR7-NEXT: xxland 34, 34, 37
1817 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
1818 ; PWR7-NEXT: vspltish 3, 8
1819 ; PWR7-NEXT: vsrh 2, 2, 3
1820 ; PWR7-NEXT: vspltish 3, 5
1821 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
1822 ; PWR7-NEXT: blr
1826 ; PWR8-NEXT: vspltish 3, 5
1827 ; PWR8-NEXT: vpopcnth 2, 2
1828 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
1829 ; PWR8-NEXT: blr
1833 ; PWR9-NEXT: vspltish 3, 5
1834 ; PWR9-NEXT: vpopcnth 2, 2
1835 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
1836 ; PWR9-NEXT: blr
1846 ; PWR5-NEXT: addis 3, 2, .LCPI20_0@toc@ha
1847 ; PWR5-NEXT: vspltish 4, 1
1848 ; PWR5-NEXT: vxor 3, 3, 3
1849 ; PWR5-NEXT: addi 3, 3, .LCPI20_0@toc@l
1850 ; PWR5-NEXT: lvx 5, 0, 3
1851 ; PWR5-NEXT: addis 3, 2, .LCPI20_1@toc@ha
1852 ; PWR5-NEXT: addi 3, 3, .LCPI20_1@toc@l
1853 ; PWR5-NEXT: vsrh 4, 2, 4
1854 ; PWR5-NEXT: vand 4, 4, 5
1855 ; PWR5-NEXT: vspltish 5, 2
1856 ; PWR5-NEXT: vsubuhm 2, 2, 4
1857 ; PWR5-NEXT: vsrh 4, 2, 5
1858 ; PWR5-NEXT: lvx 5, 0, 3
1859 ; PWR5-NEXT: vand 2, 2, 5
1860 ; PWR5-NEXT: vand 4, 4, 5
1861 ; PWR5-NEXT: vspltish 5, 4
1862 ; PWR5-NEXT: vadduhm 2, 2, 4
1863 ; PWR5-NEXT: vsrh 4, 2, 5
1864 ; PWR5-NEXT: vspltisb 5, 15
1865 ; PWR5-NEXT: vadduhm 2, 2, 4
1866 ; PWR5-NEXT: vspltisb 4, 1
1867 ; PWR5-NEXT: vand 2, 2, 5
1868 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1869 ; PWR5-NEXT: vspltish 3, 8
1870 ; PWR5-NEXT: vsrh 2, 2, 3
1871 ; PWR5-NEXT: vspltish 3, 5
1872 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
1873 ; PWR5-NEXT: blr
1877 ; PWR6-NEXT: addis 3, 2, .LCPI20_0@toc@ha
1878 ; PWR6-NEXT: vspltish 4, 1
1879 ; PWR6-NEXT: vxor 3, 3, 3
1880 ; PWR6-NEXT: addi 3, 3, .LCPI20_0@toc@l
1881 ; PWR6-NEXT: lvx 5, 0, 3
1882 ; PWR6-NEXT: addis 3, 2, .LCPI20_1@toc@ha
1883 ; PWR6-NEXT: addi 3, 3, .LCPI20_1@toc@l
1884 ; PWR6-NEXT: vsrh 4, 2, 4
1885 ; PWR6-NEXT: vand 4, 4, 5
1886 ; PWR6-NEXT: vspltish 5, 2
1887 ; PWR6-NEXT: vsubuhm 2, 2, 4
1888 ; PWR6-NEXT: vsrh 4, 2, 5
1889 ; PWR6-NEXT: lvx 5, 0, 3
1890 ; PWR6-NEXT: vand 2, 2, 5
1891 ; PWR6-NEXT: vand 4, 4, 5
1892 ; PWR6-NEXT: vspltish 5, 4
1893 ; PWR6-NEXT: vadduhm 2, 2, 4
1894 ; PWR6-NEXT: vsrh 4, 2, 5
1895 ; PWR6-NEXT: vspltisb 5, 15
1896 ; PWR6-NEXT: vadduhm 2, 2, 4
1897 ; PWR6-NEXT: vspltisb 4, 1
1898 ; PWR6-NEXT: vand 2, 2, 5
1899 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
1900 ; PWR6-NEXT: vspltish 3, 8
1901 ; PWR6-NEXT: vsrh 2, 2, 3
1902 ; PWR6-NEXT: vspltish 3, 5
1903 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
1904 ; PWR6-NEXT: blr
1908 ; PWR7-NEXT: vspltish 3, 1
1909 ; PWR7-NEXT: addis 3, 2, .LCPI20_0@toc@ha
1910 ; PWR7-NEXT: addi 3, 3, .LCPI20_0@toc@l
1911 ; PWR7-NEXT: vspltish 4, 2
1912 ; PWR7-NEXT: lxvw4x 0, 0, 3
1913 ; PWR7-NEXT: addis 3, 2, .LCPI20_1@toc@ha
1914 ; PWR7-NEXT: vspltisb 5, 15
1915 ; PWR7-NEXT: vsrh 3, 2, 3
1916 ; PWR7-NEXT: addi 3, 3, .LCPI20_1@toc@l
1917 ; PWR7-NEXT: xxland 35, 35, 0
1918 ; PWR7-NEXT: lxvw4x 0, 0, 3
1919 ; PWR7-NEXT: vsubuhm 2, 2, 3
1920 ; PWR7-NEXT: vsrh 3, 2, 4
1921 ; PWR7-NEXT: xxland 34, 34, 0
1922 ; PWR7-NEXT: vspltish 4, 4
1923 ; PWR7-NEXT: xxland 35, 35, 0
1924 ; PWR7-NEXT: vadduhm 2, 2, 3
1925 ; PWR7-NEXT: vsrh 3, 2, 4
1926 ; PWR7-NEXT: vxor 4, 4, 4
1927 ; PWR7-NEXT: vadduhm 2, 2, 3
1928 ; PWR7-NEXT: vspltisb 3, 1
1929 ; PWR7-NEXT: xxland 34, 34, 37
1930 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
1931 ; PWR7-NEXT: vspltish 3, 8
1932 ; PWR7-NEXT: vsrh 2, 2, 3
1933 ; PWR7-NEXT: vspltish 3, 5
1934 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
1935 ; PWR7-NEXT: blr
1939 ; PWR8-NEXT: vspltish 3, 5
1940 ; PWR8-NEXT: vpopcnth 2, 2
1941 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
1942 ; PWR8-NEXT: blr
1946 ; PWR9-NEXT: vspltish 3, 5
1947 ; PWR9-NEXT: vpopcnth 2, 2
1948 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
1949 ; PWR9-NEXT: blr
1959 ; PWR5-NEXT: addis 3, 2, .LCPI21_0@toc@ha
1960 ; PWR5-NEXT: vspltish 4, 1
1961 ; PWR5-NEXT: vxor 3, 3, 3
1962 ; PWR5-NEXT: addi 3, 3, .LCPI21_0@toc@l
1963 ; PWR5-NEXT: lvx 5, 0, 3
1964 ; PWR5-NEXT: addis 3, 2, .LCPI21_1@toc@ha
1965 ; PWR5-NEXT: addi 3, 3, .LCPI21_1@toc@l
1966 ; PWR5-NEXT: vsrh 4, 2, 4
1967 ; PWR5-NEXT: vand 4, 4, 5
1968 ; PWR5-NEXT: vspltish 5, 2
1969 ; PWR5-NEXT: vsubuhm 2, 2, 4
1970 ; PWR5-NEXT: vsrh 4, 2, 5
1971 ; PWR5-NEXT: lvx 5, 0, 3
1972 ; PWR5-NEXT: vand 2, 2, 5
1973 ; PWR5-NEXT: vand 4, 4, 5
1974 ; PWR5-NEXT: vspltish 5, 4
1975 ; PWR5-NEXT: vadduhm 2, 2, 4
1976 ; PWR5-NEXT: vsrh 4, 2, 5
1977 ; PWR5-NEXT: vspltisb 5, 15
1978 ; PWR5-NEXT: vadduhm 2, 2, 4
1979 ; PWR5-NEXT: vspltisb 4, 1
1980 ; PWR5-NEXT: vand 2, 2, 5
1981 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
1982 ; PWR5-NEXT: vspltish 3, 8
1983 ; PWR5-NEXT: vsrh 2, 2, 3
1984 ; PWR5-NEXT: vspltish 3, 6
1985 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
1986 ; PWR5-NEXT: blr
1990 ; PWR6-NEXT: addis 3, 2, .LCPI21_0@toc@ha
1991 ; PWR6-NEXT: vspltish 4, 1
1992 ; PWR6-NEXT: vxor 3, 3, 3
1993 ; PWR6-NEXT: addi 3, 3, .LCPI21_0@toc@l
1994 ; PWR6-NEXT: lvx 5, 0, 3
1995 ; PWR6-NEXT: addis 3, 2, .LCPI21_1@toc@ha
1996 ; PWR6-NEXT: addi 3, 3, .LCPI21_1@toc@l
1997 ; PWR6-NEXT: vsrh 4, 2, 4
1998 ; PWR6-NEXT: vand 4, 4, 5
1999 ; PWR6-NEXT: vspltish 5, 2
2000 ; PWR6-NEXT: vsubuhm 2, 2, 4
2001 ; PWR6-NEXT: vsrh 4, 2, 5
2002 ; PWR6-NEXT: lvx 5, 0, 3
2003 ; PWR6-NEXT: vand 2, 2, 5
2004 ; PWR6-NEXT: vand 4, 4, 5
2005 ; PWR6-NEXT: vspltish 5, 4
2006 ; PWR6-NEXT: vadduhm 2, 2, 4
2007 ; PWR6-NEXT: vsrh 4, 2, 5
2008 ; PWR6-NEXT: vspltisb 5, 15
2009 ; PWR6-NEXT: vadduhm 2, 2, 4
2010 ; PWR6-NEXT: vspltisb 4, 1
2011 ; PWR6-NEXT: vand 2, 2, 5
2012 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2013 ; PWR6-NEXT: vspltish 3, 8
2014 ; PWR6-NEXT: vsrh 2, 2, 3
2015 ; PWR6-NEXT: vspltish 3, 6
2016 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
2017 ; PWR6-NEXT: blr
2021 ; PWR7-NEXT: vspltish 3, 1
2022 ; PWR7-NEXT: addis 3, 2, .LCPI21_0@toc@ha
2023 ; PWR7-NEXT: addi 3, 3, .LCPI21_0@toc@l
2024 ; PWR7-NEXT: vspltish 4, 2
2025 ; PWR7-NEXT: lxvw4x 0, 0, 3
2026 ; PWR7-NEXT: addis 3, 2, .LCPI21_1@toc@ha
2027 ; PWR7-NEXT: vspltisb 5, 15
2028 ; PWR7-NEXT: vsrh 3, 2, 3
2029 ; PWR7-NEXT: addi 3, 3, .LCPI21_1@toc@l
2030 ; PWR7-NEXT: xxland 35, 35, 0
2031 ; PWR7-NEXT: lxvw4x 0, 0, 3
2032 ; PWR7-NEXT: vsubuhm 2, 2, 3
2033 ; PWR7-NEXT: vsrh 3, 2, 4
2034 ; PWR7-NEXT: xxland 34, 34, 0
2035 ; PWR7-NEXT: vspltish 4, 4
2036 ; PWR7-NEXT: xxland 35, 35, 0
2037 ; PWR7-NEXT: vadduhm 2, 2, 3
2038 ; PWR7-NEXT: vsrh 3, 2, 4
2039 ; PWR7-NEXT: vxor 4, 4, 4
2040 ; PWR7-NEXT: vadduhm 2, 2, 3
2041 ; PWR7-NEXT: vspltisb 3, 1
2042 ; PWR7-NEXT: xxland 34, 34, 37
2043 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2044 ; PWR7-NEXT: vspltish 3, 8
2045 ; PWR7-NEXT: vsrh 2, 2, 3
2046 ; PWR7-NEXT: vspltish 3, 6
2047 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
2048 ; PWR7-NEXT: blr
2052 ; PWR8-NEXT: vspltish 3, 6
2053 ; PWR8-NEXT: vpopcnth 2, 2
2054 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
2055 ; PWR8-NEXT: blr
2059 ; PWR9-NEXT: vspltish 3, 6
2060 ; PWR9-NEXT: vpopcnth 2, 2
2061 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
2062 ; PWR9-NEXT: blr
2072 ; PWR5-NEXT: addis 3, 2, .LCPI22_0@toc@ha
2073 ; PWR5-NEXT: vspltish 4, 1
2074 ; PWR5-NEXT: vxor 3, 3, 3
2075 ; PWR5-NEXT: addi 3, 3, .LCPI22_0@toc@l
2076 ; PWR5-NEXT: lvx 5, 0, 3
2077 ; PWR5-NEXT: addis 3, 2, .LCPI22_1@toc@ha
2078 ; PWR5-NEXT: addi 3, 3, .LCPI22_1@toc@l
2079 ; PWR5-NEXT: vsrh 4, 2, 4
2080 ; PWR5-NEXT: vand 4, 4, 5
2081 ; PWR5-NEXT: vspltish 5, 2
2082 ; PWR5-NEXT: vsubuhm 2, 2, 4
2083 ; PWR5-NEXT: vsrh 4, 2, 5
2084 ; PWR5-NEXT: lvx 5, 0, 3
2085 ; PWR5-NEXT: vand 2, 2, 5
2086 ; PWR5-NEXT: vand 4, 4, 5
2087 ; PWR5-NEXT: vspltish 5, 4
2088 ; PWR5-NEXT: vadduhm 2, 2, 4
2089 ; PWR5-NEXT: vsrh 4, 2, 5
2090 ; PWR5-NEXT: vspltisb 5, 15
2091 ; PWR5-NEXT: vadduhm 2, 2, 4
2092 ; PWR5-NEXT: vspltisb 4, 1
2093 ; PWR5-NEXT: vand 2, 2, 5
2094 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2095 ; PWR5-NEXT: vspltish 3, 8
2096 ; PWR5-NEXT: vsrh 2, 2, 3
2097 ; PWR5-NEXT: vspltish 3, 6
2098 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
2099 ; PWR5-NEXT: blr
2103 ; PWR6-NEXT: addis 3, 2, .LCPI22_0@toc@ha
2104 ; PWR6-NEXT: vspltish 4, 1
2105 ; PWR6-NEXT: vxor 3, 3, 3
2106 ; PWR6-NEXT: addi 3, 3, .LCPI22_0@toc@l
2107 ; PWR6-NEXT: lvx 5, 0, 3
2108 ; PWR6-NEXT: addis 3, 2, .LCPI22_1@toc@ha
2109 ; PWR6-NEXT: addi 3, 3, .LCPI22_1@toc@l
2110 ; PWR6-NEXT: vsrh 4, 2, 4
2111 ; PWR6-NEXT: vand 4, 4, 5
2112 ; PWR6-NEXT: vspltish 5, 2
2113 ; PWR6-NEXT: vsubuhm 2, 2, 4
2114 ; PWR6-NEXT: vsrh 4, 2, 5
2115 ; PWR6-NEXT: lvx 5, 0, 3
2116 ; PWR6-NEXT: vand 2, 2, 5
2117 ; PWR6-NEXT: vand 4, 4, 5
2118 ; PWR6-NEXT: vspltish 5, 4
2119 ; PWR6-NEXT: vadduhm 2, 2, 4
2120 ; PWR6-NEXT: vsrh 4, 2, 5
2121 ; PWR6-NEXT: vspltisb 5, 15
2122 ; PWR6-NEXT: vadduhm 2, 2, 4
2123 ; PWR6-NEXT: vspltisb 4, 1
2124 ; PWR6-NEXT: vand 2, 2, 5
2125 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2126 ; PWR6-NEXT: vspltish 3, 8
2127 ; PWR6-NEXT: vsrh 2, 2, 3
2128 ; PWR6-NEXT: vspltish 3, 6
2129 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
2130 ; PWR6-NEXT: blr
2134 ; PWR7-NEXT: vspltish 3, 1
2135 ; PWR7-NEXT: addis 3, 2, .LCPI22_0@toc@ha
2136 ; PWR7-NEXT: addi 3, 3, .LCPI22_0@toc@l
2137 ; PWR7-NEXT: vspltish 4, 2
2138 ; PWR7-NEXT: lxvw4x 0, 0, 3
2139 ; PWR7-NEXT: addis 3, 2, .LCPI22_1@toc@ha
2140 ; PWR7-NEXT: vspltisb 5, 15
2141 ; PWR7-NEXT: vsrh 3, 2, 3
2142 ; PWR7-NEXT: addi 3, 3, .LCPI22_1@toc@l
2143 ; PWR7-NEXT: xxland 35, 35, 0
2144 ; PWR7-NEXT: lxvw4x 0, 0, 3
2145 ; PWR7-NEXT: vsubuhm 2, 2, 3
2146 ; PWR7-NEXT: vsrh 3, 2, 4
2147 ; PWR7-NEXT: xxland 34, 34, 0
2148 ; PWR7-NEXT: vspltish 4, 4
2149 ; PWR7-NEXT: xxland 35, 35, 0
2150 ; PWR7-NEXT: vadduhm 2, 2, 3
2151 ; PWR7-NEXT: vsrh 3, 2, 4
2152 ; PWR7-NEXT: vxor 4, 4, 4
2153 ; PWR7-NEXT: vadduhm 2, 2, 3
2154 ; PWR7-NEXT: vspltisb 3, 1
2155 ; PWR7-NEXT: xxland 34, 34, 37
2156 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2157 ; PWR7-NEXT: vspltish 3, 8
2158 ; PWR7-NEXT: vsrh 2, 2, 3
2159 ; PWR7-NEXT: vspltish 3, 6
2160 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
2161 ; PWR7-NEXT: blr
2165 ; PWR8-NEXT: vspltish 3, 6
2166 ; PWR8-NEXT: vpopcnth 2, 2
2167 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
2168 ; PWR8-NEXT: blr
2172 ; PWR9-NEXT: vspltish 3, 6
2173 ; PWR9-NEXT: vpopcnth 2, 2
2174 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
2175 ; PWR9-NEXT: blr
2185 ; PWR5-NEXT: addis 3, 2, .LCPI23_0@toc@ha
2186 ; PWR5-NEXT: vspltish 4, 1
2187 ; PWR5-NEXT: vxor 3, 3, 3
2188 ; PWR5-NEXT: addi 3, 3, .LCPI23_0@toc@l
2189 ; PWR5-NEXT: lvx 5, 0, 3
2190 ; PWR5-NEXT: addis 3, 2, .LCPI23_1@toc@ha
2191 ; PWR5-NEXT: addi 3, 3, .LCPI23_1@toc@l
2192 ; PWR5-NEXT: vsrh 4, 2, 4
2193 ; PWR5-NEXT: vand 4, 4, 5
2194 ; PWR5-NEXT: vspltish 5, 2
2195 ; PWR5-NEXT: vsubuhm 2, 2, 4
2196 ; PWR5-NEXT: vsrh 4, 2, 5
2197 ; PWR5-NEXT: lvx 5, 0, 3
2198 ; PWR5-NEXT: vand 2, 2, 5
2199 ; PWR5-NEXT: vand 4, 4, 5
2200 ; PWR5-NEXT: vspltish 5, 4
2201 ; PWR5-NEXT: vadduhm 2, 2, 4
2202 ; PWR5-NEXT: vsrh 4, 2, 5
2203 ; PWR5-NEXT: vspltisb 5, 15
2204 ; PWR5-NEXT: vadduhm 2, 2, 4
2205 ; PWR5-NEXT: vspltisb 4, 1
2206 ; PWR5-NEXT: vand 2, 2, 5
2207 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2208 ; PWR5-NEXT: vspltish 3, 8
2209 ; PWR5-NEXT: vsrh 2, 2, 3
2210 ; PWR5-NEXT: vspltish 3, 7
2211 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
2212 ; PWR5-NEXT: blr
2216 ; PWR6-NEXT: addis 3, 2, .LCPI23_0@toc@ha
2217 ; PWR6-NEXT: vspltish 4, 1
2218 ; PWR6-NEXT: vxor 3, 3, 3
2219 ; PWR6-NEXT: addi 3, 3, .LCPI23_0@toc@l
2220 ; PWR6-NEXT: lvx 5, 0, 3
2221 ; PWR6-NEXT: addis 3, 2, .LCPI23_1@toc@ha
2222 ; PWR6-NEXT: addi 3, 3, .LCPI23_1@toc@l
2223 ; PWR6-NEXT: vsrh 4, 2, 4
2224 ; PWR6-NEXT: vand 4, 4, 5
2225 ; PWR6-NEXT: vspltish 5, 2
2226 ; PWR6-NEXT: vsubuhm 2, 2, 4
2227 ; PWR6-NEXT: vsrh 4, 2, 5
2228 ; PWR6-NEXT: lvx 5, 0, 3
2229 ; PWR6-NEXT: vand 2, 2, 5
2230 ; PWR6-NEXT: vand 4, 4, 5
2231 ; PWR6-NEXT: vspltish 5, 4
2232 ; PWR6-NEXT: vadduhm 2, 2, 4
2233 ; PWR6-NEXT: vsrh 4, 2, 5
2234 ; PWR6-NEXT: vspltisb 5, 15
2235 ; PWR6-NEXT: vadduhm 2, 2, 4
2236 ; PWR6-NEXT: vspltisb 4, 1
2237 ; PWR6-NEXT: vand 2, 2, 5
2238 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2239 ; PWR6-NEXT: vspltish 3, 8
2240 ; PWR6-NEXT: vsrh 2, 2, 3
2241 ; PWR6-NEXT: vspltish 3, 7
2242 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
2243 ; PWR6-NEXT: blr
2247 ; PWR7-NEXT: vspltish 3, 1
2248 ; PWR7-NEXT: addis 3, 2, .LCPI23_0@toc@ha
2249 ; PWR7-NEXT: addi 3, 3, .LCPI23_0@toc@l
2250 ; PWR7-NEXT: vspltish 4, 2
2251 ; PWR7-NEXT: lxvw4x 0, 0, 3
2252 ; PWR7-NEXT: addis 3, 2, .LCPI23_1@toc@ha
2253 ; PWR7-NEXT: vspltisb 5, 15
2254 ; PWR7-NEXT: vsrh 3, 2, 3
2255 ; PWR7-NEXT: addi 3, 3, .LCPI23_1@toc@l
2256 ; PWR7-NEXT: xxland 35, 35, 0
2257 ; PWR7-NEXT: lxvw4x 0, 0, 3
2258 ; PWR7-NEXT: vsubuhm 2, 2, 3
2259 ; PWR7-NEXT: vsrh 3, 2, 4
2260 ; PWR7-NEXT: xxland 34, 34, 0
2261 ; PWR7-NEXT: vspltish 4, 4
2262 ; PWR7-NEXT: xxland 35, 35, 0
2263 ; PWR7-NEXT: vadduhm 2, 2, 3
2264 ; PWR7-NEXT: vsrh 3, 2, 4
2265 ; PWR7-NEXT: vxor 4, 4, 4
2266 ; PWR7-NEXT: vadduhm 2, 2, 3
2267 ; PWR7-NEXT: vspltisb 3, 1
2268 ; PWR7-NEXT: xxland 34, 34, 37
2269 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2270 ; PWR7-NEXT: vspltish 3, 8
2271 ; PWR7-NEXT: vsrh 2, 2, 3
2272 ; PWR7-NEXT: vspltish 3, 7
2273 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
2274 ; PWR7-NEXT: blr
2278 ; PWR8-NEXT: vspltish 3, 7
2279 ; PWR8-NEXT: vpopcnth 2, 2
2280 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
2281 ; PWR8-NEXT: blr
2285 ; PWR9-NEXT: vspltish 3, 7
2286 ; PWR9-NEXT: vpopcnth 2, 2
2287 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
2288 ; PWR9-NEXT: blr
2298 ; PWR5-NEXT: addis 3, 2, .LCPI24_0@toc@ha
2299 ; PWR5-NEXT: vspltish 4, 1
2300 ; PWR5-NEXT: vxor 3, 3, 3
2301 ; PWR5-NEXT: addi 3, 3, .LCPI24_0@toc@l
2302 ; PWR5-NEXT: lvx 5, 0, 3
2303 ; PWR5-NEXT: addis 3, 2, .LCPI24_1@toc@ha
2304 ; PWR5-NEXT: addi 3, 3, .LCPI24_1@toc@l
2305 ; PWR5-NEXT: vsrh 4, 2, 4
2306 ; PWR5-NEXT: vand 4, 4, 5
2307 ; PWR5-NEXT: vspltish 5, 2
2308 ; PWR5-NEXT: vsubuhm 2, 2, 4
2309 ; PWR5-NEXT: vsrh 4, 2, 5
2310 ; PWR5-NEXT: lvx 5, 0, 3
2311 ; PWR5-NEXT: vand 2, 2, 5
2312 ; PWR5-NEXT: vand 4, 4, 5
2313 ; PWR5-NEXT: vspltish 5, 4
2314 ; PWR5-NEXT: vadduhm 2, 2, 4
2315 ; PWR5-NEXT: vsrh 4, 2, 5
2316 ; PWR5-NEXT: vspltisb 5, 15
2317 ; PWR5-NEXT: vadduhm 2, 2, 4
2318 ; PWR5-NEXT: vspltisb 4, 1
2319 ; PWR5-NEXT: vand 2, 2, 5
2320 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2321 ; PWR5-NEXT: vspltish 3, 8
2322 ; PWR5-NEXT: vsrh 2, 2, 3
2323 ; PWR5-NEXT: vspltish 3, 7
2324 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
2325 ; PWR5-NEXT: blr
2329 ; PWR6-NEXT: addis 3, 2, .LCPI24_0@toc@ha
2330 ; PWR6-NEXT: vspltish 4, 1
2331 ; PWR6-NEXT: vxor 3, 3, 3
2332 ; PWR6-NEXT: addi 3, 3, .LCPI24_0@toc@l
2333 ; PWR6-NEXT: lvx 5, 0, 3
2334 ; PWR6-NEXT: addis 3, 2, .LCPI24_1@toc@ha
2335 ; PWR6-NEXT: addi 3, 3, .LCPI24_1@toc@l
2336 ; PWR6-NEXT: vsrh 4, 2, 4
2337 ; PWR6-NEXT: vand 4, 4, 5
2338 ; PWR6-NEXT: vspltish 5, 2
2339 ; PWR6-NEXT: vsubuhm 2, 2, 4
2340 ; PWR6-NEXT: vsrh 4, 2, 5
2341 ; PWR6-NEXT: lvx 5, 0, 3
2342 ; PWR6-NEXT: vand 2, 2, 5
2343 ; PWR6-NEXT: vand 4, 4, 5
2344 ; PWR6-NEXT: vspltish 5, 4
2345 ; PWR6-NEXT: vadduhm 2, 2, 4
2346 ; PWR6-NEXT: vsrh 4, 2, 5
2347 ; PWR6-NEXT: vspltisb 5, 15
2348 ; PWR6-NEXT: vadduhm 2, 2, 4
2349 ; PWR6-NEXT: vspltisb 4, 1
2350 ; PWR6-NEXT: vand 2, 2, 5
2351 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2352 ; PWR6-NEXT: vspltish 3, 8
2353 ; PWR6-NEXT: vsrh 2, 2, 3
2354 ; PWR6-NEXT: vspltish 3, 7
2355 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
2356 ; PWR6-NEXT: blr
2360 ; PWR7-NEXT: vspltish 3, 1
2361 ; PWR7-NEXT: addis 3, 2, .LCPI24_0@toc@ha
2362 ; PWR7-NEXT: addi 3, 3, .LCPI24_0@toc@l
2363 ; PWR7-NEXT: vspltish 4, 2
2364 ; PWR7-NEXT: lxvw4x 0, 0, 3
2365 ; PWR7-NEXT: addis 3, 2, .LCPI24_1@toc@ha
2366 ; PWR7-NEXT: vspltisb 5, 15
2367 ; PWR7-NEXT: vsrh 3, 2, 3
2368 ; PWR7-NEXT: addi 3, 3, .LCPI24_1@toc@l
2369 ; PWR7-NEXT: xxland 35, 35, 0
2370 ; PWR7-NEXT: lxvw4x 0, 0, 3
2371 ; PWR7-NEXT: vsubuhm 2, 2, 3
2372 ; PWR7-NEXT: vsrh 3, 2, 4
2373 ; PWR7-NEXT: xxland 34, 34, 0
2374 ; PWR7-NEXT: vspltish 4, 4
2375 ; PWR7-NEXT: xxland 35, 35, 0
2376 ; PWR7-NEXT: vadduhm 2, 2, 3
2377 ; PWR7-NEXT: vsrh 3, 2, 4
2378 ; PWR7-NEXT: vxor 4, 4, 4
2379 ; PWR7-NEXT: vadduhm 2, 2, 3
2380 ; PWR7-NEXT: vspltisb 3, 1
2381 ; PWR7-NEXT: xxland 34, 34, 37
2382 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2383 ; PWR7-NEXT: vspltish 3, 8
2384 ; PWR7-NEXT: vsrh 2, 2, 3
2385 ; PWR7-NEXT: vspltish 3, 7
2386 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
2387 ; PWR7-NEXT: blr
2391 ; PWR8-NEXT: vspltish 3, 7
2392 ; PWR8-NEXT: vpopcnth 2, 2
2393 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
2394 ; PWR8-NEXT: blr
2398 ; PWR9-NEXT: vspltish 3, 7
2399 ; PWR9-NEXT: vpopcnth 2, 2
2400 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
2401 ; PWR9-NEXT: blr
2411 ; PWR5-NEXT: addis 3, 2, .LCPI25_0@toc@ha
2412 ; PWR5-NEXT: vspltish 4, 1
2413 ; PWR5-NEXT: vxor 3, 3, 3
2414 ; PWR5-NEXT: addi 3, 3, .LCPI25_0@toc@l
2415 ; PWR5-NEXT: lvx 5, 0, 3
2416 ; PWR5-NEXT: addis 3, 2, .LCPI25_1@toc@ha
2417 ; PWR5-NEXT: addi 3, 3, .LCPI25_1@toc@l
2418 ; PWR5-NEXT: vsrh 4, 2, 4
2419 ; PWR5-NEXT: vand 4, 4, 5
2420 ; PWR5-NEXT: vspltish 5, 2
2421 ; PWR5-NEXT: vsubuhm 2, 2, 4
2422 ; PWR5-NEXT: vsrh 4, 2, 5
2423 ; PWR5-NEXT: lvx 5, 0, 3
2424 ; PWR5-NEXT: vand 2, 2, 5
2425 ; PWR5-NEXT: vand 4, 4, 5
2426 ; PWR5-NEXT: vspltish 5, 4
2427 ; PWR5-NEXT: vadduhm 2, 2, 4
2428 ; PWR5-NEXT: vsrh 4, 2, 5
2429 ; PWR5-NEXT: vspltisb 5, 15
2430 ; PWR5-NEXT: vadduhm 2, 2, 4
2431 ; PWR5-NEXT: vspltisb 4, 1
2432 ; PWR5-NEXT: vand 2, 2, 5
2433 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2434 ; PWR5-NEXT: vspltish 3, 8
2435 ; PWR5-NEXT: vsrh 2, 2, 3
2436 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
2437 ; PWR5-NEXT: blr
2441 ; PWR6-NEXT: addis 3, 2, .LCPI25_0@toc@ha
2442 ; PWR6-NEXT: vspltish 4, 1
2443 ; PWR6-NEXT: vxor 3, 3, 3
2444 ; PWR6-NEXT: addi 3, 3, .LCPI25_0@toc@l
2445 ; PWR6-NEXT: lvx 5, 0, 3
2446 ; PWR6-NEXT: addis 3, 2, .LCPI25_1@toc@ha
2447 ; PWR6-NEXT: addi 3, 3, .LCPI25_1@toc@l
2448 ; PWR6-NEXT: vsrh 4, 2, 4
2449 ; PWR6-NEXT: vand 4, 4, 5
2450 ; PWR6-NEXT: vspltish 5, 2
2451 ; PWR6-NEXT: vsubuhm 2, 2, 4
2452 ; PWR6-NEXT: vsrh 4, 2, 5
2453 ; PWR6-NEXT: lvx 5, 0, 3
2454 ; PWR6-NEXT: vand 2, 2, 5
2455 ; PWR6-NEXT: vand 4, 4, 5
2456 ; PWR6-NEXT: vspltish 5, 4
2457 ; PWR6-NEXT: vadduhm 2, 2, 4
2458 ; PWR6-NEXT: vsrh 4, 2, 5
2459 ; PWR6-NEXT: vspltisb 5, 15
2460 ; PWR6-NEXT: vadduhm 2, 2, 4
2461 ; PWR6-NEXT: vspltisb 4, 1
2462 ; PWR6-NEXT: vand 2, 2, 5
2463 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2464 ; PWR6-NEXT: vspltish 3, 8
2465 ; PWR6-NEXT: vsrh 2, 2, 3
2466 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
2467 ; PWR6-NEXT: blr
2471 ; PWR7-NEXT: vspltish 3, 1
2472 ; PWR7-NEXT: addis 3, 2, .LCPI25_0@toc@ha
2473 ; PWR7-NEXT: addi 3, 3, .LCPI25_0@toc@l
2474 ; PWR7-NEXT: vspltish 4, 2
2475 ; PWR7-NEXT: lxvw4x 0, 0, 3
2476 ; PWR7-NEXT: addis 3, 2, .LCPI25_1@toc@ha
2477 ; PWR7-NEXT: vspltisb 5, 15
2478 ; PWR7-NEXT: vsrh 3, 2, 3
2479 ; PWR7-NEXT: addi 3, 3, .LCPI25_1@toc@l
2480 ; PWR7-NEXT: xxland 35, 35, 0
2481 ; PWR7-NEXT: lxvw4x 0, 0, 3
2482 ; PWR7-NEXT: vsubuhm 2, 2, 3
2483 ; PWR7-NEXT: vsrh 3, 2, 4
2484 ; PWR7-NEXT: xxland 34, 34, 0
2485 ; PWR7-NEXT: vspltish 4, 4
2486 ; PWR7-NEXT: xxland 35, 35, 0
2487 ; PWR7-NEXT: vadduhm 2, 2, 3
2488 ; PWR7-NEXT: vsrh 3, 2, 4
2489 ; PWR7-NEXT: vxor 4, 4, 4
2490 ; PWR7-NEXT: vadduhm 2, 2, 3
2491 ; PWR7-NEXT: vspltisb 3, 1
2492 ; PWR7-NEXT: xxland 34, 34, 37
2493 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2494 ; PWR7-NEXT: vspltish 3, 8
2495 ; PWR7-NEXT: vsrh 2, 2, 3
2496 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
2497 ; PWR7-NEXT: blr
2501 ; PWR8-NEXT: vspltish 3, 8
2502 ; PWR8-NEXT: vpopcnth 2, 2
2503 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
2504 ; PWR8-NEXT: blr
2508 ; PWR9-NEXT: vspltish 3, 8
2509 ; PWR9-NEXT: vpopcnth 2, 2
2510 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
2511 ; PWR9-NEXT: blr
2521 ; PWR5-NEXT: addis 3, 2, .LCPI26_0@toc@ha
2522 ; PWR5-NEXT: vspltish 4, 1
2523 ; PWR5-NEXT: vxor 3, 3, 3
2524 ; PWR5-NEXT: addi 3, 3, .LCPI26_0@toc@l
2525 ; PWR5-NEXT: lvx 5, 0, 3
2526 ; PWR5-NEXT: addis 3, 2, .LCPI26_1@toc@ha
2527 ; PWR5-NEXT: addi 3, 3, .LCPI26_1@toc@l
2528 ; PWR5-NEXT: vsrh 4, 2, 4
2529 ; PWR5-NEXT: vand 4, 4, 5
2530 ; PWR5-NEXT: vspltish 5, 2
2531 ; PWR5-NEXT: vsubuhm 2, 2, 4
2532 ; PWR5-NEXT: vsrh 4, 2, 5
2533 ; PWR5-NEXT: lvx 5, 0, 3
2534 ; PWR5-NEXT: vand 2, 2, 5
2535 ; PWR5-NEXT: vand 4, 4, 5
2536 ; PWR5-NEXT: vspltish 5, 4
2537 ; PWR5-NEXT: vadduhm 2, 2, 4
2538 ; PWR5-NEXT: vsrh 4, 2, 5
2539 ; PWR5-NEXT: vspltisb 5, 15
2540 ; PWR5-NEXT: vadduhm 2, 2, 4
2541 ; PWR5-NEXT: vspltisb 4, 1
2542 ; PWR5-NEXT: vand 2, 2, 5
2543 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2544 ; PWR5-NEXT: vspltish 3, 8
2545 ; PWR5-NEXT: vsrh 2, 2, 3
2546 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
2547 ; PWR5-NEXT: blr
2551 ; PWR6-NEXT: addis 3, 2, .LCPI26_0@toc@ha
2552 ; PWR6-NEXT: vspltish 4, 1
2553 ; PWR6-NEXT: vxor 3, 3, 3
2554 ; PWR6-NEXT: addi 3, 3, .LCPI26_0@toc@l
2555 ; PWR6-NEXT: lvx 5, 0, 3
2556 ; PWR6-NEXT: addis 3, 2, .LCPI26_1@toc@ha
2557 ; PWR6-NEXT: addi 3, 3, .LCPI26_1@toc@l
2558 ; PWR6-NEXT: vsrh 4, 2, 4
2559 ; PWR6-NEXT: vand 4, 4, 5
2560 ; PWR6-NEXT: vspltish 5, 2
2561 ; PWR6-NEXT: vsubuhm 2, 2, 4
2562 ; PWR6-NEXT: vsrh 4, 2, 5
2563 ; PWR6-NEXT: lvx 5, 0, 3
2564 ; PWR6-NEXT: vand 2, 2, 5
2565 ; PWR6-NEXT: vand 4, 4, 5
2566 ; PWR6-NEXT: vspltish 5, 4
2567 ; PWR6-NEXT: vadduhm 2, 2, 4
2568 ; PWR6-NEXT: vsrh 4, 2, 5
2569 ; PWR6-NEXT: vspltisb 5, 15
2570 ; PWR6-NEXT: vadduhm 2, 2, 4
2571 ; PWR6-NEXT: vspltisb 4, 1
2572 ; PWR6-NEXT: vand 2, 2, 5
2573 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2574 ; PWR6-NEXT: vspltish 3, 8
2575 ; PWR6-NEXT: vsrh 2, 2, 3
2576 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
2577 ; PWR6-NEXT: blr
2581 ; PWR7-NEXT: vspltish 3, 1
2582 ; PWR7-NEXT: addis 3, 2, .LCPI26_0@toc@ha
2583 ; PWR7-NEXT: addi 3, 3, .LCPI26_0@toc@l
2584 ; PWR7-NEXT: vspltish 4, 2
2585 ; PWR7-NEXT: lxvw4x 0, 0, 3
2586 ; PWR7-NEXT: addis 3, 2, .LCPI26_1@toc@ha
2587 ; PWR7-NEXT: vspltisb 5, 15
2588 ; PWR7-NEXT: vsrh 3, 2, 3
2589 ; PWR7-NEXT: addi 3, 3, .LCPI26_1@toc@l
2590 ; PWR7-NEXT: xxland 35, 35, 0
2591 ; PWR7-NEXT: lxvw4x 0, 0, 3
2592 ; PWR7-NEXT: vsubuhm 2, 2, 3
2593 ; PWR7-NEXT: vsrh 3, 2, 4
2594 ; PWR7-NEXT: xxland 34, 34, 0
2595 ; PWR7-NEXT: vspltish 4, 4
2596 ; PWR7-NEXT: xxland 35, 35, 0
2597 ; PWR7-NEXT: vadduhm 2, 2, 3
2598 ; PWR7-NEXT: vsrh 3, 2, 4
2599 ; PWR7-NEXT: vxor 4, 4, 4
2600 ; PWR7-NEXT: vadduhm 2, 2, 3
2601 ; PWR7-NEXT: vspltisb 3, 1
2602 ; PWR7-NEXT: xxland 34, 34, 37
2603 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2604 ; PWR7-NEXT: vspltish 3, 8
2605 ; PWR7-NEXT: vsrh 2, 2, 3
2606 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
2607 ; PWR7-NEXT: blr
2611 ; PWR8-NEXT: vspltish 3, 8
2612 ; PWR8-NEXT: vpopcnth 2, 2
2613 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
2614 ; PWR8-NEXT: blr
2618 ; PWR9-NEXT: vspltish 3, 8
2619 ; PWR9-NEXT: vpopcnth 2, 2
2620 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
2621 ; PWR9-NEXT: blr
2631 ; PWR5-NEXT: addis 3, 2, .LCPI27_0@toc@ha
2632 ; PWR5-NEXT: vspltish 4, 1
2633 ; PWR5-NEXT: vxor 3, 3, 3
2634 ; PWR5-NEXT: addi 3, 3, .LCPI27_0@toc@l
2635 ; PWR5-NEXT: lvx 5, 0, 3
2636 ; PWR5-NEXT: addis 3, 2, .LCPI27_1@toc@ha
2637 ; PWR5-NEXT: addi 3, 3, .LCPI27_1@toc@l
2638 ; PWR5-NEXT: vsrh 4, 2, 4
2639 ; PWR5-NEXT: vand 4, 4, 5
2640 ; PWR5-NEXT: vspltish 5, 2
2641 ; PWR5-NEXT: vsubuhm 2, 2, 4
2642 ; PWR5-NEXT: vsrh 4, 2, 5
2643 ; PWR5-NEXT: lvx 5, 0, 3
2644 ; PWR5-NEXT: vand 2, 2, 5
2645 ; PWR5-NEXT: vand 4, 4, 5
2646 ; PWR5-NEXT: vspltish 5, 4
2647 ; PWR5-NEXT: vadduhm 2, 2, 4
2648 ; PWR5-NEXT: vsrh 4, 2, 5
2649 ; PWR5-NEXT: vspltisb 5, 15
2650 ; PWR5-NEXT: vadduhm 2, 2, 4
2651 ; PWR5-NEXT: vspltisb 4, 1
2652 ; PWR5-NEXT: vand 2, 2, 5
2653 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2654 ; PWR5-NEXT: vspltish 3, 8
2655 ; PWR5-NEXT: vsrh 2, 2, 3
2656 ; PWR5-NEXT: vspltish 3, 9
2657 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
2658 ; PWR5-NEXT: blr
2662 ; PWR6-NEXT: addis 3, 2, .LCPI27_0@toc@ha
2663 ; PWR6-NEXT: vspltish 4, 1
2664 ; PWR6-NEXT: vxor 3, 3, 3
2665 ; PWR6-NEXT: addi 3, 3, .LCPI27_0@toc@l
2666 ; PWR6-NEXT: lvx 5, 0, 3
2667 ; PWR6-NEXT: addis 3, 2, .LCPI27_1@toc@ha
2668 ; PWR6-NEXT: addi 3, 3, .LCPI27_1@toc@l
2669 ; PWR6-NEXT: vsrh 4, 2, 4
2670 ; PWR6-NEXT: vand 4, 4, 5
2671 ; PWR6-NEXT: vspltish 5, 2
2672 ; PWR6-NEXT: vsubuhm 2, 2, 4
2673 ; PWR6-NEXT: vsrh 4, 2, 5
2674 ; PWR6-NEXT: lvx 5, 0, 3
2675 ; PWR6-NEXT: vand 2, 2, 5
2676 ; PWR6-NEXT: vand 4, 4, 5
2677 ; PWR6-NEXT: vspltish 5, 4
2678 ; PWR6-NEXT: vadduhm 2, 2, 4
2679 ; PWR6-NEXT: vsrh 4, 2, 5
2680 ; PWR6-NEXT: vspltisb 5, 15
2681 ; PWR6-NEXT: vadduhm 2, 2, 4
2682 ; PWR6-NEXT: vspltisb 4, 1
2683 ; PWR6-NEXT: vand 2, 2, 5
2684 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2685 ; PWR6-NEXT: vspltish 3, 8
2686 ; PWR6-NEXT: vsrh 2, 2, 3
2687 ; PWR6-NEXT: vspltish 3, 9
2688 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
2689 ; PWR6-NEXT: blr
2693 ; PWR7-NEXT: vspltish 3, 1
2694 ; PWR7-NEXT: addis 3, 2, .LCPI27_0@toc@ha
2695 ; PWR7-NEXT: addi 3, 3, .LCPI27_0@toc@l
2696 ; PWR7-NEXT: vspltish 4, 2
2697 ; PWR7-NEXT: lxvw4x 0, 0, 3
2698 ; PWR7-NEXT: addis 3, 2, .LCPI27_1@toc@ha
2699 ; PWR7-NEXT: vspltisb 5, 15
2700 ; PWR7-NEXT: vsrh 3, 2, 3
2701 ; PWR7-NEXT: addi 3, 3, .LCPI27_1@toc@l
2702 ; PWR7-NEXT: xxland 35, 35, 0
2703 ; PWR7-NEXT: lxvw4x 0, 0, 3
2704 ; PWR7-NEXT: vsubuhm 2, 2, 3
2705 ; PWR7-NEXT: vsrh 3, 2, 4
2706 ; PWR7-NEXT: xxland 34, 34, 0
2707 ; PWR7-NEXT: vspltish 4, 4
2708 ; PWR7-NEXT: xxland 35, 35, 0
2709 ; PWR7-NEXT: vadduhm 2, 2, 3
2710 ; PWR7-NEXT: vsrh 3, 2, 4
2711 ; PWR7-NEXT: vxor 4, 4, 4
2712 ; PWR7-NEXT: vadduhm 2, 2, 3
2713 ; PWR7-NEXT: vspltisb 3, 1
2714 ; PWR7-NEXT: xxland 34, 34, 37
2715 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2716 ; PWR7-NEXT: vspltish 3, 8
2717 ; PWR7-NEXT: vsrh 2, 2, 3
2718 ; PWR7-NEXT: vspltish 3, 9
2719 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
2720 ; PWR7-NEXT: blr
2724 ; PWR8-NEXT: vspltish 3, 9
2725 ; PWR8-NEXT: vpopcnth 2, 2
2726 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
2727 ; PWR8-NEXT: blr
2731 ; PWR9-NEXT: vspltish 3, 9
2732 ; PWR9-NEXT: vpopcnth 2, 2
2733 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
2734 ; PWR9-NEXT: blr
2744 ; PWR5-NEXT: addis 3, 2, .LCPI28_0@toc@ha
2745 ; PWR5-NEXT: vspltish 4, 1
2746 ; PWR5-NEXT: vxor 3, 3, 3
2747 ; PWR5-NEXT: addi 3, 3, .LCPI28_0@toc@l
2748 ; PWR5-NEXT: lvx 5, 0, 3
2749 ; PWR5-NEXT: addis 3, 2, .LCPI28_1@toc@ha
2750 ; PWR5-NEXT: addi 3, 3, .LCPI28_1@toc@l
2751 ; PWR5-NEXT: vsrh 4, 2, 4
2752 ; PWR5-NEXT: vand 4, 4, 5
2753 ; PWR5-NEXT: vspltish 5, 2
2754 ; PWR5-NEXT: vsubuhm 2, 2, 4
2755 ; PWR5-NEXT: vsrh 4, 2, 5
2756 ; PWR5-NEXT: lvx 5, 0, 3
2757 ; PWR5-NEXT: vand 2, 2, 5
2758 ; PWR5-NEXT: vand 4, 4, 5
2759 ; PWR5-NEXT: vspltish 5, 4
2760 ; PWR5-NEXT: vadduhm 2, 2, 4
2761 ; PWR5-NEXT: vsrh 4, 2, 5
2762 ; PWR5-NEXT: vspltisb 5, 15
2763 ; PWR5-NEXT: vadduhm 2, 2, 4
2764 ; PWR5-NEXT: vspltisb 4, 1
2765 ; PWR5-NEXT: vand 2, 2, 5
2766 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2767 ; PWR5-NEXT: vspltish 3, 8
2768 ; PWR5-NEXT: vsrh 2, 2, 3
2769 ; PWR5-NEXT: vspltish 3, 9
2770 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
2771 ; PWR5-NEXT: blr
2775 ; PWR6-NEXT: addis 3, 2, .LCPI28_0@toc@ha
2776 ; PWR6-NEXT: vspltish 4, 1
2777 ; PWR6-NEXT: vxor 3, 3, 3
2778 ; PWR6-NEXT: addi 3, 3, .LCPI28_0@toc@l
2779 ; PWR6-NEXT: lvx 5, 0, 3
2780 ; PWR6-NEXT: addis 3, 2, .LCPI28_1@toc@ha
2781 ; PWR6-NEXT: addi 3, 3, .LCPI28_1@toc@l
2782 ; PWR6-NEXT: vsrh 4, 2, 4
2783 ; PWR6-NEXT: vand 4, 4, 5
2784 ; PWR6-NEXT: vspltish 5, 2
2785 ; PWR6-NEXT: vsubuhm 2, 2, 4
2786 ; PWR6-NEXT: vsrh 4, 2, 5
2787 ; PWR6-NEXT: lvx 5, 0, 3
2788 ; PWR6-NEXT: vand 2, 2, 5
2789 ; PWR6-NEXT: vand 4, 4, 5
2790 ; PWR6-NEXT: vspltish 5, 4
2791 ; PWR6-NEXT: vadduhm 2, 2, 4
2792 ; PWR6-NEXT: vsrh 4, 2, 5
2793 ; PWR6-NEXT: vspltisb 5, 15
2794 ; PWR6-NEXT: vadduhm 2, 2, 4
2795 ; PWR6-NEXT: vspltisb 4, 1
2796 ; PWR6-NEXT: vand 2, 2, 5
2797 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2798 ; PWR6-NEXT: vspltish 3, 8
2799 ; PWR6-NEXT: vsrh 2, 2, 3
2800 ; PWR6-NEXT: vspltish 3, 9
2801 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
2802 ; PWR6-NEXT: blr
2806 ; PWR7-NEXT: vspltish 3, 1
2807 ; PWR7-NEXT: addis 3, 2, .LCPI28_0@toc@ha
2808 ; PWR7-NEXT: addi 3, 3, .LCPI28_0@toc@l
2809 ; PWR7-NEXT: vspltish 4, 2
2810 ; PWR7-NEXT: lxvw4x 0, 0, 3
2811 ; PWR7-NEXT: addis 3, 2, .LCPI28_1@toc@ha
2812 ; PWR7-NEXT: vspltisb 5, 15
2813 ; PWR7-NEXT: vsrh 3, 2, 3
2814 ; PWR7-NEXT: addi 3, 3, .LCPI28_1@toc@l
2815 ; PWR7-NEXT: xxland 35, 35, 0
2816 ; PWR7-NEXT: lxvw4x 0, 0, 3
2817 ; PWR7-NEXT: vsubuhm 2, 2, 3
2818 ; PWR7-NEXT: vsrh 3, 2, 4
2819 ; PWR7-NEXT: xxland 34, 34, 0
2820 ; PWR7-NEXT: vspltish 4, 4
2821 ; PWR7-NEXT: xxland 35, 35, 0
2822 ; PWR7-NEXT: vadduhm 2, 2, 3
2823 ; PWR7-NEXT: vsrh 3, 2, 4
2824 ; PWR7-NEXT: vxor 4, 4, 4
2825 ; PWR7-NEXT: vadduhm 2, 2, 3
2826 ; PWR7-NEXT: vspltisb 3, 1
2827 ; PWR7-NEXT: xxland 34, 34, 37
2828 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2829 ; PWR7-NEXT: vspltish 3, 8
2830 ; PWR7-NEXT: vsrh 2, 2, 3
2831 ; PWR7-NEXT: vspltish 3, 9
2832 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
2833 ; PWR7-NEXT: blr
2837 ; PWR8-NEXT: vspltish 3, 9
2838 ; PWR8-NEXT: vpopcnth 2, 2
2839 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
2840 ; PWR8-NEXT: blr
2844 ; PWR9-NEXT: vspltish 3, 9
2845 ; PWR9-NEXT: vpopcnth 2, 2
2846 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
2847 ; PWR9-NEXT: blr
2857 ; PWR5-NEXT: addis 3, 2, .LCPI29_0@toc@ha
2858 ; PWR5-NEXT: vspltish 4, 1
2859 ; PWR5-NEXT: vxor 3, 3, 3
2860 ; PWR5-NEXT: addi 3, 3, .LCPI29_0@toc@l
2861 ; PWR5-NEXT: lvx 5, 0, 3
2862 ; PWR5-NEXT: addis 3, 2, .LCPI29_1@toc@ha
2863 ; PWR5-NEXT: addi 3, 3, .LCPI29_1@toc@l
2864 ; PWR5-NEXT: vsrh 4, 2, 4
2865 ; PWR5-NEXT: vand 4, 4, 5
2866 ; PWR5-NEXT: vspltish 5, 2
2867 ; PWR5-NEXT: vsubuhm 2, 2, 4
2868 ; PWR5-NEXT: vsrh 4, 2, 5
2869 ; PWR5-NEXT: lvx 5, 0, 3
2870 ; PWR5-NEXT: vand 2, 2, 5
2871 ; PWR5-NEXT: vand 4, 4, 5
2872 ; PWR5-NEXT: vspltish 5, 4
2873 ; PWR5-NEXT: vadduhm 2, 2, 4
2874 ; PWR5-NEXT: vsrh 4, 2, 5
2875 ; PWR5-NEXT: vspltisb 5, 15
2876 ; PWR5-NEXT: vadduhm 2, 2, 4
2877 ; PWR5-NEXT: vspltisb 4, 1
2878 ; PWR5-NEXT: vand 2, 2, 5
2879 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2880 ; PWR5-NEXT: vspltish 3, 8
2881 ; PWR5-NEXT: vsrh 2, 2, 3
2882 ; PWR5-NEXT: vspltish 3, 10
2883 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
2884 ; PWR5-NEXT: blr
2888 ; PWR6-NEXT: addis 3, 2, .LCPI29_0@toc@ha
2889 ; PWR6-NEXT: vspltish 4, 1
2890 ; PWR6-NEXT: vxor 3, 3, 3
2891 ; PWR6-NEXT: addi 3, 3, .LCPI29_0@toc@l
2892 ; PWR6-NEXT: lvx 5, 0, 3
2893 ; PWR6-NEXT: addis 3, 2, .LCPI29_1@toc@ha
2894 ; PWR6-NEXT: addi 3, 3, .LCPI29_1@toc@l
2895 ; PWR6-NEXT: vsrh 4, 2, 4
2896 ; PWR6-NEXT: vand 4, 4, 5
2897 ; PWR6-NEXT: vspltish 5, 2
2898 ; PWR6-NEXT: vsubuhm 2, 2, 4
2899 ; PWR6-NEXT: vsrh 4, 2, 5
2900 ; PWR6-NEXT: lvx 5, 0, 3
2901 ; PWR6-NEXT: vand 2, 2, 5
2902 ; PWR6-NEXT: vand 4, 4, 5
2903 ; PWR6-NEXT: vspltish 5, 4
2904 ; PWR6-NEXT: vadduhm 2, 2, 4
2905 ; PWR6-NEXT: vsrh 4, 2, 5
2906 ; PWR6-NEXT: vspltisb 5, 15
2907 ; PWR6-NEXT: vadduhm 2, 2, 4
2908 ; PWR6-NEXT: vspltisb 4, 1
2909 ; PWR6-NEXT: vand 2, 2, 5
2910 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
2911 ; PWR6-NEXT: vspltish 3, 8
2912 ; PWR6-NEXT: vsrh 2, 2, 3
2913 ; PWR6-NEXT: vspltish 3, 10
2914 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
2915 ; PWR6-NEXT: blr
2919 ; PWR7-NEXT: vspltish 3, 1
2920 ; PWR7-NEXT: addis 3, 2, .LCPI29_0@toc@ha
2921 ; PWR7-NEXT: addi 3, 3, .LCPI29_0@toc@l
2922 ; PWR7-NEXT: vspltish 4, 2
2923 ; PWR7-NEXT: lxvw4x 0, 0, 3
2924 ; PWR7-NEXT: addis 3, 2, .LCPI29_1@toc@ha
2925 ; PWR7-NEXT: vspltisb 5, 15
2926 ; PWR7-NEXT: vsrh 3, 2, 3
2927 ; PWR7-NEXT: addi 3, 3, .LCPI29_1@toc@l
2928 ; PWR7-NEXT: xxland 35, 35, 0
2929 ; PWR7-NEXT: lxvw4x 0, 0, 3
2930 ; PWR7-NEXT: vsubuhm 2, 2, 3
2931 ; PWR7-NEXT: vsrh 3, 2, 4
2932 ; PWR7-NEXT: xxland 34, 34, 0
2933 ; PWR7-NEXT: vspltish 4, 4
2934 ; PWR7-NEXT: xxland 35, 35, 0
2935 ; PWR7-NEXT: vadduhm 2, 2, 3
2936 ; PWR7-NEXT: vsrh 3, 2, 4
2937 ; PWR7-NEXT: vxor 4, 4, 4
2938 ; PWR7-NEXT: vadduhm 2, 2, 3
2939 ; PWR7-NEXT: vspltisb 3, 1
2940 ; PWR7-NEXT: xxland 34, 34, 37
2941 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
2942 ; PWR7-NEXT: vspltish 3, 8
2943 ; PWR7-NEXT: vsrh 2, 2, 3
2944 ; PWR7-NEXT: vspltish 3, 10
2945 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
2946 ; PWR7-NEXT: blr
2950 ; PWR8-NEXT: vspltish 3, 10
2951 ; PWR8-NEXT: vpopcnth 2, 2
2952 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
2953 ; PWR8-NEXT: blr
2957 ; PWR9-NEXT: vspltish 3, 10
2958 ; PWR9-NEXT: vpopcnth 2, 2
2959 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
2960 ; PWR9-NEXT: blr
2970 ; PWR5-NEXT: addis 3, 2, .LCPI30_0@toc@ha
2971 ; PWR5-NEXT: vspltish 4, 1
2972 ; PWR5-NEXT: vxor 3, 3, 3
2973 ; PWR5-NEXT: addi 3, 3, .LCPI30_0@toc@l
2974 ; PWR5-NEXT: lvx 5, 0, 3
2975 ; PWR5-NEXT: addis 3, 2, .LCPI30_1@toc@ha
2976 ; PWR5-NEXT: addi 3, 3, .LCPI30_1@toc@l
2977 ; PWR5-NEXT: vsrh 4, 2, 4
2978 ; PWR5-NEXT: vand 4, 4, 5
2979 ; PWR5-NEXT: vspltish 5, 2
2980 ; PWR5-NEXT: vsubuhm 2, 2, 4
2981 ; PWR5-NEXT: vsrh 4, 2, 5
2982 ; PWR5-NEXT: lvx 5, 0, 3
2983 ; PWR5-NEXT: vand 2, 2, 5
2984 ; PWR5-NEXT: vand 4, 4, 5
2985 ; PWR5-NEXT: vspltish 5, 4
2986 ; PWR5-NEXT: vadduhm 2, 2, 4
2987 ; PWR5-NEXT: vsrh 4, 2, 5
2988 ; PWR5-NEXT: vspltisb 5, 15
2989 ; PWR5-NEXT: vadduhm 2, 2, 4
2990 ; PWR5-NEXT: vspltisb 4, 1
2991 ; PWR5-NEXT: vand 2, 2, 5
2992 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
2993 ; PWR5-NEXT: vspltish 3, 8
2994 ; PWR5-NEXT: vsrh 2, 2, 3
2995 ; PWR5-NEXT: vspltish 3, 10
2996 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
2997 ; PWR5-NEXT: blr
3001 ; PWR6-NEXT: addis 3, 2, .LCPI30_0@toc@ha
3002 ; PWR6-NEXT: vspltish 4, 1
3003 ; PWR6-NEXT: vxor 3, 3, 3
3004 ; PWR6-NEXT: addi 3, 3, .LCPI30_0@toc@l
3005 ; PWR6-NEXT: lvx 5, 0, 3
3006 ; PWR6-NEXT: addis 3, 2, .LCPI30_1@toc@ha
3007 ; PWR6-NEXT: addi 3, 3, .LCPI30_1@toc@l
3008 ; PWR6-NEXT: vsrh 4, 2, 4
3009 ; PWR6-NEXT: vand 4, 4, 5
3010 ; PWR6-NEXT: vspltish 5, 2
3011 ; PWR6-NEXT: vsubuhm 2, 2, 4
3012 ; PWR6-NEXT: vsrh 4, 2, 5
3013 ; PWR6-NEXT: lvx 5, 0, 3
3014 ; PWR6-NEXT: vand 2, 2, 5
3015 ; PWR6-NEXT: vand 4, 4, 5
3016 ; PWR6-NEXT: vspltish 5, 4
3017 ; PWR6-NEXT: vadduhm 2, 2, 4
3018 ; PWR6-NEXT: vsrh 4, 2, 5
3019 ; PWR6-NEXT: vspltisb 5, 15
3020 ; PWR6-NEXT: vadduhm 2, 2, 4
3021 ; PWR6-NEXT: vspltisb 4, 1
3022 ; PWR6-NEXT: vand 2, 2, 5
3023 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3024 ; PWR6-NEXT: vspltish 3, 8
3025 ; PWR6-NEXT: vsrh 2, 2, 3
3026 ; PWR6-NEXT: vspltish 3, 10
3027 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
3028 ; PWR6-NEXT: blr
3032 ; PWR7-NEXT: vspltish 3, 1
3033 ; PWR7-NEXT: addis 3, 2, .LCPI30_0@toc@ha
3034 ; PWR7-NEXT: addi 3, 3, .LCPI30_0@toc@l
3035 ; PWR7-NEXT: vspltish 4, 2
3036 ; PWR7-NEXT: lxvw4x 0, 0, 3
3037 ; PWR7-NEXT: addis 3, 2, .LCPI30_1@toc@ha
3038 ; PWR7-NEXT: vspltisb 5, 15
3039 ; PWR7-NEXT: vsrh 3, 2, 3
3040 ; PWR7-NEXT: addi 3, 3, .LCPI30_1@toc@l
3041 ; PWR7-NEXT: xxland 35, 35, 0
3042 ; PWR7-NEXT: lxvw4x 0, 0, 3
3043 ; PWR7-NEXT: vsubuhm 2, 2, 3
3044 ; PWR7-NEXT: vsrh 3, 2, 4
3045 ; PWR7-NEXT: xxland 34, 34, 0
3046 ; PWR7-NEXT: vspltish 4, 4
3047 ; PWR7-NEXT: xxland 35, 35, 0
3048 ; PWR7-NEXT: vadduhm 2, 2, 3
3049 ; PWR7-NEXT: vsrh 3, 2, 4
3050 ; PWR7-NEXT: vxor 4, 4, 4
3051 ; PWR7-NEXT: vadduhm 2, 2, 3
3052 ; PWR7-NEXT: vspltisb 3, 1
3053 ; PWR7-NEXT: xxland 34, 34, 37
3054 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3055 ; PWR7-NEXT: vspltish 3, 8
3056 ; PWR7-NEXT: vsrh 2, 2, 3
3057 ; PWR7-NEXT: vspltish 3, 10
3058 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
3059 ; PWR7-NEXT: blr
3063 ; PWR8-NEXT: vspltish 3, 10
3064 ; PWR8-NEXT: vpopcnth 2, 2
3065 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
3066 ; PWR8-NEXT: blr
3070 ; PWR9-NEXT: vspltish 3, 10
3071 ; PWR9-NEXT: vpopcnth 2, 2
3072 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
3073 ; PWR9-NEXT: blr
3083 ; PWR5-NEXT: addis 3, 2, .LCPI31_0@toc@ha
3084 ; PWR5-NEXT: vspltish 4, 1
3085 ; PWR5-NEXT: vxor 3, 3, 3
3086 ; PWR5-NEXT: addi 3, 3, .LCPI31_0@toc@l
3087 ; PWR5-NEXT: lvx 5, 0, 3
3088 ; PWR5-NEXT: addis 3, 2, .LCPI31_1@toc@ha
3089 ; PWR5-NEXT: addi 3, 3, .LCPI31_1@toc@l
3090 ; PWR5-NEXT: vsrh 4, 2, 4
3091 ; PWR5-NEXT: vand 4, 4, 5
3092 ; PWR5-NEXT: vspltish 5, 2
3093 ; PWR5-NEXT: vsubuhm 2, 2, 4
3094 ; PWR5-NEXT: vsrh 4, 2, 5
3095 ; PWR5-NEXT: lvx 5, 0, 3
3096 ; PWR5-NEXT: vand 2, 2, 5
3097 ; PWR5-NEXT: vand 4, 4, 5
3098 ; PWR5-NEXT: vspltish 5, 4
3099 ; PWR5-NEXT: vadduhm 2, 2, 4
3100 ; PWR5-NEXT: vsrh 4, 2, 5
3101 ; PWR5-NEXT: vspltisb 5, 15
3102 ; PWR5-NEXT: vadduhm 2, 2, 4
3103 ; PWR5-NEXT: vspltisb 4, 1
3104 ; PWR5-NEXT: vand 2, 2, 5
3105 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3106 ; PWR5-NEXT: vspltish 3, 8
3107 ; PWR5-NEXT: vsrh 2, 2, 3
3108 ; PWR5-NEXT: vspltish 3, 11
3109 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
3110 ; PWR5-NEXT: blr
3114 ; PWR6-NEXT: addis 3, 2, .LCPI31_0@toc@ha
3115 ; PWR6-NEXT: vspltish 4, 1
3116 ; PWR6-NEXT: vxor 3, 3, 3
3117 ; PWR6-NEXT: addi 3, 3, .LCPI31_0@toc@l
3118 ; PWR6-NEXT: lvx 5, 0, 3
3119 ; PWR6-NEXT: addis 3, 2, .LCPI31_1@toc@ha
3120 ; PWR6-NEXT: addi 3, 3, .LCPI31_1@toc@l
3121 ; PWR6-NEXT: vsrh 4, 2, 4
3122 ; PWR6-NEXT: vand 4, 4, 5
3123 ; PWR6-NEXT: vspltish 5, 2
3124 ; PWR6-NEXT: vsubuhm 2, 2, 4
3125 ; PWR6-NEXT: vsrh 4, 2, 5
3126 ; PWR6-NEXT: lvx 5, 0, 3
3127 ; PWR6-NEXT: vand 2, 2, 5
3128 ; PWR6-NEXT: vand 4, 4, 5
3129 ; PWR6-NEXT: vspltish 5, 4
3130 ; PWR6-NEXT: vadduhm 2, 2, 4
3131 ; PWR6-NEXT: vsrh 4, 2, 5
3132 ; PWR6-NEXT: vspltisb 5, 15
3133 ; PWR6-NEXT: vadduhm 2, 2, 4
3134 ; PWR6-NEXT: vspltisb 4, 1
3135 ; PWR6-NEXT: vand 2, 2, 5
3136 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3137 ; PWR6-NEXT: vspltish 3, 8
3138 ; PWR6-NEXT: vsrh 2, 2, 3
3139 ; PWR6-NEXT: vspltish 3, 11
3140 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
3141 ; PWR6-NEXT: blr
3145 ; PWR7-NEXT: vspltish 3, 1
3146 ; PWR7-NEXT: addis 3, 2, .LCPI31_0@toc@ha
3147 ; PWR7-NEXT: addi 3, 3, .LCPI31_0@toc@l
3148 ; PWR7-NEXT: vspltish 4, 2
3149 ; PWR7-NEXT: lxvw4x 0, 0, 3
3150 ; PWR7-NEXT: addis 3, 2, .LCPI31_1@toc@ha
3151 ; PWR7-NEXT: vspltisb 5, 15
3152 ; PWR7-NEXT: vsrh 3, 2, 3
3153 ; PWR7-NEXT: addi 3, 3, .LCPI31_1@toc@l
3154 ; PWR7-NEXT: xxland 35, 35, 0
3155 ; PWR7-NEXT: lxvw4x 0, 0, 3
3156 ; PWR7-NEXT: vsubuhm 2, 2, 3
3157 ; PWR7-NEXT: vsrh 3, 2, 4
3158 ; PWR7-NEXT: xxland 34, 34, 0
3159 ; PWR7-NEXT: vspltish 4, 4
3160 ; PWR7-NEXT: xxland 35, 35, 0
3161 ; PWR7-NEXT: vadduhm 2, 2, 3
3162 ; PWR7-NEXT: vsrh 3, 2, 4
3163 ; PWR7-NEXT: vxor 4, 4, 4
3164 ; PWR7-NEXT: vadduhm 2, 2, 3
3165 ; PWR7-NEXT: vspltisb 3, 1
3166 ; PWR7-NEXT: xxland 34, 34, 37
3167 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3168 ; PWR7-NEXT: vspltish 3, 8
3169 ; PWR7-NEXT: vsrh 2, 2, 3
3170 ; PWR7-NEXT: vspltish 3, 11
3171 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
3172 ; PWR7-NEXT: blr
3176 ; PWR8-NEXT: vspltish 3, 11
3177 ; PWR8-NEXT: vpopcnth 2, 2
3178 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
3179 ; PWR8-NEXT: blr
3183 ; PWR9-NEXT: vspltish 3, 11
3184 ; PWR9-NEXT: vpopcnth 2, 2
3185 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
3186 ; PWR9-NEXT: blr
3196 ; PWR5-NEXT: addis 3, 2, .LCPI32_0@toc@ha
3197 ; PWR5-NEXT: vspltish 4, 1
3198 ; PWR5-NEXT: vxor 3, 3, 3
3199 ; PWR5-NEXT: addi 3, 3, .LCPI32_0@toc@l
3200 ; PWR5-NEXT: lvx 5, 0, 3
3201 ; PWR5-NEXT: addis 3, 2, .LCPI32_1@toc@ha
3202 ; PWR5-NEXT: addi 3, 3, .LCPI32_1@toc@l
3203 ; PWR5-NEXT: vsrh 4, 2, 4
3204 ; PWR5-NEXT: vand 4, 4, 5
3205 ; PWR5-NEXT: vspltish 5, 2
3206 ; PWR5-NEXT: vsubuhm 2, 2, 4
3207 ; PWR5-NEXT: vsrh 4, 2, 5
3208 ; PWR5-NEXT: lvx 5, 0, 3
3209 ; PWR5-NEXT: vand 2, 2, 5
3210 ; PWR5-NEXT: vand 4, 4, 5
3211 ; PWR5-NEXT: vspltish 5, 4
3212 ; PWR5-NEXT: vadduhm 2, 2, 4
3213 ; PWR5-NEXT: vsrh 4, 2, 5
3214 ; PWR5-NEXT: vspltisb 5, 15
3215 ; PWR5-NEXT: vadduhm 2, 2, 4
3216 ; PWR5-NEXT: vspltisb 4, 1
3217 ; PWR5-NEXT: vand 2, 2, 5
3218 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3219 ; PWR5-NEXT: vspltish 3, 8
3220 ; PWR5-NEXT: vsrh 2, 2, 3
3221 ; PWR5-NEXT: vspltish 3, 11
3222 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
3223 ; PWR5-NEXT: blr
3227 ; PWR6-NEXT: addis 3, 2, .LCPI32_0@toc@ha
3228 ; PWR6-NEXT: vspltish 4, 1
3229 ; PWR6-NEXT: vxor 3, 3, 3
3230 ; PWR6-NEXT: addi 3, 3, .LCPI32_0@toc@l
3231 ; PWR6-NEXT: lvx 5, 0, 3
3232 ; PWR6-NEXT: addis 3, 2, .LCPI32_1@toc@ha
3233 ; PWR6-NEXT: addi 3, 3, .LCPI32_1@toc@l
3234 ; PWR6-NEXT: vsrh 4, 2, 4
3235 ; PWR6-NEXT: vand 4, 4, 5
3236 ; PWR6-NEXT: vspltish 5, 2
3237 ; PWR6-NEXT: vsubuhm 2, 2, 4
3238 ; PWR6-NEXT: vsrh 4, 2, 5
3239 ; PWR6-NEXT: lvx 5, 0, 3
3240 ; PWR6-NEXT: vand 2, 2, 5
3241 ; PWR6-NEXT: vand 4, 4, 5
3242 ; PWR6-NEXT: vspltish 5, 4
3243 ; PWR6-NEXT: vadduhm 2, 2, 4
3244 ; PWR6-NEXT: vsrh 4, 2, 5
3245 ; PWR6-NEXT: vspltisb 5, 15
3246 ; PWR6-NEXT: vadduhm 2, 2, 4
3247 ; PWR6-NEXT: vspltisb 4, 1
3248 ; PWR6-NEXT: vand 2, 2, 5
3249 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3250 ; PWR6-NEXT: vspltish 3, 8
3251 ; PWR6-NEXT: vsrh 2, 2, 3
3252 ; PWR6-NEXT: vspltish 3, 11
3253 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
3254 ; PWR6-NEXT: blr
3258 ; PWR7-NEXT: vspltish 3, 1
3259 ; PWR7-NEXT: addis 3, 2, .LCPI32_0@toc@ha
3260 ; PWR7-NEXT: addi 3, 3, .LCPI32_0@toc@l
3261 ; PWR7-NEXT: vspltish 4, 2
3262 ; PWR7-NEXT: lxvw4x 0, 0, 3
3263 ; PWR7-NEXT: addis 3, 2, .LCPI32_1@toc@ha
3264 ; PWR7-NEXT: vspltisb 5, 15
3265 ; PWR7-NEXT: vsrh 3, 2, 3
3266 ; PWR7-NEXT: addi 3, 3, .LCPI32_1@toc@l
3267 ; PWR7-NEXT: xxland 35, 35, 0
3268 ; PWR7-NEXT: lxvw4x 0, 0, 3
3269 ; PWR7-NEXT: vsubuhm 2, 2, 3
3270 ; PWR7-NEXT: vsrh 3, 2, 4
3271 ; PWR7-NEXT: xxland 34, 34, 0
3272 ; PWR7-NEXT: vspltish 4, 4
3273 ; PWR7-NEXT: xxland 35, 35, 0
3274 ; PWR7-NEXT: vadduhm 2, 2, 3
3275 ; PWR7-NEXT: vsrh 3, 2, 4
3276 ; PWR7-NEXT: vxor 4, 4, 4
3277 ; PWR7-NEXT: vadduhm 2, 2, 3
3278 ; PWR7-NEXT: vspltisb 3, 1
3279 ; PWR7-NEXT: xxland 34, 34, 37
3280 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3281 ; PWR7-NEXT: vspltish 3, 8
3282 ; PWR7-NEXT: vsrh 2, 2, 3
3283 ; PWR7-NEXT: vspltish 3, 11
3284 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
3285 ; PWR7-NEXT: blr
3289 ; PWR8-NEXT: vspltish 3, 11
3290 ; PWR8-NEXT: vpopcnth 2, 2
3291 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
3292 ; PWR8-NEXT: blr
3296 ; PWR9-NEXT: vspltish 3, 11
3297 ; PWR9-NEXT: vpopcnth 2, 2
3298 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
3299 ; PWR9-NEXT: blr
3309 ; PWR5-NEXT: addis 3, 2, .LCPI33_0@toc@ha
3310 ; PWR5-NEXT: vspltish 4, 1
3311 ; PWR5-NEXT: vxor 3, 3, 3
3312 ; PWR5-NEXT: addi 3, 3, .LCPI33_0@toc@l
3313 ; PWR5-NEXT: lvx 5, 0, 3
3314 ; PWR5-NEXT: addis 3, 2, .LCPI33_1@toc@ha
3315 ; PWR5-NEXT: addi 3, 3, .LCPI33_1@toc@l
3316 ; PWR5-NEXT: vsrh 4, 2, 4
3317 ; PWR5-NEXT: vand 4, 4, 5
3318 ; PWR5-NEXT: vspltish 5, 2
3319 ; PWR5-NEXT: vsubuhm 2, 2, 4
3320 ; PWR5-NEXT: vsrh 4, 2, 5
3321 ; PWR5-NEXT: lvx 5, 0, 3
3322 ; PWR5-NEXT: vand 2, 2, 5
3323 ; PWR5-NEXT: vand 4, 4, 5
3324 ; PWR5-NEXT: vspltish 5, 4
3325 ; PWR5-NEXT: vadduhm 2, 2, 4
3326 ; PWR5-NEXT: vsrh 4, 2, 5
3327 ; PWR5-NEXT: vspltisb 5, 15
3328 ; PWR5-NEXT: vadduhm 2, 2, 4
3329 ; PWR5-NEXT: vspltisb 4, 1
3330 ; PWR5-NEXT: vand 2, 2, 5
3331 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3332 ; PWR5-NEXT: vspltish 3, 8
3333 ; PWR5-NEXT: vsrh 2, 2, 3
3334 ; PWR5-NEXT: vspltish 3, 12
3335 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
3336 ; PWR5-NEXT: blr
3340 ; PWR6-NEXT: addis 3, 2, .LCPI33_0@toc@ha
3341 ; PWR6-NEXT: vspltish 4, 1
3342 ; PWR6-NEXT: vxor 3, 3, 3
3343 ; PWR6-NEXT: addi 3, 3, .LCPI33_0@toc@l
3344 ; PWR6-NEXT: lvx 5, 0, 3
3345 ; PWR6-NEXT: addis 3, 2, .LCPI33_1@toc@ha
3346 ; PWR6-NEXT: addi 3, 3, .LCPI33_1@toc@l
3347 ; PWR6-NEXT: vsrh 4, 2, 4
3348 ; PWR6-NEXT: vand 4, 4, 5
3349 ; PWR6-NEXT: vspltish 5, 2
3350 ; PWR6-NEXT: vsubuhm 2, 2, 4
3351 ; PWR6-NEXT: vsrh 4, 2, 5
3352 ; PWR6-NEXT: lvx 5, 0, 3
3353 ; PWR6-NEXT: vand 2, 2, 5
3354 ; PWR6-NEXT: vand 4, 4, 5
3355 ; PWR6-NEXT: vspltish 5, 4
3356 ; PWR6-NEXT: vadduhm 2, 2, 4
3357 ; PWR6-NEXT: vsrh 4, 2, 5
3358 ; PWR6-NEXT: vspltisb 5, 15
3359 ; PWR6-NEXT: vadduhm 2, 2, 4
3360 ; PWR6-NEXT: vspltisb 4, 1
3361 ; PWR6-NEXT: vand 2, 2, 5
3362 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3363 ; PWR6-NEXT: vspltish 3, 8
3364 ; PWR6-NEXT: vsrh 2, 2, 3
3365 ; PWR6-NEXT: vspltish 3, 12
3366 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
3367 ; PWR6-NEXT: blr
3371 ; PWR7-NEXT: vspltish 3, 1
3372 ; PWR7-NEXT: addis 3, 2, .LCPI33_0@toc@ha
3373 ; PWR7-NEXT: addi 3, 3, .LCPI33_0@toc@l
3374 ; PWR7-NEXT: vspltish 4, 2
3375 ; PWR7-NEXT: lxvw4x 0, 0, 3
3376 ; PWR7-NEXT: addis 3, 2, .LCPI33_1@toc@ha
3377 ; PWR7-NEXT: vspltisb 5, 15
3378 ; PWR7-NEXT: vsrh 3, 2, 3
3379 ; PWR7-NEXT: addi 3, 3, .LCPI33_1@toc@l
3380 ; PWR7-NEXT: xxland 35, 35, 0
3381 ; PWR7-NEXT: lxvw4x 0, 0, 3
3382 ; PWR7-NEXT: vsubuhm 2, 2, 3
3383 ; PWR7-NEXT: vsrh 3, 2, 4
3384 ; PWR7-NEXT: xxland 34, 34, 0
3385 ; PWR7-NEXT: vspltish 4, 4
3386 ; PWR7-NEXT: xxland 35, 35, 0
3387 ; PWR7-NEXT: vadduhm 2, 2, 3
3388 ; PWR7-NEXT: vsrh 3, 2, 4
3389 ; PWR7-NEXT: vxor 4, 4, 4
3390 ; PWR7-NEXT: vadduhm 2, 2, 3
3391 ; PWR7-NEXT: vspltisb 3, 1
3392 ; PWR7-NEXT: xxland 34, 34, 37
3393 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3394 ; PWR7-NEXT: vspltish 3, 8
3395 ; PWR7-NEXT: vsrh 2, 2, 3
3396 ; PWR7-NEXT: vspltish 3, 12
3397 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
3398 ; PWR7-NEXT: blr
3402 ; PWR8-NEXT: vspltish 3, 12
3403 ; PWR8-NEXT: vpopcnth 2, 2
3404 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
3405 ; PWR8-NEXT: blr
3409 ; PWR9-NEXT: vspltish 3, 12
3410 ; PWR9-NEXT: vpopcnth 2, 2
3411 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
3412 ; PWR9-NEXT: blr
3422 ; PWR5-NEXT: addis 3, 2, .LCPI34_0@toc@ha
3423 ; PWR5-NEXT: vspltish 4, 1
3424 ; PWR5-NEXT: vxor 3, 3, 3
3425 ; PWR5-NEXT: addi 3, 3, .LCPI34_0@toc@l
3426 ; PWR5-NEXT: lvx 5, 0, 3
3427 ; PWR5-NEXT: addis 3, 2, .LCPI34_1@toc@ha
3428 ; PWR5-NEXT: addi 3, 3, .LCPI34_1@toc@l
3429 ; PWR5-NEXT: vsrh 4, 2, 4
3430 ; PWR5-NEXT: vand 4, 4, 5
3431 ; PWR5-NEXT: vspltish 5, 2
3432 ; PWR5-NEXT: vsubuhm 2, 2, 4
3433 ; PWR5-NEXT: vsrh 4, 2, 5
3434 ; PWR5-NEXT: lvx 5, 0, 3
3435 ; PWR5-NEXT: vand 2, 2, 5
3436 ; PWR5-NEXT: vand 4, 4, 5
3437 ; PWR5-NEXT: vspltish 5, 4
3438 ; PWR5-NEXT: vadduhm 2, 2, 4
3439 ; PWR5-NEXT: vsrh 4, 2, 5
3440 ; PWR5-NEXT: vspltisb 5, 15
3441 ; PWR5-NEXT: vadduhm 2, 2, 4
3442 ; PWR5-NEXT: vspltisb 4, 1
3443 ; PWR5-NEXT: vand 2, 2, 5
3444 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3445 ; PWR5-NEXT: vspltish 3, 8
3446 ; PWR5-NEXT: vsrh 2, 2, 3
3447 ; PWR5-NEXT: vspltish 3, 12
3448 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
3449 ; PWR5-NEXT: blr
3453 ; PWR6-NEXT: addis 3, 2, .LCPI34_0@toc@ha
3454 ; PWR6-NEXT: vspltish 4, 1
3455 ; PWR6-NEXT: vxor 3, 3, 3
3456 ; PWR6-NEXT: addi 3, 3, .LCPI34_0@toc@l
3457 ; PWR6-NEXT: lvx 5, 0, 3
3458 ; PWR6-NEXT: addis 3, 2, .LCPI34_1@toc@ha
3459 ; PWR6-NEXT: addi 3, 3, .LCPI34_1@toc@l
3460 ; PWR6-NEXT: vsrh 4, 2, 4
3461 ; PWR6-NEXT: vand 4, 4, 5
3462 ; PWR6-NEXT: vspltish 5, 2
3463 ; PWR6-NEXT: vsubuhm 2, 2, 4
3464 ; PWR6-NEXT: vsrh 4, 2, 5
3465 ; PWR6-NEXT: lvx 5, 0, 3
3466 ; PWR6-NEXT: vand 2, 2, 5
3467 ; PWR6-NEXT: vand 4, 4, 5
3468 ; PWR6-NEXT: vspltish 5, 4
3469 ; PWR6-NEXT: vadduhm 2, 2, 4
3470 ; PWR6-NEXT: vsrh 4, 2, 5
3471 ; PWR6-NEXT: vspltisb 5, 15
3472 ; PWR6-NEXT: vadduhm 2, 2, 4
3473 ; PWR6-NEXT: vspltisb 4, 1
3474 ; PWR6-NEXT: vand 2, 2, 5
3475 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3476 ; PWR6-NEXT: vspltish 3, 8
3477 ; PWR6-NEXT: vsrh 2, 2, 3
3478 ; PWR6-NEXT: vspltish 3, 12
3479 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
3480 ; PWR6-NEXT: blr
3484 ; PWR7-NEXT: vspltish 3, 1
3485 ; PWR7-NEXT: addis 3, 2, .LCPI34_0@toc@ha
3486 ; PWR7-NEXT: addi 3, 3, .LCPI34_0@toc@l
3487 ; PWR7-NEXT: vspltish 4, 2
3488 ; PWR7-NEXT: lxvw4x 0, 0, 3
3489 ; PWR7-NEXT: addis 3, 2, .LCPI34_1@toc@ha
3490 ; PWR7-NEXT: vspltisb 5, 15
3491 ; PWR7-NEXT: vsrh 3, 2, 3
3492 ; PWR7-NEXT: addi 3, 3, .LCPI34_1@toc@l
3493 ; PWR7-NEXT: xxland 35, 35, 0
3494 ; PWR7-NEXT: lxvw4x 0, 0, 3
3495 ; PWR7-NEXT: vsubuhm 2, 2, 3
3496 ; PWR7-NEXT: vsrh 3, 2, 4
3497 ; PWR7-NEXT: xxland 34, 34, 0
3498 ; PWR7-NEXT: vspltish 4, 4
3499 ; PWR7-NEXT: xxland 35, 35, 0
3500 ; PWR7-NEXT: vadduhm 2, 2, 3
3501 ; PWR7-NEXT: vsrh 3, 2, 4
3502 ; PWR7-NEXT: vxor 4, 4, 4
3503 ; PWR7-NEXT: vadduhm 2, 2, 3
3504 ; PWR7-NEXT: vspltisb 3, 1
3505 ; PWR7-NEXT: xxland 34, 34, 37
3506 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3507 ; PWR7-NEXT: vspltish 3, 8
3508 ; PWR7-NEXT: vsrh 2, 2, 3
3509 ; PWR7-NEXT: vspltish 3, 12
3510 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
3511 ; PWR7-NEXT: blr
3515 ; PWR8-NEXT: vspltish 3, 12
3516 ; PWR8-NEXT: vpopcnth 2, 2
3517 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
3518 ; PWR8-NEXT: blr
3522 ; PWR9-NEXT: vspltish 3, 12
3523 ; PWR9-NEXT: vpopcnth 2, 2
3524 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
3525 ; PWR9-NEXT: blr
3535 ; PWR5-NEXT: addis 3, 2, .LCPI35_0@toc@ha
3536 ; PWR5-NEXT: vspltish 4, 1
3537 ; PWR5-NEXT: vxor 3, 3, 3
3538 ; PWR5-NEXT: addi 3, 3, .LCPI35_0@toc@l
3539 ; PWR5-NEXT: lvx 5, 0, 3
3540 ; PWR5-NEXT: addis 3, 2, .LCPI35_1@toc@ha
3541 ; PWR5-NEXT: addi 3, 3, .LCPI35_1@toc@l
3542 ; PWR5-NEXT: vsrh 4, 2, 4
3543 ; PWR5-NEXT: vand 4, 4, 5
3544 ; PWR5-NEXT: vspltish 5, 2
3545 ; PWR5-NEXT: vsubuhm 2, 2, 4
3546 ; PWR5-NEXT: vsrh 4, 2, 5
3547 ; PWR5-NEXT: lvx 5, 0, 3
3548 ; PWR5-NEXT: vand 2, 2, 5
3549 ; PWR5-NEXT: vand 4, 4, 5
3550 ; PWR5-NEXT: vspltish 5, 4
3551 ; PWR5-NEXT: vadduhm 2, 2, 4
3552 ; PWR5-NEXT: vsrh 4, 2, 5
3553 ; PWR5-NEXT: vspltisb 5, 15
3554 ; PWR5-NEXT: vadduhm 2, 2, 4
3555 ; PWR5-NEXT: vspltisb 4, 1
3556 ; PWR5-NEXT: vand 2, 2, 5
3557 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3558 ; PWR5-NEXT: vspltish 3, 8
3559 ; PWR5-NEXT: vsrh 2, 2, 3
3560 ; PWR5-NEXT: vspltish 3, 13
3561 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
3562 ; PWR5-NEXT: blr
3566 ; PWR6-NEXT: addis 3, 2, .LCPI35_0@toc@ha
3567 ; PWR6-NEXT: vspltish 4, 1
3568 ; PWR6-NEXT: vxor 3, 3, 3
3569 ; PWR6-NEXT: addi 3, 3, .LCPI35_0@toc@l
3570 ; PWR6-NEXT: lvx 5, 0, 3
3571 ; PWR6-NEXT: addis 3, 2, .LCPI35_1@toc@ha
3572 ; PWR6-NEXT: addi 3, 3, .LCPI35_1@toc@l
3573 ; PWR6-NEXT: vsrh 4, 2, 4
3574 ; PWR6-NEXT: vand 4, 4, 5
3575 ; PWR6-NEXT: vspltish 5, 2
3576 ; PWR6-NEXT: vsubuhm 2, 2, 4
3577 ; PWR6-NEXT: vsrh 4, 2, 5
3578 ; PWR6-NEXT: lvx 5, 0, 3
3579 ; PWR6-NEXT: vand 2, 2, 5
3580 ; PWR6-NEXT: vand 4, 4, 5
3581 ; PWR6-NEXT: vspltish 5, 4
3582 ; PWR6-NEXT: vadduhm 2, 2, 4
3583 ; PWR6-NEXT: vsrh 4, 2, 5
3584 ; PWR6-NEXT: vspltisb 5, 15
3585 ; PWR6-NEXT: vadduhm 2, 2, 4
3586 ; PWR6-NEXT: vspltisb 4, 1
3587 ; PWR6-NEXT: vand 2, 2, 5
3588 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3589 ; PWR6-NEXT: vspltish 3, 8
3590 ; PWR6-NEXT: vsrh 2, 2, 3
3591 ; PWR6-NEXT: vspltish 3, 13
3592 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
3593 ; PWR6-NEXT: blr
3597 ; PWR7-NEXT: vspltish 3, 1
3598 ; PWR7-NEXT: addis 3, 2, .LCPI35_0@toc@ha
3599 ; PWR7-NEXT: addi 3, 3, .LCPI35_0@toc@l
3600 ; PWR7-NEXT: vspltish 4, 2
3601 ; PWR7-NEXT: lxvw4x 0, 0, 3
3602 ; PWR7-NEXT: addis 3, 2, .LCPI35_1@toc@ha
3603 ; PWR7-NEXT: vspltisb 5, 15
3604 ; PWR7-NEXT: vsrh 3, 2, 3
3605 ; PWR7-NEXT: addi 3, 3, .LCPI35_1@toc@l
3606 ; PWR7-NEXT: xxland 35, 35, 0
3607 ; PWR7-NEXT: lxvw4x 0, 0, 3
3608 ; PWR7-NEXT: vsubuhm 2, 2, 3
3609 ; PWR7-NEXT: vsrh 3, 2, 4
3610 ; PWR7-NEXT: xxland 34, 34, 0
3611 ; PWR7-NEXT: vspltish 4, 4
3612 ; PWR7-NEXT: xxland 35, 35, 0
3613 ; PWR7-NEXT: vadduhm 2, 2, 3
3614 ; PWR7-NEXT: vsrh 3, 2, 4
3615 ; PWR7-NEXT: vxor 4, 4, 4
3616 ; PWR7-NEXT: vadduhm 2, 2, 3
3617 ; PWR7-NEXT: vspltisb 3, 1
3618 ; PWR7-NEXT: xxland 34, 34, 37
3619 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3620 ; PWR7-NEXT: vspltish 3, 8
3621 ; PWR7-NEXT: vsrh 2, 2, 3
3622 ; PWR7-NEXT: vspltish 3, 13
3623 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
3624 ; PWR7-NEXT: blr
3628 ; PWR8-NEXT: vspltish 3, 13
3629 ; PWR8-NEXT: vpopcnth 2, 2
3630 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
3631 ; PWR8-NEXT: blr
3635 ; PWR9-NEXT: vspltish 3, 13
3636 ; PWR9-NEXT: vpopcnth 2, 2
3637 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
3638 ; PWR9-NEXT: blr
3648 ; PWR5-NEXT: addis 3, 2, .LCPI36_0@toc@ha
3649 ; PWR5-NEXT: vspltish 4, 1
3650 ; PWR5-NEXT: vxor 3, 3, 3
3651 ; PWR5-NEXT: addi 3, 3, .LCPI36_0@toc@l
3652 ; PWR5-NEXT: lvx 5, 0, 3
3653 ; PWR5-NEXT: addis 3, 2, .LCPI36_1@toc@ha
3654 ; PWR5-NEXT: addi 3, 3, .LCPI36_1@toc@l
3655 ; PWR5-NEXT: vsrh 4, 2, 4
3656 ; PWR5-NEXT: vand 4, 4, 5
3657 ; PWR5-NEXT: vspltish 5, 2
3658 ; PWR5-NEXT: vsubuhm 2, 2, 4
3659 ; PWR5-NEXT: vsrh 4, 2, 5
3660 ; PWR5-NEXT: lvx 5, 0, 3
3661 ; PWR5-NEXT: vand 2, 2, 5
3662 ; PWR5-NEXT: vand 4, 4, 5
3663 ; PWR5-NEXT: vspltish 5, 4
3664 ; PWR5-NEXT: vadduhm 2, 2, 4
3665 ; PWR5-NEXT: vsrh 4, 2, 5
3666 ; PWR5-NEXT: vspltisb 5, 15
3667 ; PWR5-NEXT: vadduhm 2, 2, 4
3668 ; PWR5-NEXT: vspltisb 4, 1
3669 ; PWR5-NEXT: vand 2, 2, 5
3670 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3671 ; PWR5-NEXT: vspltish 3, 8
3672 ; PWR5-NEXT: vsrh 2, 2, 3
3673 ; PWR5-NEXT: vspltish 3, 13
3674 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
3675 ; PWR5-NEXT: blr
3679 ; PWR6-NEXT: addis 3, 2, .LCPI36_0@toc@ha
3680 ; PWR6-NEXT: vspltish 4, 1
3681 ; PWR6-NEXT: vxor 3, 3, 3
3682 ; PWR6-NEXT: addi 3, 3, .LCPI36_0@toc@l
3683 ; PWR6-NEXT: lvx 5, 0, 3
3684 ; PWR6-NEXT: addis 3, 2, .LCPI36_1@toc@ha
3685 ; PWR6-NEXT: addi 3, 3, .LCPI36_1@toc@l
3686 ; PWR6-NEXT: vsrh 4, 2, 4
3687 ; PWR6-NEXT: vand 4, 4, 5
3688 ; PWR6-NEXT: vspltish 5, 2
3689 ; PWR6-NEXT: vsubuhm 2, 2, 4
3690 ; PWR6-NEXT: vsrh 4, 2, 5
3691 ; PWR6-NEXT: lvx 5, 0, 3
3692 ; PWR6-NEXT: vand 2, 2, 5
3693 ; PWR6-NEXT: vand 4, 4, 5
3694 ; PWR6-NEXT: vspltish 5, 4
3695 ; PWR6-NEXT: vadduhm 2, 2, 4
3696 ; PWR6-NEXT: vsrh 4, 2, 5
3697 ; PWR6-NEXT: vspltisb 5, 15
3698 ; PWR6-NEXT: vadduhm 2, 2, 4
3699 ; PWR6-NEXT: vspltisb 4, 1
3700 ; PWR6-NEXT: vand 2, 2, 5
3701 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3702 ; PWR6-NEXT: vspltish 3, 8
3703 ; PWR6-NEXT: vsrh 2, 2, 3
3704 ; PWR6-NEXT: vspltish 3, 13
3705 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
3706 ; PWR6-NEXT: blr
3710 ; PWR7-NEXT: vspltish 3, 1
3711 ; PWR7-NEXT: addis 3, 2, .LCPI36_0@toc@ha
3712 ; PWR7-NEXT: addi 3, 3, .LCPI36_0@toc@l
3713 ; PWR7-NEXT: vspltish 4, 2
3714 ; PWR7-NEXT: lxvw4x 0, 0, 3
3715 ; PWR7-NEXT: addis 3, 2, .LCPI36_1@toc@ha
3716 ; PWR7-NEXT: vspltisb 5, 15
3717 ; PWR7-NEXT: vsrh 3, 2, 3
3718 ; PWR7-NEXT: addi 3, 3, .LCPI36_1@toc@l
3719 ; PWR7-NEXT: xxland 35, 35, 0
3720 ; PWR7-NEXT: lxvw4x 0, 0, 3
3721 ; PWR7-NEXT: vsubuhm 2, 2, 3
3722 ; PWR7-NEXT: vsrh 3, 2, 4
3723 ; PWR7-NEXT: xxland 34, 34, 0
3724 ; PWR7-NEXT: vspltish 4, 4
3725 ; PWR7-NEXT: xxland 35, 35, 0
3726 ; PWR7-NEXT: vadduhm 2, 2, 3
3727 ; PWR7-NEXT: vsrh 3, 2, 4
3728 ; PWR7-NEXT: vxor 4, 4, 4
3729 ; PWR7-NEXT: vadduhm 2, 2, 3
3730 ; PWR7-NEXT: vspltisb 3, 1
3731 ; PWR7-NEXT: xxland 34, 34, 37
3732 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3733 ; PWR7-NEXT: vspltish 3, 8
3734 ; PWR7-NEXT: vsrh 2, 2, 3
3735 ; PWR7-NEXT: vspltish 3, 13
3736 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
3737 ; PWR7-NEXT: blr
3741 ; PWR8-NEXT: vspltish 3, 13
3742 ; PWR8-NEXT: vpopcnth 2, 2
3743 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
3744 ; PWR8-NEXT: blr
3748 ; PWR9-NEXT: vspltish 3, 13
3749 ; PWR9-NEXT: vpopcnth 2, 2
3750 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
3751 ; PWR9-NEXT: blr
3761 ; PWR5-NEXT: addis 3, 2, .LCPI37_0@toc@ha
3762 ; PWR5-NEXT: vspltish 4, 1
3763 ; PWR5-NEXT: vxor 3, 3, 3
3764 ; PWR5-NEXT: addi 3, 3, .LCPI37_0@toc@l
3765 ; PWR5-NEXT: lvx 5, 0, 3
3766 ; PWR5-NEXT: addis 3, 2, .LCPI37_1@toc@ha
3767 ; PWR5-NEXT: addi 3, 3, .LCPI37_1@toc@l
3768 ; PWR5-NEXT: vsrh 4, 2, 4
3769 ; PWR5-NEXT: vand 4, 4, 5
3770 ; PWR5-NEXT: vspltish 5, 2
3771 ; PWR5-NEXT: vsubuhm 2, 2, 4
3772 ; PWR5-NEXT: vsrh 4, 2, 5
3773 ; PWR5-NEXT: lvx 5, 0, 3
3774 ; PWR5-NEXT: vand 2, 2, 5
3775 ; PWR5-NEXT: vand 4, 4, 5
3776 ; PWR5-NEXT: vspltish 5, 4
3777 ; PWR5-NEXT: vadduhm 2, 2, 4
3778 ; PWR5-NEXT: vsrh 4, 2, 5
3779 ; PWR5-NEXT: vspltisb 5, 15
3780 ; PWR5-NEXT: vadduhm 2, 2, 4
3781 ; PWR5-NEXT: vspltisb 4, 1
3782 ; PWR5-NEXT: vand 2, 2, 5
3783 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3784 ; PWR5-NEXT: vspltish 3, 8
3785 ; PWR5-NEXT: vsrh 2, 2, 3
3786 ; PWR5-NEXT: vspltish 3, 14
3787 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
3788 ; PWR5-NEXT: blr
3792 ; PWR6-NEXT: addis 3, 2, .LCPI37_0@toc@ha
3793 ; PWR6-NEXT: vspltish 4, 1
3794 ; PWR6-NEXT: vxor 3, 3, 3
3795 ; PWR6-NEXT: addi 3, 3, .LCPI37_0@toc@l
3796 ; PWR6-NEXT: lvx 5, 0, 3
3797 ; PWR6-NEXT: addis 3, 2, .LCPI37_1@toc@ha
3798 ; PWR6-NEXT: addi 3, 3, .LCPI37_1@toc@l
3799 ; PWR6-NEXT: vsrh 4, 2, 4
3800 ; PWR6-NEXT: vand 4, 4, 5
3801 ; PWR6-NEXT: vspltish 5, 2
3802 ; PWR6-NEXT: vsubuhm 2, 2, 4
3803 ; PWR6-NEXT: vsrh 4, 2, 5
3804 ; PWR6-NEXT: lvx 5, 0, 3
3805 ; PWR6-NEXT: vand 2, 2, 5
3806 ; PWR6-NEXT: vand 4, 4, 5
3807 ; PWR6-NEXT: vspltish 5, 4
3808 ; PWR6-NEXT: vadduhm 2, 2, 4
3809 ; PWR6-NEXT: vsrh 4, 2, 5
3810 ; PWR6-NEXT: vspltisb 5, 15
3811 ; PWR6-NEXT: vadduhm 2, 2, 4
3812 ; PWR6-NEXT: vspltisb 4, 1
3813 ; PWR6-NEXT: vand 2, 2, 5
3814 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3815 ; PWR6-NEXT: vspltish 3, 8
3816 ; PWR6-NEXT: vsrh 2, 2, 3
3817 ; PWR6-NEXT: vspltish 3, 14
3818 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
3819 ; PWR6-NEXT: blr
3823 ; PWR7-NEXT: vspltish 3, 1
3824 ; PWR7-NEXT: addis 3, 2, .LCPI37_0@toc@ha
3825 ; PWR7-NEXT: addi 3, 3, .LCPI37_0@toc@l
3826 ; PWR7-NEXT: vspltish 4, 2
3827 ; PWR7-NEXT: lxvw4x 0, 0, 3
3828 ; PWR7-NEXT: addis 3, 2, .LCPI37_1@toc@ha
3829 ; PWR7-NEXT: vspltisb 5, 15
3830 ; PWR7-NEXT: vsrh 3, 2, 3
3831 ; PWR7-NEXT: addi 3, 3, .LCPI37_1@toc@l
3832 ; PWR7-NEXT: xxland 35, 35, 0
3833 ; PWR7-NEXT: lxvw4x 0, 0, 3
3834 ; PWR7-NEXT: vsubuhm 2, 2, 3
3835 ; PWR7-NEXT: vsrh 3, 2, 4
3836 ; PWR7-NEXT: xxland 34, 34, 0
3837 ; PWR7-NEXT: vspltish 4, 4
3838 ; PWR7-NEXT: xxland 35, 35, 0
3839 ; PWR7-NEXT: vadduhm 2, 2, 3
3840 ; PWR7-NEXT: vsrh 3, 2, 4
3841 ; PWR7-NEXT: vxor 4, 4, 4
3842 ; PWR7-NEXT: vadduhm 2, 2, 3
3843 ; PWR7-NEXT: vspltisb 3, 1
3844 ; PWR7-NEXT: xxland 34, 34, 37
3845 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3846 ; PWR7-NEXT: vspltish 3, 8
3847 ; PWR7-NEXT: vsrh 2, 2, 3
3848 ; PWR7-NEXT: vspltish 3, 14
3849 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
3850 ; PWR7-NEXT: blr
3854 ; PWR8-NEXT: vspltish 3, 14
3855 ; PWR8-NEXT: vpopcnth 2, 2
3856 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
3857 ; PWR8-NEXT: blr
3861 ; PWR9-NEXT: vspltish 3, 14
3862 ; PWR9-NEXT: vpopcnth 2, 2
3863 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
3864 ; PWR9-NEXT: blr
3874 ; PWR5-NEXT: addis 3, 2, .LCPI38_0@toc@ha
3875 ; PWR5-NEXT: vspltish 4, 1
3876 ; PWR5-NEXT: vxor 3, 3, 3
3877 ; PWR5-NEXT: addi 3, 3, .LCPI38_0@toc@l
3878 ; PWR5-NEXT: lvx 5, 0, 3
3879 ; PWR5-NEXT: addis 3, 2, .LCPI38_1@toc@ha
3880 ; PWR5-NEXT: addi 3, 3, .LCPI38_1@toc@l
3881 ; PWR5-NEXT: vsrh 4, 2, 4
3882 ; PWR5-NEXT: vand 4, 4, 5
3883 ; PWR5-NEXT: vspltish 5, 2
3884 ; PWR5-NEXT: vsubuhm 2, 2, 4
3885 ; PWR5-NEXT: vsrh 4, 2, 5
3886 ; PWR5-NEXT: lvx 5, 0, 3
3887 ; PWR5-NEXT: vand 2, 2, 5
3888 ; PWR5-NEXT: vand 4, 4, 5
3889 ; PWR5-NEXT: vspltish 5, 4
3890 ; PWR5-NEXT: vadduhm 2, 2, 4
3891 ; PWR5-NEXT: vsrh 4, 2, 5
3892 ; PWR5-NEXT: vspltisb 5, 15
3893 ; PWR5-NEXT: vadduhm 2, 2, 4
3894 ; PWR5-NEXT: vspltisb 4, 1
3895 ; PWR5-NEXT: vand 2, 2, 5
3896 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
3897 ; PWR5-NEXT: vspltish 3, 8
3898 ; PWR5-NEXT: vsrh 2, 2, 3
3899 ; PWR5-NEXT: vspltish 3, 14
3900 ; PWR5-NEXT: vcmpgtuh 2, 2, 3
3901 ; PWR5-NEXT: blr
3905 ; PWR6-NEXT: addis 3, 2, .LCPI38_0@toc@ha
3906 ; PWR6-NEXT: vspltish 4, 1
3907 ; PWR6-NEXT: vxor 3, 3, 3
3908 ; PWR6-NEXT: addi 3, 3, .LCPI38_0@toc@l
3909 ; PWR6-NEXT: lvx 5, 0, 3
3910 ; PWR6-NEXT: addis 3, 2, .LCPI38_1@toc@ha
3911 ; PWR6-NEXT: addi 3, 3, .LCPI38_1@toc@l
3912 ; PWR6-NEXT: vsrh 4, 2, 4
3913 ; PWR6-NEXT: vand 4, 4, 5
3914 ; PWR6-NEXT: vspltish 5, 2
3915 ; PWR6-NEXT: vsubuhm 2, 2, 4
3916 ; PWR6-NEXT: vsrh 4, 2, 5
3917 ; PWR6-NEXT: lvx 5, 0, 3
3918 ; PWR6-NEXT: vand 2, 2, 5
3919 ; PWR6-NEXT: vand 4, 4, 5
3920 ; PWR6-NEXT: vspltish 5, 4
3921 ; PWR6-NEXT: vadduhm 2, 2, 4
3922 ; PWR6-NEXT: vsrh 4, 2, 5
3923 ; PWR6-NEXT: vspltisb 5, 15
3924 ; PWR6-NEXT: vadduhm 2, 2, 4
3925 ; PWR6-NEXT: vspltisb 4, 1
3926 ; PWR6-NEXT: vand 2, 2, 5
3927 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
3928 ; PWR6-NEXT: vspltish 3, 8
3929 ; PWR6-NEXT: vsrh 2, 2, 3
3930 ; PWR6-NEXT: vspltish 3, 14
3931 ; PWR6-NEXT: vcmpgtuh 2, 2, 3
3932 ; PWR6-NEXT: blr
3936 ; PWR7-NEXT: vspltish 3, 1
3937 ; PWR7-NEXT: addis 3, 2, .LCPI38_0@toc@ha
3938 ; PWR7-NEXT: addi 3, 3, .LCPI38_0@toc@l
3939 ; PWR7-NEXT: vspltish 4, 2
3940 ; PWR7-NEXT: lxvw4x 0, 0, 3
3941 ; PWR7-NEXT: addis 3, 2, .LCPI38_1@toc@ha
3942 ; PWR7-NEXT: vspltisb 5, 15
3943 ; PWR7-NEXT: vsrh 3, 2, 3
3944 ; PWR7-NEXT: addi 3, 3, .LCPI38_1@toc@l
3945 ; PWR7-NEXT: xxland 35, 35, 0
3946 ; PWR7-NEXT: lxvw4x 0, 0, 3
3947 ; PWR7-NEXT: vsubuhm 2, 2, 3
3948 ; PWR7-NEXT: vsrh 3, 2, 4
3949 ; PWR7-NEXT: xxland 34, 34, 0
3950 ; PWR7-NEXT: vspltish 4, 4
3951 ; PWR7-NEXT: xxland 35, 35, 0
3952 ; PWR7-NEXT: vadduhm 2, 2, 3
3953 ; PWR7-NEXT: vsrh 3, 2, 4
3954 ; PWR7-NEXT: vxor 4, 4, 4
3955 ; PWR7-NEXT: vadduhm 2, 2, 3
3956 ; PWR7-NEXT: vspltisb 3, 1
3957 ; PWR7-NEXT: xxland 34, 34, 37
3958 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
3959 ; PWR7-NEXT: vspltish 3, 8
3960 ; PWR7-NEXT: vsrh 2, 2, 3
3961 ; PWR7-NEXT: vspltish 3, 14
3962 ; PWR7-NEXT: vcmpgtuh 2, 2, 3
3963 ; PWR7-NEXT: blr
3967 ; PWR8-NEXT: vspltish 3, 14
3968 ; PWR8-NEXT: vpopcnth 2, 2
3969 ; PWR8-NEXT: vcmpgtuh 2, 2, 3
3970 ; PWR8-NEXT: blr
3974 ; PWR9-NEXT: vspltish 3, 14
3975 ; PWR9-NEXT: vpopcnth 2, 2
3976 ; PWR9-NEXT: vcmpgtuh 2, 2, 3
3977 ; PWR9-NEXT: blr
3987 ; PWR5-NEXT: addis 3, 2, .LCPI39_0@toc@ha
3988 ; PWR5-NEXT: vspltish 4, 1
3989 ; PWR5-NEXT: vxor 3, 3, 3
3990 ; PWR5-NEXT: addi 3, 3, .LCPI39_0@toc@l
3991 ; PWR5-NEXT: lvx 5, 0, 3
3992 ; PWR5-NEXT: addis 3, 2, .LCPI39_1@toc@ha
3993 ; PWR5-NEXT: addi 3, 3, .LCPI39_1@toc@l
3994 ; PWR5-NEXT: vsrh 4, 2, 4
3995 ; PWR5-NEXT: vand 4, 4, 5
3996 ; PWR5-NEXT: vspltish 5, 2
3997 ; PWR5-NEXT: vsubuhm 2, 2, 4
3998 ; PWR5-NEXT: vsrh 4, 2, 5
3999 ; PWR5-NEXT: lvx 5, 0, 3
4000 ; PWR5-NEXT: vand 2, 2, 5
4001 ; PWR5-NEXT: vand 4, 4, 5
4002 ; PWR5-NEXT: vspltish 5, 4
4003 ; PWR5-NEXT: vadduhm 2, 2, 4
4004 ; PWR5-NEXT: vsrh 4, 2, 5
4005 ; PWR5-NEXT: vspltisb 5, 15
4006 ; PWR5-NEXT: vadduhm 2, 2, 4
4007 ; PWR5-NEXT: vspltisb 4, 1
4008 ; PWR5-NEXT: vand 2, 2, 5
4009 ; PWR5-NEXT: vmladduhm 2, 2, 4, 3
4010 ; PWR5-NEXT: vspltish 3, 8
4011 ; PWR5-NEXT: vsrh 2, 2, 3
4012 ; PWR5-NEXT: vspltish 3, 15
4013 ; PWR5-NEXT: vcmpgtuh 2, 3, 2
4014 ; PWR5-NEXT: blr
4018 ; PWR6-NEXT: addis 3, 2, .LCPI39_0@toc@ha
4019 ; PWR6-NEXT: vspltish 4, 1
4020 ; PWR6-NEXT: vxor 3, 3, 3
4021 ; PWR6-NEXT: addi 3, 3, .LCPI39_0@toc@l
4022 ; PWR6-NEXT: lvx 5, 0, 3
4023 ; PWR6-NEXT: addis 3, 2, .LCPI39_1@toc@ha
4024 ; PWR6-NEXT: addi 3, 3, .LCPI39_1@toc@l
4025 ; PWR6-NEXT: vsrh 4, 2, 4
4026 ; PWR6-NEXT: vand 4, 4, 5
4027 ; PWR6-NEXT: vspltish 5, 2
4028 ; PWR6-NEXT: vsubuhm 2, 2, 4
4029 ; PWR6-NEXT: vsrh 4, 2, 5
4030 ; PWR6-NEXT: lvx 5, 0, 3
4031 ; PWR6-NEXT: vand 2, 2, 5
4032 ; PWR6-NEXT: vand 4, 4, 5
4033 ; PWR6-NEXT: vspltish 5, 4
4034 ; PWR6-NEXT: vadduhm 2, 2, 4
4035 ; PWR6-NEXT: vsrh 4, 2, 5
4036 ; PWR6-NEXT: vspltisb 5, 15
4037 ; PWR6-NEXT: vadduhm 2, 2, 4
4038 ; PWR6-NEXT: vspltisb 4, 1
4039 ; PWR6-NEXT: vand 2, 2, 5
4040 ; PWR6-NEXT: vmladduhm 2, 2, 4, 3
4041 ; PWR6-NEXT: vspltish 3, 8
4042 ; PWR6-NEXT: vsrh 2, 2, 3
4043 ; PWR6-NEXT: vspltish 3, 15
4044 ; PWR6-NEXT: vcmpgtuh 2, 3, 2
4045 ; PWR6-NEXT: blr
4049 ; PWR7-NEXT: vspltish 3, 1
4050 ; PWR7-NEXT: addis 3, 2, .LCPI39_0@toc@ha
4051 ; PWR7-NEXT: addi 3, 3, .LCPI39_0@toc@l
4052 ; PWR7-NEXT: vspltish 4, 2
4053 ; PWR7-NEXT: lxvw4x 0, 0, 3
4054 ; PWR7-NEXT: addis 3, 2, .LCPI39_1@toc@ha
4055 ; PWR7-NEXT: vspltisb 5, 15
4056 ; PWR7-NEXT: vsrh 3, 2, 3
4057 ; PWR7-NEXT: addi 3, 3, .LCPI39_1@toc@l
4058 ; PWR7-NEXT: xxland 35, 35, 0
4059 ; PWR7-NEXT: lxvw4x 0, 0, 3
4060 ; PWR7-NEXT: vsubuhm 2, 2, 3
4061 ; PWR7-NEXT: vsrh 3, 2, 4
4062 ; PWR7-NEXT: xxland 34, 34, 0
4063 ; PWR7-NEXT: vspltish 4, 4
4064 ; PWR7-NEXT: xxland 35, 35, 0
4065 ; PWR7-NEXT: vadduhm 2, 2, 3
4066 ; PWR7-NEXT: vsrh 3, 2, 4
4067 ; PWR7-NEXT: vxor 4, 4, 4
4068 ; PWR7-NEXT: vadduhm 2, 2, 3
4069 ; PWR7-NEXT: vspltisb 3, 1
4070 ; PWR7-NEXT: xxland 34, 34, 37
4071 ; PWR7-NEXT: vmladduhm 2, 2, 3, 4
4072 ; PWR7-NEXT: vspltish 3, 8
4073 ; PWR7-NEXT: vsrh 2, 2, 3
4074 ; PWR7-NEXT: vspltish 3, 15
4075 ; PWR7-NEXT: vcmpgtuh 2, 3, 2
4076 ; PWR7-NEXT: blr
4080 ; PWR8-NEXT: vspltish 3, 15
4081 ; PWR8-NEXT: vpopcnth 2, 2
4082 ; PWR8-NEXT: vcmpgtuh 2, 3, 2
4083 ; PWR8-NEXT: blr
4087 ; PWR9-NEXT: vspltish 3, 15
4088 ; PWR9-NEXT: vpopcnth 2, 2
4089 ; PWR9-NEXT: vcmpgtuh 2, 3, 2
4090 ; PWR9-NEXT: blr
4100 ; PWR5-NEXT: vspltisb 3, -1
4101 ; PWR5-NEXT: vadduwm 3, 2, 3
4102 ; PWR5-NEXT: vand 2, 2, 3
4103 ; PWR5-NEXT: vxor 3, 3, 3
4104 ; PWR5-NEXT: vcmpequw 2, 2, 3
4105 ; PWR5-NEXT: vnot 2, 2
4106 ; PWR5-NEXT: blr
4110 ; PWR6-NEXT: vspltisb 3, -1
4111 ; PWR6-NEXT: vadduwm 3, 2, 3
4112 ; PWR6-NEXT: vand 2, 2, 3
4113 ; PWR6-NEXT: vxor 3, 3, 3
4114 ; PWR6-NEXT: vcmpequw 2, 2, 3
4115 ; PWR6-NEXT: vnot 2, 2
4116 ; PWR6-NEXT: blr
4120 ; PWR7-NEXT: vspltisb 3, -1
4121 ; PWR7-NEXT: vadduwm 3, 2, 3
4122 ; PWR7-NEXT: xxland 34, 34, 35
4123 ; PWR7-NEXT: xxlxor 35, 35, 35
4124 ; PWR7-NEXT: vcmpequw 2, 2, 3
4125 ; PWR7-NEXT: xxlnor 34, 34, 34
4126 ; PWR7-NEXT: blr
4130 ; PWR8-NEXT: vspltisw 3, 1
4131 ; PWR8-NEXT: vpopcntw 2, 2
4132 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
4133 ; PWR8-NEXT: blr
4137 ; PWR9-NEXT: vpopcntw 2, 2
4138 ; PWR9-NEXT: vspltisw 3, 1
4139 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
4140 ; PWR9-NEXT: blr
4150 ; PWR5-NEXT: vspltisb 3, -1
4151 ; PWR5-NEXT: vadduwm 3, 2, 3
4152 ; PWR5-NEXT: vand 2, 2, 3
4153 ; PWR5-NEXT: vxor 3, 3, 3
4154 ; PWR5-NEXT: vcmpequw 2, 2, 3
4155 ; PWR5-NEXT: blr
4159 ; PWR6-NEXT: vspltisb 3, -1
4160 ; PWR6-NEXT: vadduwm 3, 2, 3
4161 ; PWR6-NEXT: vand 2, 2, 3
4162 ; PWR6-NEXT: vxor 3, 3, 3
4163 ; PWR6-NEXT: vcmpequw 2, 2, 3
4164 ; PWR6-NEXT: blr
4168 ; PWR7-NEXT: vspltisb 3, -1
4169 ; PWR7-NEXT: vadduwm 3, 2, 3
4170 ; PWR7-NEXT: xxland 34, 34, 35
4171 ; PWR7-NEXT: xxlxor 35, 35, 35
4172 ; PWR7-NEXT: vcmpequw 2, 2, 3
4173 ; PWR7-NEXT: blr
4177 ; PWR8-NEXT: vspltisw 3, 2
4178 ; PWR8-NEXT: vpopcntw 2, 2
4179 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
4180 ; PWR8-NEXT: blr
4184 ; PWR9-NEXT: vpopcntw 2, 2
4185 ; PWR9-NEXT: vspltisw 3, 2
4186 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
4187 ; PWR9-NEXT: blr
4197 ; PWR5-NEXT: addis 3, 2, .LCPI42_0@toc@ha
4198 ; PWR5-NEXT: vspltisw 4, 1
4199 ; PWR5-NEXT: vxor 3, 3, 3
4200 ; PWR5-NEXT: addi 3, 3, .LCPI42_0@toc@l
4201 ; PWR5-NEXT: lvx 5, 0, 3
4202 ; PWR5-NEXT: addis 3, 2, .LCPI42_1@toc@ha
4203 ; PWR5-NEXT: addi 3, 3, .LCPI42_1@toc@l
4204 ; PWR5-NEXT: vspltisw 0, 2
4205 ; PWR5-NEXT: vsrw 4, 2, 4
4206 ; PWR5-NEXT: vand 4, 4, 5
4207 ; PWR5-NEXT: lvx 5, 0, 3
4208 ; PWR5-NEXT: vsubuwm 2, 2, 4
4209 ; PWR5-NEXT: vand 4, 2, 5
4210 ; PWR5-NEXT: vsrw 2, 2, 0
4211 ; PWR5-NEXT: vand 2, 2, 5
4212 ; PWR5-NEXT: vspltisw 5, 4
4213 ; PWR5-NEXT: vadduwm 2, 4, 2
4214 ; PWR5-NEXT: vsrw 4, 2, 5
4215 ; PWR5-NEXT: vspltisb 5, 15
4216 ; PWR5-NEXT: vadduwm 2, 2, 4
4217 ; PWR5-NEXT: vspltisb 4, 1
4218 ; PWR5-NEXT: vand 2, 2, 5
4219 ; PWR5-NEXT: vspltisw 5, -16
4220 ; PWR5-NEXT: vrlw 1, 4, 5
4221 ; PWR5-NEXT: vmulouh 4, 2, 4
4222 ; PWR5-NEXT: vmsumuhm 2, 2, 1, 3
4223 ; PWR5-NEXT: vspltisw 3, 12
4224 ; PWR5-NEXT: vadduwm 3, 3, 3
4225 ; PWR5-NEXT: vslw 2, 2, 5
4226 ; PWR5-NEXT: vadduwm 2, 4, 2
4227 ; PWR5-NEXT: vsrw 2, 2, 3
4228 ; PWR5-NEXT: vcmpgtuw 2, 2, 0
4229 ; PWR5-NEXT: blr
4233 ; PWR6-NEXT: addis 3, 2, .LCPI42_0@toc@ha
4234 ; PWR6-NEXT: vspltisw 4, 1
4235 ; PWR6-NEXT: vxor 3, 3, 3
4236 ; PWR6-NEXT: addi 3, 3, .LCPI42_0@toc@l
4237 ; PWR6-NEXT: lvx 5, 0, 3
4238 ; PWR6-NEXT: addis 3, 2, .LCPI42_1@toc@ha
4239 ; PWR6-NEXT: addi 3, 3, .LCPI42_1@toc@l
4240 ; PWR6-NEXT: vspltisw 0, 2
4241 ; PWR6-NEXT: vsrw 4, 2, 4
4242 ; PWR6-NEXT: vand 4, 4, 5
4243 ; PWR6-NEXT: lvx 5, 0, 3
4244 ; PWR6-NEXT: vsubuwm 2, 2, 4
4245 ; PWR6-NEXT: vand 4, 2, 5
4246 ; PWR6-NEXT: vsrw 2, 2, 0
4247 ; PWR6-NEXT: vand 2, 2, 5
4248 ; PWR6-NEXT: vspltisw 5, 4
4249 ; PWR6-NEXT: vadduwm 2, 4, 2
4250 ; PWR6-NEXT: vsrw 4, 2, 5
4251 ; PWR6-NEXT: vspltisb 5, 15
4252 ; PWR6-NEXT: vadduwm 2, 2, 4
4253 ; PWR6-NEXT: vspltisb 4, 1
4254 ; PWR6-NEXT: vand 2, 2, 5
4255 ; PWR6-NEXT: vspltisw 5, -16
4256 ; PWR6-NEXT: vrlw 1, 4, 5
4257 ; PWR6-NEXT: vmulouh 4, 2, 4
4258 ; PWR6-NEXT: vmsumuhm 2, 2, 1, 3
4259 ; PWR6-NEXT: vspltisw 3, 12
4260 ; PWR6-NEXT: vadduwm 3, 3, 3
4261 ; PWR6-NEXT: vslw 2, 2, 5
4262 ; PWR6-NEXT: vadduwm 2, 4, 2
4263 ; PWR6-NEXT: vsrw 2, 2, 3
4264 ; PWR6-NEXT: vcmpgtuw 2, 2, 0
4265 ; PWR6-NEXT: blr
4269 ; PWR7-NEXT: vspltisw 3, 1
4270 ; PWR7-NEXT: addis 3, 2, .LCPI42_0@toc@ha
4271 ; PWR7-NEXT: addi 3, 3, .LCPI42_0@toc@l
4272 ; PWR7-NEXT: vspltisw 4, 2
4273 ; PWR7-NEXT: lxvw4x 0, 0, 3
4274 ; PWR7-NEXT: addis 3, 2, .LCPI42_1@toc@ha
4275 ; PWR7-NEXT: vspltisw 5, 4
4276 ; PWR7-NEXT: vsrw 3, 2, 3
4277 ; PWR7-NEXT: addi 3, 3, .LCPI42_1@toc@l
4278 ; PWR7-NEXT: vspltisw 0, -16
4279 ; PWR7-NEXT: vspltisb 1, 15
4280 ; PWR7-NEXT: xxland 35, 35, 0
4281 ; PWR7-NEXT: lxvw4x 0, 0, 3
4282 ; PWR7-NEXT: vsubuwm 2, 2, 3
4283 ; PWR7-NEXT: vsrw 3, 2, 4
4284 ; PWR7-NEXT: xxland 34, 34, 0
4285 ; PWR7-NEXT: xxland 35, 35, 0
4286 ; PWR7-NEXT: vadduwm 2, 2, 3
4287 ; PWR7-NEXT: vsrw 3, 2, 5
4288 ; PWR7-NEXT: vspltisb 5, 1
4289 ; PWR7-NEXT: vrlw 6, 5, 0
4290 ; PWR7-NEXT: vadduwm 2, 2, 3
4291 ; PWR7-NEXT: xxlxor 35, 35, 35
4292 ; PWR7-NEXT: xxland 34, 34, 33
4293 ; PWR7-NEXT: vmsumuhm 3, 2, 6, 3
4294 ; PWR7-NEXT: vmulouh 2, 2, 5
4295 ; PWR7-NEXT: vspltisw 5, 12
4296 ; PWR7-NEXT: vslw 3, 3, 0
4297 ; PWR7-NEXT: vadduwm 2, 2, 3
4298 ; PWR7-NEXT: vadduwm 3, 5, 5
4299 ; PWR7-NEXT: vsrw 2, 2, 3
4300 ; PWR7-NEXT: vcmpgtuw 2, 2, 4
4301 ; PWR7-NEXT: blr
4305 ; PWR8-NEXT: vspltisw 3, 2
4306 ; PWR8-NEXT: vpopcntw 2, 2
4307 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
4308 ; PWR8-NEXT: blr
4312 ; PWR9-NEXT: vpopcntw 2, 2
4313 ; PWR9-NEXT: vspltisw 3, 2
4314 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
4315 ; PWR9-NEXT: blr
4325 ; PWR5-NEXT: addis 3, 2, .LCPI43_0@toc@ha
4326 ; PWR5-NEXT: vspltisw 4, 1
4327 ; PWR5-NEXT: vxor 3, 3, 3
4328 ; PWR5-NEXT: addi 3, 3, .LCPI43_0@toc@l
4329 ; PWR5-NEXT: lvx 5, 0, 3
4330 ; PWR5-NEXT: addis 3, 2, .LCPI43_1@toc@ha
4331 ; PWR5-NEXT: addi 3, 3, .LCPI43_1@toc@l
4332 ; PWR5-NEXT: vspltisw 0, 2
4333 ; PWR5-NEXT: vsrw 4, 2, 4
4334 ; PWR5-NEXT: vand 4, 4, 5
4335 ; PWR5-NEXT: lvx 5, 0, 3
4336 ; PWR5-NEXT: vsubuwm 2, 2, 4
4337 ; PWR5-NEXT: vand 4, 2, 5
4338 ; PWR5-NEXT: vsrw 2, 2, 0
4339 ; PWR5-NEXT: vand 2, 2, 5
4340 ; PWR5-NEXT: vspltisw 5, 4
4341 ; PWR5-NEXT: vadduwm 2, 4, 2
4342 ; PWR5-NEXT: vsrw 4, 2, 5
4343 ; PWR5-NEXT: vspltisb 5, 15
4344 ; PWR5-NEXT: vadduwm 2, 2, 4
4345 ; PWR5-NEXT: vspltisb 4, 1
4346 ; PWR5-NEXT: vand 2, 2, 5
4347 ; PWR5-NEXT: vspltisw 5, -16
4348 ; PWR5-NEXT: vrlw 0, 4, 5
4349 ; PWR5-NEXT: vmulouh 4, 2, 4
4350 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
4351 ; PWR5-NEXT: vspltisw 3, 12
4352 ; PWR5-NEXT: vadduwm 3, 3, 3
4353 ; PWR5-NEXT: vslw 2, 2, 5
4354 ; PWR5-NEXT: vadduwm 2, 4, 2
4355 ; PWR5-NEXT: vsrw 2, 2, 3
4356 ; PWR5-NEXT: vspltisw 3, 3
4357 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
4358 ; PWR5-NEXT: blr
4362 ; PWR6-NEXT: addis 3, 2, .LCPI43_0@toc@ha
4363 ; PWR6-NEXT: vspltisw 4, 1
4364 ; PWR6-NEXT: vxor 3, 3, 3
4365 ; PWR6-NEXT: addi 3, 3, .LCPI43_0@toc@l
4366 ; PWR6-NEXT: lvx 5, 0, 3
4367 ; PWR6-NEXT: addis 3, 2, .LCPI43_1@toc@ha
4368 ; PWR6-NEXT: addi 3, 3, .LCPI43_1@toc@l
4369 ; PWR6-NEXT: vspltisw 0, 2
4370 ; PWR6-NEXT: vsrw 4, 2, 4
4371 ; PWR6-NEXT: vand 4, 4, 5
4372 ; PWR6-NEXT: lvx 5, 0, 3
4373 ; PWR6-NEXT: vsubuwm 2, 2, 4
4374 ; PWR6-NEXT: vand 4, 2, 5
4375 ; PWR6-NEXT: vsrw 2, 2, 0
4376 ; PWR6-NEXT: vand 2, 2, 5
4377 ; PWR6-NEXT: vspltisw 5, 4
4378 ; PWR6-NEXT: vadduwm 2, 4, 2
4379 ; PWR6-NEXT: vsrw 4, 2, 5
4380 ; PWR6-NEXT: vspltisb 5, 15
4381 ; PWR6-NEXT: vadduwm 2, 2, 4
4382 ; PWR6-NEXT: vspltisb 4, 1
4383 ; PWR6-NEXT: vand 2, 2, 5
4384 ; PWR6-NEXT: vspltisw 5, -16
4385 ; PWR6-NEXT: vrlw 0, 4, 5
4386 ; PWR6-NEXT: vmulouh 4, 2, 4
4387 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
4388 ; PWR6-NEXT: vspltisw 3, 12
4389 ; PWR6-NEXT: vadduwm 3, 3, 3
4390 ; PWR6-NEXT: vslw 2, 2, 5
4391 ; PWR6-NEXT: vadduwm 2, 4, 2
4392 ; PWR6-NEXT: vsrw 2, 2, 3
4393 ; PWR6-NEXT: vspltisw 3, 3
4394 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
4395 ; PWR6-NEXT: blr
4399 ; PWR7-NEXT: vspltisw 3, 1
4400 ; PWR7-NEXT: addis 3, 2, .LCPI43_0@toc@ha
4401 ; PWR7-NEXT: addi 3, 3, .LCPI43_0@toc@l
4402 ; PWR7-NEXT: vspltisw 4, 2
4403 ; PWR7-NEXT: lxvw4x 0, 0, 3
4404 ; PWR7-NEXT: addis 3, 2, .LCPI43_1@toc@ha
4405 ; PWR7-NEXT: vspltisw 5, -16
4406 ; PWR7-NEXT: vsrw 3, 2, 3
4407 ; PWR7-NEXT: addi 3, 3, .LCPI43_1@toc@l
4408 ; PWR7-NEXT: vspltisb 0, 15
4409 ; PWR7-NEXT: xxland 35, 35, 0
4410 ; PWR7-NEXT: lxvw4x 0, 0, 3
4411 ; PWR7-NEXT: vsubuwm 2, 2, 3
4412 ; PWR7-NEXT: vsrw 3, 2, 4
4413 ; PWR7-NEXT: xxland 34, 34, 0
4414 ; PWR7-NEXT: vspltisw 4, 4
4415 ; PWR7-NEXT: xxland 35, 35, 0
4416 ; PWR7-NEXT: vadduwm 2, 2, 3
4417 ; PWR7-NEXT: vsrw 3, 2, 4
4418 ; PWR7-NEXT: vspltisb 4, 1
4419 ; PWR7-NEXT: vrlw 1, 4, 5
4420 ; PWR7-NEXT: vadduwm 2, 2, 3
4421 ; PWR7-NEXT: xxlxor 35, 35, 35
4422 ; PWR7-NEXT: xxland 34, 34, 32
4423 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
4424 ; PWR7-NEXT: vmulouh 2, 2, 4
4425 ; PWR7-NEXT: vspltisw 4, 12
4426 ; PWR7-NEXT: vslw 3, 3, 5
4427 ; PWR7-NEXT: vadduwm 2, 2, 3
4428 ; PWR7-NEXT: vadduwm 3, 4, 4
4429 ; PWR7-NEXT: vsrw 2, 2, 3
4430 ; PWR7-NEXT: vspltisw 3, 3
4431 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
4432 ; PWR7-NEXT: blr
4436 ; PWR8-NEXT: vspltisw 3, 3
4437 ; PWR8-NEXT: vpopcntw 2, 2
4438 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
4439 ; PWR8-NEXT: blr
4443 ; PWR9-NEXT: vpopcntw 2, 2
4444 ; PWR9-NEXT: vspltisw 3, 3
4445 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
4446 ; PWR9-NEXT: blr
4456 ; PWR5-NEXT: addis 3, 2, .LCPI44_0@toc@ha
4457 ; PWR5-NEXT: vspltisw 4, 1
4458 ; PWR5-NEXT: vxor 3, 3, 3
4459 ; PWR5-NEXT: addi 3, 3, .LCPI44_0@toc@l
4460 ; PWR5-NEXT: lvx 5, 0, 3
4461 ; PWR5-NEXT: addis 3, 2, .LCPI44_1@toc@ha
4462 ; PWR5-NEXT: addi 3, 3, .LCPI44_1@toc@l
4463 ; PWR5-NEXT: vspltisw 0, 2
4464 ; PWR5-NEXT: vsrw 4, 2, 4
4465 ; PWR5-NEXT: vand 4, 4, 5
4466 ; PWR5-NEXT: lvx 5, 0, 3
4467 ; PWR5-NEXT: vsubuwm 2, 2, 4
4468 ; PWR5-NEXT: vand 4, 2, 5
4469 ; PWR5-NEXT: vsrw 2, 2, 0
4470 ; PWR5-NEXT: vand 2, 2, 5
4471 ; PWR5-NEXT: vspltisw 5, 4
4472 ; PWR5-NEXT: vadduwm 2, 4, 2
4473 ; PWR5-NEXT: vsrw 4, 2, 5
4474 ; PWR5-NEXT: vspltisb 5, 15
4475 ; PWR5-NEXT: vadduwm 2, 2, 4
4476 ; PWR5-NEXT: vspltisb 4, 1
4477 ; PWR5-NEXT: vand 2, 2, 5
4478 ; PWR5-NEXT: vspltisw 5, -16
4479 ; PWR5-NEXT: vrlw 0, 4, 5
4480 ; PWR5-NEXT: vmulouh 4, 2, 4
4481 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
4482 ; PWR5-NEXT: vspltisw 3, 12
4483 ; PWR5-NEXT: vadduwm 3, 3, 3
4484 ; PWR5-NEXT: vslw 2, 2, 5
4485 ; PWR5-NEXT: vadduwm 2, 4, 2
4486 ; PWR5-NEXT: vsrw 2, 2, 3
4487 ; PWR5-NEXT: vspltisw 3, 3
4488 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
4489 ; PWR5-NEXT: blr
4493 ; PWR6-NEXT: addis 3, 2, .LCPI44_0@toc@ha
4494 ; PWR6-NEXT: vspltisw 4, 1
4495 ; PWR6-NEXT: vxor 3, 3, 3
4496 ; PWR6-NEXT: addi 3, 3, .LCPI44_0@toc@l
4497 ; PWR6-NEXT: lvx 5, 0, 3
4498 ; PWR6-NEXT: addis 3, 2, .LCPI44_1@toc@ha
4499 ; PWR6-NEXT: addi 3, 3, .LCPI44_1@toc@l
4500 ; PWR6-NEXT: vspltisw 0, 2
4501 ; PWR6-NEXT: vsrw 4, 2, 4
4502 ; PWR6-NEXT: vand 4, 4, 5
4503 ; PWR6-NEXT: lvx 5, 0, 3
4504 ; PWR6-NEXT: vsubuwm 2, 2, 4
4505 ; PWR6-NEXT: vand 4, 2, 5
4506 ; PWR6-NEXT: vsrw 2, 2, 0
4507 ; PWR6-NEXT: vand 2, 2, 5
4508 ; PWR6-NEXT: vspltisw 5, 4
4509 ; PWR6-NEXT: vadduwm 2, 4, 2
4510 ; PWR6-NEXT: vsrw 4, 2, 5
4511 ; PWR6-NEXT: vspltisb 5, 15
4512 ; PWR6-NEXT: vadduwm 2, 2, 4
4513 ; PWR6-NEXT: vspltisb 4, 1
4514 ; PWR6-NEXT: vand 2, 2, 5
4515 ; PWR6-NEXT: vspltisw 5, -16
4516 ; PWR6-NEXT: vrlw 0, 4, 5
4517 ; PWR6-NEXT: vmulouh 4, 2, 4
4518 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
4519 ; PWR6-NEXT: vspltisw 3, 12
4520 ; PWR6-NEXT: vadduwm 3, 3, 3
4521 ; PWR6-NEXT: vslw 2, 2, 5
4522 ; PWR6-NEXT: vadduwm 2, 4, 2
4523 ; PWR6-NEXT: vsrw 2, 2, 3
4524 ; PWR6-NEXT: vspltisw 3, 3
4525 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
4526 ; PWR6-NEXT: blr
4530 ; PWR7-NEXT: vspltisw 3, 1
4531 ; PWR7-NEXT: addis 3, 2, .LCPI44_0@toc@ha
4532 ; PWR7-NEXT: addi 3, 3, .LCPI44_0@toc@l
4533 ; PWR7-NEXT: vspltisw 4, 2
4534 ; PWR7-NEXT: lxvw4x 0, 0, 3
4535 ; PWR7-NEXT: addis 3, 2, .LCPI44_1@toc@ha
4536 ; PWR7-NEXT: vspltisw 5, -16
4537 ; PWR7-NEXT: vsrw 3, 2, 3
4538 ; PWR7-NEXT: addi 3, 3, .LCPI44_1@toc@l
4539 ; PWR7-NEXT: vspltisb 0, 15
4540 ; PWR7-NEXT: xxland 35, 35, 0
4541 ; PWR7-NEXT: lxvw4x 0, 0, 3
4542 ; PWR7-NEXT: vsubuwm 2, 2, 3
4543 ; PWR7-NEXT: vsrw 3, 2, 4
4544 ; PWR7-NEXT: xxland 34, 34, 0
4545 ; PWR7-NEXT: vspltisw 4, 4
4546 ; PWR7-NEXT: xxland 35, 35, 0
4547 ; PWR7-NEXT: vadduwm 2, 2, 3
4548 ; PWR7-NEXT: vsrw 3, 2, 4
4549 ; PWR7-NEXT: vspltisb 4, 1
4550 ; PWR7-NEXT: vrlw 1, 4, 5
4551 ; PWR7-NEXT: vadduwm 2, 2, 3
4552 ; PWR7-NEXT: xxlxor 35, 35, 35
4553 ; PWR7-NEXT: xxland 34, 34, 32
4554 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
4555 ; PWR7-NEXT: vmulouh 2, 2, 4
4556 ; PWR7-NEXT: vspltisw 4, 12
4557 ; PWR7-NEXT: vslw 3, 3, 5
4558 ; PWR7-NEXT: vadduwm 2, 2, 3
4559 ; PWR7-NEXT: vadduwm 3, 4, 4
4560 ; PWR7-NEXT: vsrw 2, 2, 3
4561 ; PWR7-NEXT: vspltisw 3, 3
4562 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
4563 ; PWR7-NEXT: blr
4567 ; PWR8-NEXT: vspltisw 3, 3
4568 ; PWR8-NEXT: vpopcntw 2, 2
4569 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
4570 ; PWR8-NEXT: blr
4574 ; PWR9-NEXT: vpopcntw 2, 2
4575 ; PWR9-NEXT: vspltisw 3, 3
4576 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
4577 ; PWR9-NEXT: blr
4587 ; PWR5-NEXT: addis 3, 2, .LCPI45_0@toc@ha
4588 ; PWR5-NEXT: vspltisw 4, 1
4589 ; PWR5-NEXT: vxor 3, 3, 3
4590 ; PWR5-NEXT: addi 3, 3, .LCPI45_0@toc@l
4591 ; PWR5-NEXT: lvx 5, 0, 3
4592 ; PWR5-NEXT: addis 3, 2, .LCPI45_1@toc@ha
4593 ; PWR5-NEXT: addi 3, 3, .LCPI45_1@toc@l
4594 ; PWR5-NEXT: vspltisw 0, 2
4595 ; PWR5-NEXT: vsrw 4, 2, 4
4596 ; PWR5-NEXT: vand 4, 4, 5
4597 ; PWR5-NEXT: lvx 5, 0, 3
4598 ; PWR5-NEXT: vsubuwm 2, 2, 4
4599 ; PWR5-NEXT: vand 4, 2, 5
4600 ; PWR5-NEXT: vsrw 2, 2, 0
4601 ; PWR5-NEXT: vspltisb 0, 15
4602 ; PWR5-NEXT: vand 2, 2, 5
4603 ; PWR5-NEXT: vspltisw 5, 4
4604 ; PWR5-NEXT: vadduwm 2, 4, 2
4605 ; PWR5-NEXT: vsrw 4, 2, 5
4606 ; PWR5-NEXT: vadduwm 2, 2, 4
4607 ; PWR5-NEXT: vspltisb 4, 1
4608 ; PWR5-NEXT: vand 2, 2, 0
4609 ; PWR5-NEXT: vspltisw 0, -16
4610 ; PWR5-NEXT: vrlw 1, 4, 0
4611 ; PWR5-NEXT: vmulouh 4, 2, 4
4612 ; PWR5-NEXT: vmsumuhm 2, 2, 1, 3
4613 ; PWR5-NEXT: vspltisw 3, 12
4614 ; PWR5-NEXT: vadduwm 3, 3, 3
4615 ; PWR5-NEXT: vslw 2, 2, 0
4616 ; PWR5-NEXT: vadduwm 2, 4, 2
4617 ; PWR5-NEXT: vsrw 2, 2, 3
4618 ; PWR5-NEXT: vcmpgtuw 2, 5, 2
4619 ; PWR5-NEXT: blr
4623 ; PWR6-NEXT: addis 3, 2, .LCPI45_0@toc@ha
4624 ; PWR6-NEXT: vspltisw 4, 1
4625 ; PWR6-NEXT: vxor 3, 3, 3
4626 ; PWR6-NEXT: addi 3, 3, .LCPI45_0@toc@l
4627 ; PWR6-NEXT: lvx 5, 0, 3
4628 ; PWR6-NEXT: addis 3, 2, .LCPI45_1@toc@ha
4629 ; PWR6-NEXT: addi 3, 3, .LCPI45_1@toc@l
4630 ; PWR6-NEXT: vspltisw 0, 2
4631 ; PWR6-NEXT: vsrw 4, 2, 4
4632 ; PWR6-NEXT: vand 4, 4, 5
4633 ; PWR6-NEXT: lvx 5, 0, 3
4634 ; PWR6-NEXT: vsubuwm 2, 2, 4
4635 ; PWR6-NEXT: vand 4, 2, 5
4636 ; PWR6-NEXT: vsrw 2, 2, 0
4637 ; PWR6-NEXT: vspltisb 0, 15
4638 ; PWR6-NEXT: vand 2, 2, 5
4639 ; PWR6-NEXT: vspltisw 5, 4
4640 ; PWR6-NEXT: vadduwm 2, 4, 2
4641 ; PWR6-NEXT: vsrw 4, 2, 5
4642 ; PWR6-NEXT: vadduwm 2, 2, 4
4643 ; PWR6-NEXT: vspltisb 4, 1
4644 ; PWR6-NEXT: vand 2, 2, 0
4645 ; PWR6-NEXT: vspltisw 0, -16
4646 ; PWR6-NEXT: vrlw 1, 4, 0
4647 ; PWR6-NEXT: vmulouh 4, 2, 4
4648 ; PWR6-NEXT: vmsumuhm 2, 2, 1, 3
4649 ; PWR6-NEXT: vspltisw 3, 12
4650 ; PWR6-NEXT: vadduwm 3, 3, 3
4651 ; PWR6-NEXT: vslw 2, 2, 0
4652 ; PWR6-NEXT: vadduwm 2, 4, 2
4653 ; PWR6-NEXT: vsrw 2, 2, 3
4654 ; PWR6-NEXT: vcmpgtuw 2, 5, 2
4655 ; PWR6-NEXT: blr
4659 ; PWR7-NEXT: vspltisw 3, 1
4660 ; PWR7-NEXT: addis 3, 2, .LCPI45_0@toc@ha
4661 ; PWR7-NEXT: addi 3, 3, .LCPI45_0@toc@l
4662 ; PWR7-NEXT: vspltisw 4, 2
4663 ; PWR7-NEXT: lxvw4x 0, 0, 3
4664 ; PWR7-NEXT: addis 3, 2, .LCPI45_1@toc@ha
4665 ; PWR7-NEXT: vspltisb 5, 1
4666 ; PWR7-NEXT: vsrw 3, 2, 3
4667 ; PWR7-NEXT: addi 3, 3, .LCPI45_1@toc@l
4668 ; PWR7-NEXT: vspltisw 0, -16
4669 ; PWR7-NEXT: vspltisb 1, 15
4670 ; PWR7-NEXT: vrlw 6, 5, 0
4671 ; PWR7-NEXT: xxland 35, 35, 0
4672 ; PWR7-NEXT: lxvw4x 0, 0, 3
4673 ; PWR7-NEXT: vsubuwm 2, 2, 3
4674 ; PWR7-NEXT: vsrw 3, 2, 4
4675 ; PWR7-NEXT: xxland 34, 34, 0
4676 ; PWR7-NEXT: vspltisw 4, 4
4677 ; PWR7-NEXT: xxland 35, 35, 0
4678 ; PWR7-NEXT: vadduwm 2, 2, 3
4679 ; PWR7-NEXT: vsrw 3, 2, 4
4680 ; PWR7-NEXT: vadduwm 2, 2, 3
4681 ; PWR7-NEXT: xxlxor 35, 35, 35
4682 ; PWR7-NEXT: xxland 34, 34, 33
4683 ; PWR7-NEXT: vmsumuhm 3, 2, 6, 3
4684 ; PWR7-NEXT: vmulouh 2, 2, 5
4685 ; PWR7-NEXT: vspltisw 5, 12
4686 ; PWR7-NEXT: vslw 3, 3, 0
4687 ; PWR7-NEXT: vadduwm 2, 2, 3
4688 ; PWR7-NEXT: vadduwm 3, 5, 5
4689 ; PWR7-NEXT: vsrw 2, 2, 3
4690 ; PWR7-NEXT: vcmpgtuw 2, 4, 2
4691 ; PWR7-NEXT: blr
4695 ; PWR8-NEXT: vspltisw 3, 4
4696 ; PWR8-NEXT: vpopcntw 2, 2
4697 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
4698 ; PWR8-NEXT: blr
4702 ; PWR9-NEXT: vpopcntw 2, 2
4703 ; PWR9-NEXT: vspltisw 3, 4
4704 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
4705 ; PWR9-NEXT: blr
4715 ; PWR5-NEXT: addis 3, 2, .LCPI46_0@toc@ha
4716 ; PWR5-NEXT: vspltisw 4, 1
4717 ; PWR5-NEXT: vxor 3, 3, 3
4718 ; PWR5-NEXT: addi 3, 3, .LCPI46_0@toc@l
4719 ; PWR5-NEXT: lvx 5, 0, 3
4720 ; PWR5-NEXT: addis 3, 2, .LCPI46_1@toc@ha
4721 ; PWR5-NEXT: addi 3, 3, .LCPI46_1@toc@l
4722 ; PWR5-NEXT: vspltisw 0, 2
4723 ; PWR5-NEXT: vsrw 4, 2, 4
4724 ; PWR5-NEXT: vand 4, 4, 5
4725 ; PWR5-NEXT: lvx 5, 0, 3
4726 ; PWR5-NEXT: vsubuwm 2, 2, 4
4727 ; PWR5-NEXT: vand 4, 2, 5
4728 ; PWR5-NEXT: vsrw 2, 2, 0
4729 ; PWR5-NEXT: vspltisb 0, 15
4730 ; PWR5-NEXT: vand 2, 2, 5
4731 ; PWR5-NEXT: vspltisw 5, 4
4732 ; PWR5-NEXT: vadduwm 2, 4, 2
4733 ; PWR5-NEXT: vsrw 4, 2, 5
4734 ; PWR5-NEXT: vadduwm 2, 2, 4
4735 ; PWR5-NEXT: vspltisb 4, 1
4736 ; PWR5-NEXT: vand 2, 2, 0
4737 ; PWR5-NEXT: vspltisw 0, -16
4738 ; PWR5-NEXT: vrlw 1, 4, 0
4739 ; PWR5-NEXT: vmulouh 4, 2, 4
4740 ; PWR5-NEXT: vmsumuhm 2, 2, 1, 3
4741 ; PWR5-NEXT: vspltisw 3, 12
4742 ; PWR5-NEXT: vadduwm 3, 3, 3
4743 ; PWR5-NEXT: vslw 2, 2, 0
4744 ; PWR5-NEXT: vadduwm 2, 4, 2
4745 ; PWR5-NEXT: vsrw 2, 2, 3
4746 ; PWR5-NEXT: vcmpgtuw 2, 2, 5
4747 ; PWR5-NEXT: blr
4751 ; PWR6-NEXT: addis 3, 2, .LCPI46_0@toc@ha
4752 ; PWR6-NEXT: vspltisw 4, 1
4753 ; PWR6-NEXT: vxor 3, 3, 3
4754 ; PWR6-NEXT: addi 3, 3, .LCPI46_0@toc@l
4755 ; PWR6-NEXT: lvx 5, 0, 3
4756 ; PWR6-NEXT: addis 3, 2, .LCPI46_1@toc@ha
4757 ; PWR6-NEXT: addi 3, 3, .LCPI46_1@toc@l
4758 ; PWR6-NEXT: vspltisw 0, 2
4759 ; PWR6-NEXT: vsrw 4, 2, 4
4760 ; PWR6-NEXT: vand 4, 4, 5
4761 ; PWR6-NEXT: lvx 5, 0, 3
4762 ; PWR6-NEXT: vsubuwm 2, 2, 4
4763 ; PWR6-NEXT: vand 4, 2, 5
4764 ; PWR6-NEXT: vsrw 2, 2, 0
4765 ; PWR6-NEXT: vspltisb 0, 15
4766 ; PWR6-NEXT: vand 2, 2, 5
4767 ; PWR6-NEXT: vspltisw 5, 4
4768 ; PWR6-NEXT: vadduwm 2, 4, 2
4769 ; PWR6-NEXT: vsrw 4, 2, 5
4770 ; PWR6-NEXT: vadduwm 2, 2, 4
4771 ; PWR6-NEXT: vspltisb 4, 1
4772 ; PWR6-NEXT: vand 2, 2, 0
4773 ; PWR6-NEXT: vspltisw 0, -16
4774 ; PWR6-NEXT: vrlw 1, 4, 0
4775 ; PWR6-NEXT: vmulouh 4, 2, 4
4776 ; PWR6-NEXT: vmsumuhm 2, 2, 1, 3
4777 ; PWR6-NEXT: vspltisw 3, 12
4778 ; PWR6-NEXT: vadduwm 3, 3, 3
4779 ; PWR6-NEXT: vslw 2, 2, 0
4780 ; PWR6-NEXT: vadduwm 2, 4, 2
4781 ; PWR6-NEXT: vsrw 2, 2, 3
4782 ; PWR6-NEXT: vcmpgtuw 2, 2, 5
4783 ; PWR6-NEXT: blr
4787 ; PWR7-NEXT: vspltisw 3, 1
4788 ; PWR7-NEXT: addis 3, 2, .LCPI46_0@toc@ha
4789 ; PWR7-NEXT: addi 3, 3, .LCPI46_0@toc@l
4790 ; PWR7-NEXT: vspltisw 4, 2
4791 ; PWR7-NEXT: lxvw4x 0, 0, 3
4792 ; PWR7-NEXT: addis 3, 2, .LCPI46_1@toc@ha
4793 ; PWR7-NEXT: vspltisb 5, 1
4794 ; PWR7-NEXT: vsrw 3, 2, 3
4795 ; PWR7-NEXT: addi 3, 3, .LCPI46_1@toc@l
4796 ; PWR7-NEXT: vspltisw 0, -16
4797 ; PWR7-NEXT: vspltisb 1, 15
4798 ; PWR7-NEXT: vrlw 6, 5, 0
4799 ; PWR7-NEXT: xxland 35, 35, 0
4800 ; PWR7-NEXT: lxvw4x 0, 0, 3
4801 ; PWR7-NEXT: vsubuwm 2, 2, 3
4802 ; PWR7-NEXT: vsrw 3, 2, 4
4803 ; PWR7-NEXT: xxland 34, 34, 0
4804 ; PWR7-NEXT: vspltisw 4, 4
4805 ; PWR7-NEXT: xxland 35, 35, 0
4806 ; PWR7-NEXT: vadduwm 2, 2, 3
4807 ; PWR7-NEXT: vsrw 3, 2, 4
4808 ; PWR7-NEXT: vadduwm 2, 2, 3
4809 ; PWR7-NEXT: xxlxor 35, 35, 35
4810 ; PWR7-NEXT: xxland 34, 34, 33
4811 ; PWR7-NEXT: vmsumuhm 3, 2, 6, 3
4812 ; PWR7-NEXT: vmulouh 2, 2, 5
4813 ; PWR7-NEXT: vspltisw 5, 12
4814 ; PWR7-NEXT: vslw 3, 3, 0
4815 ; PWR7-NEXT: vadduwm 2, 2, 3
4816 ; PWR7-NEXT: vadduwm 3, 5, 5
4817 ; PWR7-NEXT: vsrw 2, 2, 3
4818 ; PWR7-NEXT: vcmpgtuw 2, 2, 4
4819 ; PWR7-NEXT: blr
4823 ; PWR8-NEXT: vspltisw 3, 4
4824 ; PWR8-NEXT: vpopcntw 2, 2
4825 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
4826 ; PWR8-NEXT: blr
4830 ; PWR9-NEXT: vpopcntw 2, 2
4831 ; PWR9-NEXT: vspltisw 3, 4
4832 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
4833 ; PWR9-NEXT: blr
4843 ; PWR5-NEXT: addis 3, 2, .LCPI47_0@toc@ha
4844 ; PWR5-NEXT: vspltisw 4, 1
4845 ; PWR5-NEXT: vxor 3, 3, 3
4846 ; PWR5-NEXT: addi 3, 3, .LCPI47_0@toc@l
4847 ; PWR5-NEXT: lvx 5, 0, 3
4848 ; PWR5-NEXT: addis 3, 2, .LCPI47_1@toc@ha
4849 ; PWR5-NEXT: addi 3, 3, .LCPI47_1@toc@l
4850 ; PWR5-NEXT: vspltisw 0, 2
4851 ; PWR5-NEXT: vsrw 4, 2, 4
4852 ; PWR5-NEXT: vand 4, 4, 5
4853 ; PWR5-NEXT: lvx 5, 0, 3
4854 ; PWR5-NEXT: vsubuwm 2, 2, 4
4855 ; PWR5-NEXT: vand 4, 2, 5
4856 ; PWR5-NEXT: vsrw 2, 2, 0
4857 ; PWR5-NEXT: vand 2, 2, 5
4858 ; PWR5-NEXT: vspltisw 5, 4
4859 ; PWR5-NEXT: vadduwm 2, 4, 2
4860 ; PWR5-NEXT: vsrw 4, 2, 5
4861 ; PWR5-NEXT: vspltisb 5, 15
4862 ; PWR5-NEXT: vadduwm 2, 2, 4
4863 ; PWR5-NEXT: vspltisb 4, 1
4864 ; PWR5-NEXT: vand 2, 2, 5
4865 ; PWR5-NEXT: vspltisw 5, -16
4866 ; PWR5-NEXT: vrlw 0, 4, 5
4867 ; PWR5-NEXT: vmulouh 4, 2, 4
4868 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
4869 ; PWR5-NEXT: vspltisw 3, 12
4870 ; PWR5-NEXT: vadduwm 3, 3, 3
4871 ; PWR5-NEXT: vslw 2, 2, 5
4872 ; PWR5-NEXT: vadduwm 2, 4, 2
4873 ; PWR5-NEXT: vsrw 2, 2, 3
4874 ; PWR5-NEXT: vspltisw 3, 5
4875 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
4876 ; PWR5-NEXT: blr
4880 ; PWR6-NEXT: addis 3, 2, .LCPI47_0@toc@ha
4881 ; PWR6-NEXT: vspltisw 4, 1
4882 ; PWR6-NEXT: vxor 3, 3, 3
4883 ; PWR6-NEXT: addi 3, 3, .LCPI47_0@toc@l
4884 ; PWR6-NEXT: lvx 5, 0, 3
4885 ; PWR6-NEXT: addis 3, 2, .LCPI47_1@toc@ha
4886 ; PWR6-NEXT: addi 3, 3, .LCPI47_1@toc@l
4887 ; PWR6-NEXT: vspltisw 0, 2
4888 ; PWR6-NEXT: vsrw 4, 2, 4
4889 ; PWR6-NEXT: vand 4, 4, 5
4890 ; PWR6-NEXT: lvx 5, 0, 3
4891 ; PWR6-NEXT: vsubuwm 2, 2, 4
4892 ; PWR6-NEXT: vand 4, 2, 5
4893 ; PWR6-NEXT: vsrw 2, 2, 0
4894 ; PWR6-NEXT: vand 2, 2, 5
4895 ; PWR6-NEXT: vspltisw 5, 4
4896 ; PWR6-NEXT: vadduwm 2, 4, 2
4897 ; PWR6-NEXT: vsrw 4, 2, 5
4898 ; PWR6-NEXT: vspltisb 5, 15
4899 ; PWR6-NEXT: vadduwm 2, 2, 4
4900 ; PWR6-NEXT: vspltisb 4, 1
4901 ; PWR6-NEXT: vand 2, 2, 5
4902 ; PWR6-NEXT: vspltisw 5, -16
4903 ; PWR6-NEXT: vrlw 0, 4, 5
4904 ; PWR6-NEXT: vmulouh 4, 2, 4
4905 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
4906 ; PWR6-NEXT: vspltisw 3, 12
4907 ; PWR6-NEXT: vadduwm 3, 3, 3
4908 ; PWR6-NEXT: vslw 2, 2, 5
4909 ; PWR6-NEXT: vadduwm 2, 4, 2
4910 ; PWR6-NEXT: vsrw 2, 2, 3
4911 ; PWR6-NEXT: vspltisw 3, 5
4912 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
4913 ; PWR6-NEXT: blr
4917 ; PWR7-NEXT: vspltisw 3, 1
4918 ; PWR7-NEXT: addis 3, 2, .LCPI47_0@toc@ha
4919 ; PWR7-NEXT: addi 3, 3, .LCPI47_0@toc@l
4920 ; PWR7-NEXT: vspltisw 4, 2
4921 ; PWR7-NEXT: lxvw4x 0, 0, 3
4922 ; PWR7-NEXT: addis 3, 2, .LCPI47_1@toc@ha
4923 ; PWR7-NEXT: vspltisw 5, -16
4924 ; PWR7-NEXT: vsrw 3, 2, 3
4925 ; PWR7-NEXT: addi 3, 3, .LCPI47_1@toc@l
4926 ; PWR7-NEXT: vspltisb 0, 15
4927 ; PWR7-NEXT: xxland 35, 35, 0
4928 ; PWR7-NEXT: lxvw4x 0, 0, 3
4929 ; PWR7-NEXT: vsubuwm 2, 2, 3
4930 ; PWR7-NEXT: vsrw 3, 2, 4
4931 ; PWR7-NEXT: xxland 34, 34, 0
4932 ; PWR7-NEXT: vspltisw 4, 4
4933 ; PWR7-NEXT: xxland 35, 35, 0
4934 ; PWR7-NEXT: vadduwm 2, 2, 3
4935 ; PWR7-NEXT: vsrw 3, 2, 4
4936 ; PWR7-NEXT: vspltisb 4, 1
4937 ; PWR7-NEXT: vrlw 1, 4, 5
4938 ; PWR7-NEXT: vadduwm 2, 2, 3
4939 ; PWR7-NEXT: xxlxor 35, 35, 35
4940 ; PWR7-NEXT: xxland 34, 34, 32
4941 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
4942 ; PWR7-NEXT: vmulouh 2, 2, 4
4943 ; PWR7-NEXT: vspltisw 4, 12
4944 ; PWR7-NEXT: vslw 3, 3, 5
4945 ; PWR7-NEXT: vadduwm 2, 2, 3
4946 ; PWR7-NEXT: vadduwm 3, 4, 4
4947 ; PWR7-NEXT: vsrw 2, 2, 3
4948 ; PWR7-NEXT: vspltisw 3, 5
4949 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
4950 ; PWR7-NEXT: blr
4954 ; PWR8-NEXT: vspltisw 3, 5
4955 ; PWR8-NEXT: vpopcntw 2, 2
4956 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
4957 ; PWR8-NEXT: blr
4961 ; PWR9-NEXT: vpopcntw 2, 2
4962 ; PWR9-NEXT: vspltisw 3, 5
4963 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
4964 ; PWR9-NEXT: blr
4974 ; PWR5-NEXT: addis 3, 2, .LCPI48_0@toc@ha
4975 ; PWR5-NEXT: vspltisw 4, 1
4976 ; PWR5-NEXT: vxor 3, 3, 3
4977 ; PWR5-NEXT: addi 3, 3, .LCPI48_0@toc@l
4978 ; PWR5-NEXT: lvx 5, 0, 3
4979 ; PWR5-NEXT: addis 3, 2, .LCPI48_1@toc@ha
4980 ; PWR5-NEXT: addi 3, 3, .LCPI48_1@toc@l
4981 ; PWR5-NEXT: vspltisw 0, 2
4982 ; PWR5-NEXT: vsrw 4, 2, 4
4983 ; PWR5-NEXT: vand 4, 4, 5
4984 ; PWR5-NEXT: lvx 5, 0, 3
4985 ; PWR5-NEXT: vsubuwm 2, 2, 4
4986 ; PWR5-NEXT: vand 4, 2, 5
4987 ; PWR5-NEXT: vsrw 2, 2, 0
4988 ; PWR5-NEXT: vand 2, 2, 5
4989 ; PWR5-NEXT: vspltisw 5, 4
4990 ; PWR5-NEXT: vadduwm 2, 4, 2
4991 ; PWR5-NEXT: vsrw 4, 2, 5
4992 ; PWR5-NEXT: vspltisb 5, 15
4993 ; PWR5-NEXT: vadduwm 2, 2, 4
4994 ; PWR5-NEXT: vspltisb 4, 1
4995 ; PWR5-NEXT: vand 2, 2, 5
4996 ; PWR5-NEXT: vspltisw 5, -16
4997 ; PWR5-NEXT: vrlw 0, 4, 5
4998 ; PWR5-NEXT: vmulouh 4, 2, 4
4999 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5000 ; PWR5-NEXT: vspltisw 3, 12
5001 ; PWR5-NEXT: vadduwm 3, 3, 3
5002 ; PWR5-NEXT: vslw 2, 2, 5
5003 ; PWR5-NEXT: vadduwm 2, 4, 2
5004 ; PWR5-NEXT: vsrw 2, 2, 3
5005 ; PWR5-NEXT: vspltisw 3, 5
5006 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
5007 ; PWR5-NEXT: blr
5011 ; PWR6-NEXT: addis 3, 2, .LCPI48_0@toc@ha
5012 ; PWR6-NEXT: vspltisw 4, 1
5013 ; PWR6-NEXT: vxor 3, 3, 3
5014 ; PWR6-NEXT: addi 3, 3, .LCPI48_0@toc@l
5015 ; PWR6-NEXT: lvx 5, 0, 3
5016 ; PWR6-NEXT: addis 3, 2, .LCPI48_1@toc@ha
5017 ; PWR6-NEXT: addi 3, 3, .LCPI48_1@toc@l
5018 ; PWR6-NEXT: vspltisw 0, 2
5019 ; PWR6-NEXT: vsrw 4, 2, 4
5020 ; PWR6-NEXT: vand 4, 4, 5
5021 ; PWR6-NEXT: lvx 5, 0, 3
5022 ; PWR6-NEXT: vsubuwm 2, 2, 4
5023 ; PWR6-NEXT: vand 4, 2, 5
5024 ; PWR6-NEXT: vsrw 2, 2, 0
5025 ; PWR6-NEXT: vand 2, 2, 5
5026 ; PWR6-NEXT: vspltisw 5, 4
5027 ; PWR6-NEXT: vadduwm 2, 4, 2
5028 ; PWR6-NEXT: vsrw 4, 2, 5
5029 ; PWR6-NEXT: vspltisb 5, 15
5030 ; PWR6-NEXT: vadduwm 2, 2, 4
5031 ; PWR6-NEXT: vspltisb 4, 1
5032 ; PWR6-NEXT: vand 2, 2, 5
5033 ; PWR6-NEXT: vspltisw 5, -16
5034 ; PWR6-NEXT: vrlw 0, 4, 5
5035 ; PWR6-NEXT: vmulouh 4, 2, 4
5036 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5037 ; PWR6-NEXT: vspltisw 3, 12
5038 ; PWR6-NEXT: vadduwm 3, 3, 3
5039 ; PWR6-NEXT: vslw 2, 2, 5
5040 ; PWR6-NEXT: vadduwm 2, 4, 2
5041 ; PWR6-NEXT: vsrw 2, 2, 3
5042 ; PWR6-NEXT: vspltisw 3, 5
5043 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
5044 ; PWR6-NEXT: blr
5048 ; PWR7-NEXT: vspltisw 3, 1
5049 ; PWR7-NEXT: addis 3, 2, .LCPI48_0@toc@ha
5050 ; PWR7-NEXT: addi 3, 3, .LCPI48_0@toc@l
5051 ; PWR7-NEXT: vspltisw 4, 2
5052 ; PWR7-NEXT: lxvw4x 0, 0, 3
5053 ; PWR7-NEXT: addis 3, 2, .LCPI48_1@toc@ha
5054 ; PWR7-NEXT: vspltisw 5, -16
5055 ; PWR7-NEXT: vsrw 3, 2, 3
5056 ; PWR7-NEXT: addi 3, 3, .LCPI48_1@toc@l
5057 ; PWR7-NEXT: vspltisb 0, 15
5058 ; PWR7-NEXT: xxland 35, 35, 0
5059 ; PWR7-NEXT: lxvw4x 0, 0, 3
5060 ; PWR7-NEXT: vsubuwm 2, 2, 3
5061 ; PWR7-NEXT: vsrw 3, 2, 4
5062 ; PWR7-NEXT: xxland 34, 34, 0
5063 ; PWR7-NEXT: vspltisw 4, 4
5064 ; PWR7-NEXT: xxland 35, 35, 0
5065 ; PWR7-NEXT: vadduwm 2, 2, 3
5066 ; PWR7-NEXT: vsrw 3, 2, 4
5067 ; PWR7-NEXT: vspltisb 4, 1
5068 ; PWR7-NEXT: vrlw 1, 4, 5
5069 ; PWR7-NEXT: vadduwm 2, 2, 3
5070 ; PWR7-NEXT: xxlxor 35, 35, 35
5071 ; PWR7-NEXT: xxland 34, 34, 32
5072 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5073 ; PWR7-NEXT: vmulouh 2, 2, 4
5074 ; PWR7-NEXT: vspltisw 4, 12
5075 ; PWR7-NEXT: vslw 3, 3, 5
5076 ; PWR7-NEXT: vadduwm 2, 2, 3
5077 ; PWR7-NEXT: vadduwm 3, 4, 4
5078 ; PWR7-NEXT: vsrw 2, 2, 3
5079 ; PWR7-NEXT: vspltisw 3, 5
5080 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
5081 ; PWR7-NEXT: blr
5085 ; PWR8-NEXT: vspltisw 3, 5
5086 ; PWR8-NEXT: vpopcntw 2, 2
5087 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
5088 ; PWR8-NEXT: blr
5092 ; PWR9-NEXT: vpopcntw 2, 2
5093 ; PWR9-NEXT: vspltisw 3, 5
5094 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
5095 ; PWR9-NEXT: blr
5105 ; PWR5-NEXT: addis 3, 2, .LCPI49_0@toc@ha
5106 ; PWR5-NEXT: vspltisw 4, 1
5107 ; PWR5-NEXT: vxor 3, 3, 3
5108 ; PWR5-NEXT: addi 3, 3, .LCPI49_0@toc@l
5109 ; PWR5-NEXT: lvx 5, 0, 3
5110 ; PWR5-NEXT: addis 3, 2, .LCPI49_1@toc@ha
5111 ; PWR5-NEXT: addi 3, 3, .LCPI49_1@toc@l
5112 ; PWR5-NEXT: vspltisw 0, 2
5113 ; PWR5-NEXT: vsrw 4, 2, 4
5114 ; PWR5-NEXT: vand 4, 4, 5
5115 ; PWR5-NEXT: lvx 5, 0, 3
5116 ; PWR5-NEXT: vsubuwm 2, 2, 4
5117 ; PWR5-NEXT: vand 4, 2, 5
5118 ; PWR5-NEXT: vsrw 2, 2, 0
5119 ; PWR5-NEXT: vand 2, 2, 5
5120 ; PWR5-NEXT: vspltisw 5, 4
5121 ; PWR5-NEXT: vadduwm 2, 4, 2
5122 ; PWR5-NEXT: vsrw 4, 2, 5
5123 ; PWR5-NEXT: vspltisb 5, 15
5124 ; PWR5-NEXT: vadduwm 2, 2, 4
5125 ; PWR5-NEXT: vspltisb 4, 1
5126 ; PWR5-NEXT: vand 2, 2, 5
5127 ; PWR5-NEXT: vspltisw 5, -16
5128 ; PWR5-NEXT: vrlw 0, 4, 5
5129 ; PWR5-NEXT: vmulouh 4, 2, 4
5130 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5131 ; PWR5-NEXT: vspltisw 3, 12
5132 ; PWR5-NEXT: vadduwm 3, 3, 3
5133 ; PWR5-NEXT: vslw 2, 2, 5
5134 ; PWR5-NEXT: vadduwm 2, 4, 2
5135 ; PWR5-NEXT: vsrw 2, 2, 3
5136 ; PWR5-NEXT: vspltisw 3, 6
5137 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
5138 ; PWR5-NEXT: blr
5142 ; PWR6-NEXT: addis 3, 2, .LCPI49_0@toc@ha
5143 ; PWR6-NEXT: vspltisw 4, 1
5144 ; PWR6-NEXT: vxor 3, 3, 3
5145 ; PWR6-NEXT: addi 3, 3, .LCPI49_0@toc@l
5146 ; PWR6-NEXT: lvx 5, 0, 3
5147 ; PWR6-NEXT: addis 3, 2, .LCPI49_1@toc@ha
5148 ; PWR6-NEXT: addi 3, 3, .LCPI49_1@toc@l
5149 ; PWR6-NEXT: vspltisw 0, 2
5150 ; PWR6-NEXT: vsrw 4, 2, 4
5151 ; PWR6-NEXT: vand 4, 4, 5
5152 ; PWR6-NEXT: lvx 5, 0, 3
5153 ; PWR6-NEXT: vsubuwm 2, 2, 4
5154 ; PWR6-NEXT: vand 4, 2, 5
5155 ; PWR6-NEXT: vsrw 2, 2, 0
5156 ; PWR6-NEXT: vand 2, 2, 5
5157 ; PWR6-NEXT: vspltisw 5, 4
5158 ; PWR6-NEXT: vadduwm 2, 4, 2
5159 ; PWR6-NEXT: vsrw 4, 2, 5
5160 ; PWR6-NEXT: vspltisb 5, 15
5161 ; PWR6-NEXT: vadduwm 2, 2, 4
5162 ; PWR6-NEXT: vspltisb 4, 1
5163 ; PWR6-NEXT: vand 2, 2, 5
5164 ; PWR6-NEXT: vspltisw 5, -16
5165 ; PWR6-NEXT: vrlw 0, 4, 5
5166 ; PWR6-NEXT: vmulouh 4, 2, 4
5167 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5168 ; PWR6-NEXT: vspltisw 3, 12
5169 ; PWR6-NEXT: vadduwm 3, 3, 3
5170 ; PWR6-NEXT: vslw 2, 2, 5
5171 ; PWR6-NEXT: vadduwm 2, 4, 2
5172 ; PWR6-NEXT: vsrw 2, 2, 3
5173 ; PWR6-NEXT: vspltisw 3, 6
5174 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
5175 ; PWR6-NEXT: blr
5179 ; PWR7-NEXT: vspltisw 3, 1
5180 ; PWR7-NEXT: addis 3, 2, .LCPI49_0@toc@ha
5181 ; PWR7-NEXT: addi 3, 3, .LCPI49_0@toc@l
5182 ; PWR7-NEXT: vspltisw 4, 2
5183 ; PWR7-NEXT: lxvw4x 0, 0, 3
5184 ; PWR7-NEXT: addis 3, 2, .LCPI49_1@toc@ha
5185 ; PWR7-NEXT: vspltisw 5, -16
5186 ; PWR7-NEXT: vsrw 3, 2, 3
5187 ; PWR7-NEXT: addi 3, 3, .LCPI49_1@toc@l
5188 ; PWR7-NEXT: vspltisb 0, 15
5189 ; PWR7-NEXT: xxland 35, 35, 0
5190 ; PWR7-NEXT: lxvw4x 0, 0, 3
5191 ; PWR7-NEXT: vsubuwm 2, 2, 3
5192 ; PWR7-NEXT: vsrw 3, 2, 4
5193 ; PWR7-NEXT: xxland 34, 34, 0
5194 ; PWR7-NEXT: vspltisw 4, 4
5195 ; PWR7-NEXT: xxland 35, 35, 0
5196 ; PWR7-NEXT: vadduwm 2, 2, 3
5197 ; PWR7-NEXT: vsrw 3, 2, 4
5198 ; PWR7-NEXT: vspltisb 4, 1
5199 ; PWR7-NEXT: vrlw 1, 4, 5
5200 ; PWR7-NEXT: vadduwm 2, 2, 3
5201 ; PWR7-NEXT: xxlxor 35, 35, 35
5202 ; PWR7-NEXT: xxland 34, 34, 32
5203 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5204 ; PWR7-NEXT: vmulouh 2, 2, 4
5205 ; PWR7-NEXT: vspltisw 4, 12
5206 ; PWR7-NEXT: vslw 3, 3, 5
5207 ; PWR7-NEXT: vadduwm 2, 2, 3
5208 ; PWR7-NEXT: vadduwm 3, 4, 4
5209 ; PWR7-NEXT: vsrw 2, 2, 3
5210 ; PWR7-NEXT: vspltisw 3, 6
5211 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
5212 ; PWR7-NEXT: blr
5216 ; PWR8-NEXT: vspltisw 3, 6
5217 ; PWR8-NEXT: vpopcntw 2, 2
5218 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
5219 ; PWR8-NEXT: blr
5223 ; PWR9-NEXT: vpopcntw 2, 2
5224 ; PWR9-NEXT: vspltisw 3, 6
5225 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
5226 ; PWR9-NEXT: blr
5236 ; PWR5-NEXT: addis 3, 2, .LCPI50_0@toc@ha
5237 ; PWR5-NEXT: vspltisw 4, 1
5238 ; PWR5-NEXT: vxor 3, 3, 3
5239 ; PWR5-NEXT: addi 3, 3, .LCPI50_0@toc@l
5240 ; PWR5-NEXT: lvx 5, 0, 3
5241 ; PWR5-NEXT: addis 3, 2, .LCPI50_1@toc@ha
5242 ; PWR5-NEXT: addi 3, 3, .LCPI50_1@toc@l
5243 ; PWR5-NEXT: vspltisw 0, 2
5244 ; PWR5-NEXT: vsrw 4, 2, 4
5245 ; PWR5-NEXT: vand 4, 4, 5
5246 ; PWR5-NEXT: lvx 5, 0, 3
5247 ; PWR5-NEXT: vsubuwm 2, 2, 4
5248 ; PWR5-NEXT: vand 4, 2, 5
5249 ; PWR5-NEXT: vsrw 2, 2, 0
5250 ; PWR5-NEXT: vand 2, 2, 5
5251 ; PWR5-NEXT: vspltisw 5, 4
5252 ; PWR5-NEXT: vadduwm 2, 4, 2
5253 ; PWR5-NEXT: vsrw 4, 2, 5
5254 ; PWR5-NEXT: vspltisb 5, 15
5255 ; PWR5-NEXT: vadduwm 2, 2, 4
5256 ; PWR5-NEXT: vspltisb 4, 1
5257 ; PWR5-NEXT: vand 2, 2, 5
5258 ; PWR5-NEXT: vspltisw 5, -16
5259 ; PWR5-NEXT: vrlw 0, 4, 5
5260 ; PWR5-NEXT: vmulouh 4, 2, 4
5261 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5262 ; PWR5-NEXT: vspltisw 3, 12
5263 ; PWR5-NEXT: vadduwm 3, 3, 3
5264 ; PWR5-NEXT: vslw 2, 2, 5
5265 ; PWR5-NEXT: vadduwm 2, 4, 2
5266 ; PWR5-NEXT: vsrw 2, 2, 3
5267 ; PWR5-NEXT: vspltisw 3, 6
5268 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
5269 ; PWR5-NEXT: blr
5273 ; PWR6-NEXT: addis 3, 2, .LCPI50_0@toc@ha
5274 ; PWR6-NEXT: vspltisw 4, 1
5275 ; PWR6-NEXT: vxor 3, 3, 3
5276 ; PWR6-NEXT: addi 3, 3, .LCPI50_0@toc@l
5277 ; PWR6-NEXT: lvx 5, 0, 3
5278 ; PWR6-NEXT: addis 3, 2, .LCPI50_1@toc@ha
5279 ; PWR6-NEXT: addi 3, 3, .LCPI50_1@toc@l
5280 ; PWR6-NEXT: vspltisw 0, 2
5281 ; PWR6-NEXT: vsrw 4, 2, 4
5282 ; PWR6-NEXT: vand 4, 4, 5
5283 ; PWR6-NEXT: lvx 5, 0, 3
5284 ; PWR6-NEXT: vsubuwm 2, 2, 4
5285 ; PWR6-NEXT: vand 4, 2, 5
5286 ; PWR6-NEXT: vsrw 2, 2, 0
5287 ; PWR6-NEXT: vand 2, 2, 5
5288 ; PWR6-NEXT: vspltisw 5, 4
5289 ; PWR6-NEXT: vadduwm 2, 4, 2
5290 ; PWR6-NEXT: vsrw 4, 2, 5
5291 ; PWR6-NEXT: vspltisb 5, 15
5292 ; PWR6-NEXT: vadduwm 2, 2, 4
5293 ; PWR6-NEXT: vspltisb 4, 1
5294 ; PWR6-NEXT: vand 2, 2, 5
5295 ; PWR6-NEXT: vspltisw 5, -16
5296 ; PWR6-NEXT: vrlw 0, 4, 5
5297 ; PWR6-NEXT: vmulouh 4, 2, 4
5298 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5299 ; PWR6-NEXT: vspltisw 3, 12
5300 ; PWR6-NEXT: vadduwm 3, 3, 3
5301 ; PWR6-NEXT: vslw 2, 2, 5
5302 ; PWR6-NEXT: vadduwm 2, 4, 2
5303 ; PWR6-NEXT: vsrw 2, 2, 3
5304 ; PWR6-NEXT: vspltisw 3, 6
5305 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
5306 ; PWR6-NEXT: blr
5310 ; PWR7-NEXT: vspltisw 3, 1
5311 ; PWR7-NEXT: addis 3, 2, .LCPI50_0@toc@ha
5312 ; PWR7-NEXT: addi 3, 3, .LCPI50_0@toc@l
5313 ; PWR7-NEXT: vspltisw 4, 2
5314 ; PWR7-NEXT: lxvw4x 0, 0, 3
5315 ; PWR7-NEXT: addis 3, 2, .LCPI50_1@toc@ha
5316 ; PWR7-NEXT: vspltisw 5, -16
5317 ; PWR7-NEXT: vsrw 3, 2, 3
5318 ; PWR7-NEXT: addi 3, 3, .LCPI50_1@toc@l
5319 ; PWR7-NEXT: vspltisb 0, 15
5320 ; PWR7-NEXT: xxland 35, 35, 0
5321 ; PWR7-NEXT: lxvw4x 0, 0, 3
5322 ; PWR7-NEXT: vsubuwm 2, 2, 3
5323 ; PWR7-NEXT: vsrw 3, 2, 4
5324 ; PWR7-NEXT: xxland 34, 34, 0
5325 ; PWR7-NEXT: vspltisw 4, 4
5326 ; PWR7-NEXT: xxland 35, 35, 0
5327 ; PWR7-NEXT: vadduwm 2, 2, 3
5328 ; PWR7-NEXT: vsrw 3, 2, 4
5329 ; PWR7-NEXT: vspltisb 4, 1
5330 ; PWR7-NEXT: vrlw 1, 4, 5
5331 ; PWR7-NEXT: vadduwm 2, 2, 3
5332 ; PWR7-NEXT: xxlxor 35, 35, 35
5333 ; PWR7-NEXT: xxland 34, 34, 32
5334 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5335 ; PWR7-NEXT: vmulouh 2, 2, 4
5336 ; PWR7-NEXT: vspltisw 4, 12
5337 ; PWR7-NEXT: vslw 3, 3, 5
5338 ; PWR7-NEXT: vadduwm 2, 2, 3
5339 ; PWR7-NEXT: vadduwm 3, 4, 4
5340 ; PWR7-NEXT: vsrw 2, 2, 3
5341 ; PWR7-NEXT: vspltisw 3, 6
5342 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
5343 ; PWR7-NEXT: blr
5347 ; PWR8-NEXT: vspltisw 3, 6
5348 ; PWR8-NEXT: vpopcntw 2, 2
5349 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
5350 ; PWR8-NEXT: blr
5354 ; PWR9-NEXT: vpopcntw 2, 2
5355 ; PWR9-NEXT: vspltisw 3, 6
5356 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
5357 ; PWR9-NEXT: blr
5367 ; PWR5-NEXT: addis 3, 2, .LCPI51_0@toc@ha
5368 ; PWR5-NEXT: vspltisw 4, 1
5369 ; PWR5-NEXT: vxor 3, 3, 3
5370 ; PWR5-NEXT: addi 3, 3, .LCPI51_0@toc@l
5371 ; PWR5-NEXT: lvx 5, 0, 3
5372 ; PWR5-NEXT: addis 3, 2, .LCPI51_1@toc@ha
5373 ; PWR5-NEXT: addi 3, 3, .LCPI51_1@toc@l
5374 ; PWR5-NEXT: vspltisw 0, 2
5375 ; PWR5-NEXT: vsrw 4, 2, 4
5376 ; PWR5-NEXT: vand 4, 4, 5
5377 ; PWR5-NEXT: lvx 5, 0, 3
5378 ; PWR5-NEXT: vsubuwm 2, 2, 4
5379 ; PWR5-NEXT: vand 4, 2, 5
5380 ; PWR5-NEXT: vsrw 2, 2, 0
5381 ; PWR5-NEXT: vand 2, 2, 5
5382 ; PWR5-NEXT: vspltisw 5, 4
5383 ; PWR5-NEXT: vadduwm 2, 4, 2
5384 ; PWR5-NEXT: vsrw 4, 2, 5
5385 ; PWR5-NEXT: vspltisb 5, 15
5386 ; PWR5-NEXT: vadduwm 2, 2, 4
5387 ; PWR5-NEXT: vspltisb 4, 1
5388 ; PWR5-NEXT: vand 2, 2, 5
5389 ; PWR5-NEXT: vspltisw 5, -16
5390 ; PWR5-NEXT: vrlw 0, 4, 5
5391 ; PWR5-NEXT: vmulouh 4, 2, 4
5392 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5393 ; PWR5-NEXT: vspltisw 3, 12
5394 ; PWR5-NEXT: vadduwm 3, 3, 3
5395 ; PWR5-NEXT: vslw 2, 2, 5
5396 ; PWR5-NEXT: vadduwm 2, 4, 2
5397 ; PWR5-NEXT: vsrw 2, 2, 3
5398 ; PWR5-NEXT: vspltisw 3, 7
5399 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
5400 ; PWR5-NEXT: blr
5404 ; PWR6-NEXT: addis 3, 2, .LCPI51_0@toc@ha
5405 ; PWR6-NEXT: vspltisw 4, 1
5406 ; PWR6-NEXT: vxor 3, 3, 3
5407 ; PWR6-NEXT: addi 3, 3, .LCPI51_0@toc@l
5408 ; PWR6-NEXT: lvx 5, 0, 3
5409 ; PWR6-NEXT: addis 3, 2, .LCPI51_1@toc@ha
5410 ; PWR6-NEXT: addi 3, 3, .LCPI51_1@toc@l
5411 ; PWR6-NEXT: vspltisw 0, 2
5412 ; PWR6-NEXT: vsrw 4, 2, 4
5413 ; PWR6-NEXT: vand 4, 4, 5
5414 ; PWR6-NEXT: lvx 5, 0, 3
5415 ; PWR6-NEXT: vsubuwm 2, 2, 4
5416 ; PWR6-NEXT: vand 4, 2, 5
5417 ; PWR6-NEXT: vsrw 2, 2, 0
5418 ; PWR6-NEXT: vand 2, 2, 5
5419 ; PWR6-NEXT: vspltisw 5, 4
5420 ; PWR6-NEXT: vadduwm 2, 4, 2
5421 ; PWR6-NEXT: vsrw 4, 2, 5
5422 ; PWR6-NEXT: vspltisb 5, 15
5423 ; PWR6-NEXT: vadduwm 2, 2, 4
5424 ; PWR6-NEXT: vspltisb 4, 1
5425 ; PWR6-NEXT: vand 2, 2, 5
5426 ; PWR6-NEXT: vspltisw 5, -16
5427 ; PWR6-NEXT: vrlw 0, 4, 5
5428 ; PWR6-NEXT: vmulouh 4, 2, 4
5429 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5430 ; PWR6-NEXT: vspltisw 3, 12
5431 ; PWR6-NEXT: vadduwm 3, 3, 3
5432 ; PWR6-NEXT: vslw 2, 2, 5
5433 ; PWR6-NEXT: vadduwm 2, 4, 2
5434 ; PWR6-NEXT: vsrw 2, 2, 3
5435 ; PWR6-NEXT: vspltisw 3, 7
5436 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
5437 ; PWR6-NEXT: blr
5441 ; PWR7-NEXT: vspltisw 3, 1
5442 ; PWR7-NEXT: addis 3, 2, .LCPI51_0@toc@ha
5443 ; PWR7-NEXT: addi 3, 3, .LCPI51_0@toc@l
5444 ; PWR7-NEXT: vspltisw 4, 2
5445 ; PWR7-NEXT: lxvw4x 0, 0, 3
5446 ; PWR7-NEXT: addis 3, 2, .LCPI51_1@toc@ha
5447 ; PWR7-NEXT: vspltisw 5, -16
5448 ; PWR7-NEXT: vsrw 3, 2, 3
5449 ; PWR7-NEXT: addi 3, 3, .LCPI51_1@toc@l
5450 ; PWR7-NEXT: vspltisb 0, 15
5451 ; PWR7-NEXT: xxland 35, 35, 0
5452 ; PWR7-NEXT: lxvw4x 0, 0, 3
5453 ; PWR7-NEXT: vsubuwm 2, 2, 3
5454 ; PWR7-NEXT: vsrw 3, 2, 4
5455 ; PWR7-NEXT: xxland 34, 34, 0
5456 ; PWR7-NEXT: vspltisw 4, 4
5457 ; PWR7-NEXT: xxland 35, 35, 0
5458 ; PWR7-NEXT: vadduwm 2, 2, 3
5459 ; PWR7-NEXT: vsrw 3, 2, 4
5460 ; PWR7-NEXT: vspltisb 4, 1
5461 ; PWR7-NEXT: vrlw 1, 4, 5
5462 ; PWR7-NEXT: vadduwm 2, 2, 3
5463 ; PWR7-NEXT: xxlxor 35, 35, 35
5464 ; PWR7-NEXT: xxland 34, 34, 32
5465 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5466 ; PWR7-NEXT: vmulouh 2, 2, 4
5467 ; PWR7-NEXT: vspltisw 4, 12
5468 ; PWR7-NEXT: vslw 3, 3, 5
5469 ; PWR7-NEXT: vadduwm 2, 2, 3
5470 ; PWR7-NEXT: vadduwm 3, 4, 4
5471 ; PWR7-NEXT: vsrw 2, 2, 3
5472 ; PWR7-NEXT: vspltisw 3, 7
5473 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
5474 ; PWR7-NEXT: blr
5478 ; PWR8-NEXT: vspltisw 3, 7
5479 ; PWR8-NEXT: vpopcntw 2, 2
5480 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
5481 ; PWR8-NEXT: blr
5485 ; PWR9-NEXT: vpopcntw 2, 2
5486 ; PWR9-NEXT: vspltisw 3, 7
5487 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
5488 ; PWR9-NEXT: blr
5498 ; PWR5-NEXT: addis 3, 2, .LCPI52_0@toc@ha
5499 ; PWR5-NEXT: vspltisw 4, 1
5500 ; PWR5-NEXT: vxor 3, 3, 3
5501 ; PWR5-NEXT: addi 3, 3, .LCPI52_0@toc@l
5502 ; PWR5-NEXT: lvx 5, 0, 3
5503 ; PWR5-NEXT: addis 3, 2, .LCPI52_1@toc@ha
5504 ; PWR5-NEXT: addi 3, 3, .LCPI52_1@toc@l
5505 ; PWR5-NEXT: vspltisw 0, 2
5506 ; PWR5-NEXT: vsrw 4, 2, 4
5507 ; PWR5-NEXT: vand 4, 4, 5
5508 ; PWR5-NEXT: lvx 5, 0, 3
5509 ; PWR5-NEXT: vsubuwm 2, 2, 4
5510 ; PWR5-NEXT: vand 4, 2, 5
5511 ; PWR5-NEXT: vsrw 2, 2, 0
5512 ; PWR5-NEXT: vand 2, 2, 5
5513 ; PWR5-NEXT: vspltisw 5, 4
5514 ; PWR5-NEXT: vadduwm 2, 4, 2
5515 ; PWR5-NEXT: vsrw 4, 2, 5
5516 ; PWR5-NEXT: vspltisb 5, 15
5517 ; PWR5-NEXT: vadduwm 2, 2, 4
5518 ; PWR5-NEXT: vspltisb 4, 1
5519 ; PWR5-NEXT: vand 2, 2, 5
5520 ; PWR5-NEXT: vspltisw 5, -16
5521 ; PWR5-NEXT: vrlw 0, 4, 5
5522 ; PWR5-NEXT: vmulouh 4, 2, 4
5523 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5524 ; PWR5-NEXT: vspltisw 3, 12
5525 ; PWR5-NEXT: vadduwm 3, 3, 3
5526 ; PWR5-NEXT: vslw 2, 2, 5
5527 ; PWR5-NEXT: vadduwm 2, 4, 2
5528 ; PWR5-NEXT: vsrw 2, 2, 3
5529 ; PWR5-NEXT: vspltisw 3, 7
5530 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
5531 ; PWR5-NEXT: blr
5535 ; PWR6-NEXT: addis 3, 2, .LCPI52_0@toc@ha
5536 ; PWR6-NEXT: vspltisw 4, 1
5537 ; PWR6-NEXT: vxor 3, 3, 3
5538 ; PWR6-NEXT: addi 3, 3, .LCPI52_0@toc@l
5539 ; PWR6-NEXT: lvx 5, 0, 3
5540 ; PWR6-NEXT: addis 3, 2, .LCPI52_1@toc@ha
5541 ; PWR6-NEXT: addi 3, 3, .LCPI52_1@toc@l
5542 ; PWR6-NEXT: vspltisw 0, 2
5543 ; PWR6-NEXT: vsrw 4, 2, 4
5544 ; PWR6-NEXT: vand 4, 4, 5
5545 ; PWR6-NEXT: lvx 5, 0, 3
5546 ; PWR6-NEXT: vsubuwm 2, 2, 4
5547 ; PWR6-NEXT: vand 4, 2, 5
5548 ; PWR6-NEXT: vsrw 2, 2, 0
5549 ; PWR6-NEXT: vand 2, 2, 5
5550 ; PWR6-NEXT: vspltisw 5, 4
5551 ; PWR6-NEXT: vadduwm 2, 4, 2
5552 ; PWR6-NEXT: vsrw 4, 2, 5
5553 ; PWR6-NEXT: vspltisb 5, 15
5554 ; PWR6-NEXT: vadduwm 2, 2, 4
5555 ; PWR6-NEXT: vspltisb 4, 1
5556 ; PWR6-NEXT: vand 2, 2, 5
5557 ; PWR6-NEXT: vspltisw 5, -16
5558 ; PWR6-NEXT: vrlw 0, 4, 5
5559 ; PWR6-NEXT: vmulouh 4, 2, 4
5560 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5561 ; PWR6-NEXT: vspltisw 3, 12
5562 ; PWR6-NEXT: vadduwm 3, 3, 3
5563 ; PWR6-NEXT: vslw 2, 2, 5
5564 ; PWR6-NEXT: vadduwm 2, 4, 2
5565 ; PWR6-NEXT: vsrw 2, 2, 3
5566 ; PWR6-NEXT: vspltisw 3, 7
5567 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
5568 ; PWR6-NEXT: blr
5572 ; PWR7-NEXT: vspltisw 3, 1
5573 ; PWR7-NEXT: addis 3, 2, .LCPI52_0@toc@ha
5574 ; PWR7-NEXT: addi 3, 3, .LCPI52_0@toc@l
5575 ; PWR7-NEXT: vspltisw 4, 2
5576 ; PWR7-NEXT: lxvw4x 0, 0, 3
5577 ; PWR7-NEXT: addis 3, 2, .LCPI52_1@toc@ha
5578 ; PWR7-NEXT: vspltisw 5, -16
5579 ; PWR7-NEXT: vsrw 3, 2, 3
5580 ; PWR7-NEXT: addi 3, 3, .LCPI52_1@toc@l
5581 ; PWR7-NEXT: vspltisb 0, 15
5582 ; PWR7-NEXT: xxland 35, 35, 0
5583 ; PWR7-NEXT: lxvw4x 0, 0, 3
5584 ; PWR7-NEXT: vsubuwm 2, 2, 3
5585 ; PWR7-NEXT: vsrw 3, 2, 4
5586 ; PWR7-NEXT: xxland 34, 34, 0
5587 ; PWR7-NEXT: vspltisw 4, 4
5588 ; PWR7-NEXT: xxland 35, 35, 0
5589 ; PWR7-NEXT: vadduwm 2, 2, 3
5590 ; PWR7-NEXT: vsrw 3, 2, 4
5591 ; PWR7-NEXT: vspltisb 4, 1
5592 ; PWR7-NEXT: vrlw 1, 4, 5
5593 ; PWR7-NEXT: vadduwm 2, 2, 3
5594 ; PWR7-NEXT: xxlxor 35, 35, 35
5595 ; PWR7-NEXT: xxland 34, 34, 32
5596 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5597 ; PWR7-NEXT: vmulouh 2, 2, 4
5598 ; PWR7-NEXT: vspltisw 4, 12
5599 ; PWR7-NEXT: vslw 3, 3, 5
5600 ; PWR7-NEXT: vadduwm 2, 2, 3
5601 ; PWR7-NEXT: vadduwm 3, 4, 4
5602 ; PWR7-NEXT: vsrw 2, 2, 3
5603 ; PWR7-NEXT: vspltisw 3, 7
5604 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
5605 ; PWR7-NEXT: blr
5609 ; PWR8-NEXT: vspltisw 3, 7
5610 ; PWR8-NEXT: vpopcntw 2, 2
5611 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
5612 ; PWR8-NEXT: blr
5616 ; PWR9-NEXT: vpopcntw 2, 2
5617 ; PWR9-NEXT: vspltisw 3, 7
5618 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
5619 ; PWR9-NEXT: blr
5629 ; PWR5-NEXT: addis 3, 2, .LCPI53_0@toc@ha
5630 ; PWR5-NEXT: vspltisw 4, 1
5631 ; PWR5-NEXT: vxor 3, 3, 3
5632 ; PWR5-NEXT: addi 3, 3, .LCPI53_0@toc@l
5633 ; PWR5-NEXT: lvx 5, 0, 3
5634 ; PWR5-NEXT: addis 3, 2, .LCPI53_1@toc@ha
5635 ; PWR5-NEXT: addi 3, 3, .LCPI53_1@toc@l
5636 ; PWR5-NEXT: vspltisw 0, 2
5637 ; PWR5-NEXT: vsrw 4, 2, 4
5638 ; PWR5-NEXT: vand 4, 4, 5
5639 ; PWR5-NEXT: lvx 5, 0, 3
5640 ; PWR5-NEXT: vsubuwm 2, 2, 4
5641 ; PWR5-NEXT: vand 4, 2, 5
5642 ; PWR5-NEXT: vsrw 2, 2, 0
5643 ; PWR5-NEXT: vand 2, 2, 5
5644 ; PWR5-NEXT: vspltisw 5, 4
5645 ; PWR5-NEXT: vadduwm 2, 4, 2
5646 ; PWR5-NEXT: vsrw 4, 2, 5
5647 ; PWR5-NEXT: vspltisb 5, 15
5648 ; PWR5-NEXT: vadduwm 2, 2, 4
5649 ; PWR5-NEXT: vspltisb 4, 1
5650 ; PWR5-NEXT: vand 2, 2, 5
5651 ; PWR5-NEXT: vspltisw 5, -16
5652 ; PWR5-NEXT: vrlw 0, 4, 5
5653 ; PWR5-NEXT: vmulouh 4, 2, 4
5654 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5655 ; PWR5-NEXT: vspltisw 3, 12
5656 ; PWR5-NEXT: vadduwm 3, 3, 3
5657 ; PWR5-NEXT: vslw 2, 2, 5
5658 ; PWR5-NEXT: vadduwm 2, 4, 2
5659 ; PWR5-NEXT: vsrw 2, 2, 3
5660 ; PWR5-NEXT: vspltisw 3, 8
5661 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
5662 ; PWR5-NEXT: blr
5666 ; PWR6-NEXT: addis 3, 2, .LCPI53_0@toc@ha
5667 ; PWR6-NEXT: vspltisw 4, 1
5668 ; PWR6-NEXT: vxor 3, 3, 3
5669 ; PWR6-NEXT: addi 3, 3, .LCPI53_0@toc@l
5670 ; PWR6-NEXT: lvx 5, 0, 3
5671 ; PWR6-NEXT: addis 3, 2, .LCPI53_1@toc@ha
5672 ; PWR6-NEXT: addi 3, 3, .LCPI53_1@toc@l
5673 ; PWR6-NEXT: vspltisw 0, 2
5674 ; PWR6-NEXT: vsrw 4, 2, 4
5675 ; PWR6-NEXT: vand 4, 4, 5
5676 ; PWR6-NEXT: lvx 5, 0, 3
5677 ; PWR6-NEXT: vsubuwm 2, 2, 4
5678 ; PWR6-NEXT: vand 4, 2, 5
5679 ; PWR6-NEXT: vsrw 2, 2, 0
5680 ; PWR6-NEXT: vand 2, 2, 5
5681 ; PWR6-NEXT: vspltisw 5, 4
5682 ; PWR6-NEXT: vadduwm 2, 4, 2
5683 ; PWR6-NEXT: vsrw 4, 2, 5
5684 ; PWR6-NEXT: vspltisb 5, 15
5685 ; PWR6-NEXT: vadduwm 2, 2, 4
5686 ; PWR6-NEXT: vspltisb 4, 1
5687 ; PWR6-NEXT: vand 2, 2, 5
5688 ; PWR6-NEXT: vspltisw 5, -16
5689 ; PWR6-NEXT: vrlw 0, 4, 5
5690 ; PWR6-NEXT: vmulouh 4, 2, 4
5691 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5692 ; PWR6-NEXT: vspltisw 3, 12
5693 ; PWR6-NEXT: vadduwm 3, 3, 3
5694 ; PWR6-NEXT: vslw 2, 2, 5
5695 ; PWR6-NEXT: vadduwm 2, 4, 2
5696 ; PWR6-NEXT: vsrw 2, 2, 3
5697 ; PWR6-NEXT: vspltisw 3, 8
5698 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
5699 ; PWR6-NEXT: blr
5703 ; PWR7-NEXT: vspltisw 3, 1
5704 ; PWR7-NEXT: addis 3, 2, .LCPI53_0@toc@ha
5705 ; PWR7-NEXT: addi 3, 3, .LCPI53_0@toc@l
5706 ; PWR7-NEXT: vspltisw 4, 2
5707 ; PWR7-NEXT: lxvw4x 0, 0, 3
5708 ; PWR7-NEXT: addis 3, 2, .LCPI53_1@toc@ha
5709 ; PWR7-NEXT: vspltisw 5, -16
5710 ; PWR7-NEXT: vsrw 3, 2, 3
5711 ; PWR7-NEXT: addi 3, 3, .LCPI53_1@toc@l
5712 ; PWR7-NEXT: vspltisb 0, 15
5713 ; PWR7-NEXT: xxland 35, 35, 0
5714 ; PWR7-NEXT: lxvw4x 0, 0, 3
5715 ; PWR7-NEXT: vsubuwm 2, 2, 3
5716 ; PWR7-NEXT: vsrw 3, 2, 4
5717 ; PWR7-NEXT: xxland 34, 34, 0
5718 ; PWR7-NEXT: vspltisw 4, 4
5719 ; PWR7-NEXT: xxland 35, 35, 0
5720 ; PWR7-NEXT: vadduwm 2, 2, 3
5721 ; PWR7-NEXT: vsrw 3, 2, 4
5722 ; PWR7-NEXT: vspltisb 4, 1
5723 ; PWR7-NEXT: vrlw 1, 4, 5
5724 ; PWR7-NEXT: vadduwm 2, 2, 3
5725 ; PWR7-NEXT: xxlxor 35, 35, 35
5726 ; PWR7-NEXT: xxland 34, 34, 32
5727 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5728 ; PWR7-NEXT: vmulouh 2, 2, 4
5729 ; PWR7-NEXT: vspltisw 4, 12
5730 ; PWR7-NEXT: vslw 3, 3, 5
5731 ; PWR7-NEXT: vadduwm 2, 2, 3
5732 ; PWR7-NEXT: vadduwm 3, 4, 4
5733 ; PWR7-NEXT: vsrw 2, 2, 3
5734 ; PWR7-NEXT: vspltisw 3, 8
5735 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
5736 ; PWR7-NEXT: blr
5740 ; PWR8-NEXT: vspltisw 3, 8
5741 ; PWR8-NEXT: vpopcntw 2, 2
5742 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
5743 ; PWR8-NEXT: blr
5747 ; PWR9-NEXT: vpopcntw 2, 2
5748 ; PWR9-NEXT: vspltisw 3, 8
5749 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
5750 ; PWR9-NEXT: blr
5760 ; PWR5-NEXT: addis 3, 2, .LCPI54_0@toc@ha
5761 ; PWR5-NEXT: vspltisw 4, 1
5762 ; PWR5-NEXT: vxor 3, 3, 3
5763 ; PWR5-NEXT: addi 3, 3, .LCPI54_0@toc@l
5764 ; PWR5-NEXT: lvx 5, 0, 3
5765 ; PWR5-NEXT: addis 3, 2, .LCPI54_1@toc@ha
5766 ; PWR5-NEXT: addi 3, 3, .LCPI54_1@toc@l
5767 ; PWR5-NEXT: vspltisw 0, 2
5768 ; PWR5-NEXT: vsrw 4, 2, 4
5769 ; PWR5-NEXT: vand 4, 4, 5
5770 ; PWR5-NEXT: lvx 5, 0, 3
5771 ; PWR5-NEXT: vsubuwm 2, 2, 4
5772 ; PWR5-NEXT: vand 4, 2, 5
5773 ; PWR5-NEXT: vsrw 2, 2, 0
5774 ; PWR5-NEXT: vand 2, 2, 5
5775 ; PWR5-NEXT: vspltisw 5, 4
5776 ; PWR5-NEXT: vadduwm 2, 4, 2
5777 ; PWR5-NEXT: vsrw 4, 2, 5
5778 ; PWR5-NEXT: vspltisb 5, 15
5779 ; PWR5-NEXT: vadduwm 2, 2, 4
5780 ; PWR5-NEXT: vspltisb 4, 1
5781 ; PWR5-NEXT: vand 2, 2, 5
5782 ; PWR5-NEXT: vspltisw 5, -16
5783 ; PWR5-NEXT: vrlw 0, 4, 5
5784 ; PWR5-NEXT: vmulouh 4, 2, 4
5785 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5786 ; PWR5-NEXT: vspltisw 3, 12
5787 ; PWR5-NEXT: vadduwm 3, 3, 3
5788 ; PWR5-NEXT: vslw 2, 2, 5
5789 ; PWR5-NEXT: vadduwm 2, 4, 2
5790 ; PWR5-NEXT: vsrw 2, 2, 3
5791 ; PWR5-NEXT: vspltisw 3, 8
5792 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
5793 ; PWR5-NEXT: blr
5797 ; PWR6-NEXT: addis 3, 2, .LCPI54_0@toc@ha
5798 ; PWR6-NEXT: vspltisw 4, 1
5799 ; PWR6-NEXT: vxor 3, 3, 3
5800 ; PWR6-NEXT: addi 3, 3, .LCPI54_0@toc@l
5801 ; PWR6-NEXT: lvx 5, 0, 3
5802 ; PWR6-NEXT: addis 3, 2, .LCPI54_1@toc@ha
5803 ; PWR6-NEXT: addi 3, 3, .LCPI54_1@toc@l
5804 ; PWR6-NEXT: vspltisw 0, 2
5805 ; PWR6-NEXT: vsrw 4, 2, 4
5806 ; PWR6-NEXT: vand 4, 4, 5
5807 ; PWR6-NEXT: lvx 5, 0, 3
5808 ; PWR6-NEXT: vsubuwm 2, 2, 4
5809 ; PWR6-NEXT: vand 4, 2, 5
5810 ; PWR6-NEXT: vsrw 2, 2, 0
5811 ; PWR6-NEXT: vand 2, 2, 5
5812 ; PWR6-NEXT: vspltisw 5, 4
5813 ; PWR6-NEXT: vadduwm 2, 4, 2
5814 ; PWR6-NEXT: vsrw 4, 2, 5
5815 ; PWR6-NEXT: vspltisb 5, 15
5816 ; PWR6-NEXT: vadduwm 2, 2, 4
5817 ; PWR6-NEXT: vspltisb 4, 1
5818 ; PWR6-NEXT: vand 2, 2, 5
5819 ; PWR6-NEXT: vspltisw 5, -16
5820 ; PWR6-NEXT: vrlw 0, 4, 5
5821 ; PWR6-NEXT: vmulouh 4, 2, 4
5822 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5823 ; PWR6-NEXT: vspltisw 3, 12
5824 ; PWR6-NEXT: vadduwm 3, 3, 3
5825 ; PWR6-NEXT: vslw 2, 2, 5
5826 ; PWR6-NEXT: vadduwm 2, 4, 2
5827 ; PWR6-NEXT: vsrw 2, 2, 3
5828 ; PWR6-NEXT: vspltisw 3, 8
5829 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
5830 ; PWR6-NEXT: blr
5834 ; PWR7-NEXT: vspltisw 3, 1
5835 ; PWR7-NEXT: addis 3, 2, .LCPI54_0@toc@ha
5836 ; PWR7-NEXT: addi 3, 3, .LCPI54_0@toc@l
5837 ; PWR7-NEXT: vspltisw 4, 2
5838 ; PWR7-NEXT: lxvw4x 0, 0, 3
5839 ; PWR7-NEXT: addis 3, 2, .LCPI54_1@toc@ha
5840 ; PWR7-NEXT: vspltisw 5, -16
5841 ; PWR7-NEXT: vsrw 3, 2, 3
5842 ; PWR7-NEXT: addi 3, 3, .LCPI54_1@toc@l
5843 ; PWR7-NEXT: vspltisb 0, 15
5844 ; PWR7-NEXT: xxland 35, 35, 0
5845 ; PWR7-NEXT: lxvw4x 0, 0, 3
5846 ; PWR7-NEXT: vsubuwm 2, 2, 3
5847 ; PWR7-NEXT: vsrw 3, 2, 4
5848 ; PWR7-NEXT: xxland 34, 34, 0
5849 ; PWR7-NEXT: vspltisw 4, 4
5850 ; PWR7-NEXT: xxland 35, 35, 0
5851 ; PWR7-NEXT: vadduwm 2, 2, 3
5852 ; PWR7-NEXT: vsrw 3, 2, 4
5853 ; PWR7-NEXT: vspltisb 4, 1
5854 ; PWR7-NEXT: vrlw 1, 4, 5
5855 ; PWR7-NEXT: vadduwm 2, 2, 3
5856 ; PWR7-NEXT: xxlxor 35, 35, 35
5857 ; PWR7-NEXT: xxland 34, 34, 32
5858 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5859 ; PWR7-NEXT: vmulouh 2, 2, 4
5860 ; PWR7-NEXT: vspltisw 4, 12
5861 ; PWR7-NEXT: vslw 3, 3, 5
5862 ; PWR7-NEXT: vadduwm 2, 2, 3
5863 ; PWR7-NEXT: vadduwm 3, 4, 4
5864 ; PWR7-NEXT: vsrw 2, 2, 3
5865 ; PWR7-NEXT: vspltisw 3, 8
5866 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
5867 ; PWR7-NEXT: blr
5871 ; PWR8-NEXT: vspltisw 3, 8
5872 ; PWR8-NEXT: vpopcntw 2, 2
5873 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
5874 ; PWR8-NEXT: blr
5878 ; PWR9-NEXT: vpopcntw 2, 2
5879 ; PWR9-NEXT: vspltisw 3, 8
5880 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
5881 ; PWR9-NEXT: blr
5891 ; PWR5-NEXT: addis 3, 2, .LCPI55_0@toc@ha
5892 ; PWR5-NEXT: vspltisw 4, 1
5893 ; PWR5-NEXT: vxor 3, 3, 3
5894 ; PWR5-NEXT: addi 3, 3, .LCPI55_0@toc@l
5895 ; PWR5-NEXT: lvx 5, 0, 3
5896 ; PWR5-NEXT: addis 3, 2, .LCPI55_1@toc@ha
5897 ; PWR5-NEXT: addi 3, 3, .LCPI55_1@toc@l
5898 ; PWR5-NEXT: vspltisw 0, 2
5899 ; PWR5-NEXT: vsrw 4, 2, 4
5900 ; PWR5-NEXT: vand 4, 4, 5
5901 ; PWR5-NEXT: lvx 5, 0, 3
5902 ; PWR5-NEXT: vsubuwm 2, 2, 4
5903 ; PWR5-NEXT: vand 4, 2, 5
5904 ; PWR5-NEXT: vsrw 2, 2, 0
5905 ; PWR5-NEXT: vand 2, 2, 5
5906 ; PWR5-NEXT: vspltisw 5, 4
5907 ; PWR5-NEXT: vadduwm 2, 4, 2
5908 ; PWR5-NEXT: vsrw 4, 2, 5
5909 ; PWR5-NEXT: vspltisb 5, 15
5910 ; PWR5-NEXT: vadduwm 2, 2, 4
5911 ; PWR5-NEXT: vspltisb 4, 1
5912 ; PWR5-NEXT: vand 2, 2, 5
5913 ; PWR5-NEXT: vspltisw 5, -16
5914 ; PWR5-NEXT: vrlw 0, 4, 5
5915 ; PWR5-NEXT: vmulouh 4, 2, 4
5916 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
5917 ; PWR5-NEXT: vspltisw 3, 12
5918 ; PWR5-NEXT: vadduwm 3, 3, 3
5919 ; PWR5-NEXT: vslw 2, 2, 5
5920 ; PWR5-NEXT: vadduwm 2, 4, 2
5921 ; PWR5-NEXT: vsrw 2, 2, 3
5922 ; PWR5-NEXT: vspltisw 3, 9
5923 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
5924 ; PWR5-NEXT: blr
5928 ; PWR6-NEXT: addis 3, 2, .LCPI55_0@toc@ha
5929 ; PWR6-NEXT: vspltisw 4, 1
5930 ; PWR6-NEXT: vxor 3, 3, 3
5931 ; PWR6-NEXT: addi 3, 3, .LCPI55_0@toc@l
5932 ; PWR6-NEXT: lvx 5, 0, 3
5933 ; PWR6-NEXT: addis 3, 2, .LCPI55_1@toc@ha
5934 ; PWR6-NEXT: addi 3, 3, .LCPI55_1@toc@l
5935 ; PWR6-NEXT: vspltisw 0, 2
5936 ; PWR6-NEXT: vsrw 4, 2, 4
5937 ; PWR6-NEXT: vand 4, 4, 5
5938 ; PWR6-NEXT: lvx 5, 0, 3
5939 ; PWR6-NEXT: vsubuwm 2, 2, 4
5940 ; PWR6-NEXT: vand 4, 2, 5
5941 ; PWR6-NEXT: vsrw 2, 2, 0
5942 ; PWR6-NEXT: vand 2, 2, 5
5943 ; PWR6-NEXT: vspltisw 5, 4
5944 ; PWR6-NEXT: vadduwm 2, 4, 2
5945 ; PWR6-NEXT: vsrw 4, 2, 5
5946 ; PWR6-NEXT: vspltisb 5, 15
5947 ; PWR6-NEXT: vadduwm 2, 2, 4
5948 ; PWR6-NEXT: vspltisb 4, 1
5949 ; PWR6-NEXT: vand 2, 2, 5
5950 ; PWR6-NEXT: vspltisw 5, -16
5951 ; PWR6-NEXT: vrlw 0, 4, 5
5952 ; PWR6-NEXT: vmulouh 4, 2, 4
5953 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
5954 ; PWR6-NEXT: vspltisw 3, 12
5955 ; PWR6-NEXT: vadduwm 3, 3, 3
5956 ; PWR6-NEXT: vslw 2, 2, 5
5957 ; PWR6-NEXT: vadduwm 2, 4, 2
5958 ; PWR6-NEXT: vsrw 2, 2, 3
5959 ; PWR6-NEXT: vspltisw 3, 9
5960 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
5961 ; PWR6-NEXT: blr
5965 ; PWR7-NEXT: vspltisw 3, 1
5966 ; PWR7-NEXT: addis 3, 2, .LCPI55_0@toc@ha
5967 ; PWR7-NEXT: addi 3, 3, .LCPI55_0@toc@l
5968 ; PWR7-NEXT: vspltisw 4, 2
5969 ; PWR7-NEXT: lxvw4x 0, 0, 3
5970 ; PWR7-NEXT: addis 3, 2, .LCPI55_1@toc@ha
5971 ; PWR7-NEXT: vspltisw 5, -16
5972 ; PWR7-NEXT: vsrw 3, 2, 3
5973 ; PWR7-NEXT: addi 3, 3, .LCPI55_1@toc@l
5974 ; PWR7-NEXT: vspltisb 0, 15
5975 ; PWR7-NEXT: xxland 35, 35, 0
5976 ; PWR7-NEXT: lxvw4x 0, 0, 3
5977 ; PWR7-NEXT: vsubuwm 2, 2, 3
5978 ; PWR7-NEXT: vsrw 3, 2, 4
5979 ; PWR7-NEXT: xxland 34, 34, 0
5980 ; PWR7-NEXT: vspltisw 4, 4
5981 ; PWR7-NEXT: xxland 35, 35, 0
5982 ; PWR7-NEXT: vadduwm 2, 2, 3
5983 ; PWR7-NEXT: vsrw 3, 2, 4
5984 ; PWR7-NEXT: vspltisb 4, 1
5985 ; PWR7-NEXT: vrlw 1, 4, 5
5986 ; PWR7-NEXT: vadduwm 2, 2, 3
5987 ; PWR7-NEXT: xxlxor 35, 35, 35
5988 ; PWR7-NEXT: xxland 34, 34, 32
5989 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
5990 ; PWR7-NEXT: vmulouh 2, 2, 4
5991 ; PWR7-NEXT: vspltisw 4, 12
5992 ; PWR7-NEXT: vslw 3, 3, 5
5993 ; PWR7-NEXT: vadduwm 2, 2, 3
5994 ; PWR7-NEXT: vadduwm 3, 4, 4
5995 ; PWR7-NEXT: vsrw 2, 2, 3
5996 ; PWR7-NEXT: vspltisw 3, 9
5997 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
5998 ; PWR7-NEXT: blr
6002 ; PWR8-NEXT: vspltisw 3, 9
6003 ; PWR8-NEXT: vpopcntw 2, 2
6004 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
6005 ; PWR8-NEXT: blr
6009 ; PWR9-NEXT: vpopcntw 2, 2
6010 ; PWR9-NEXT: vspltisw 3, 9
6011 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
6012 ; PWR9-NEXT: blr
6022 ; PWR5-NEXT: addis 3, 2, .LCPI56_0@toc@ha
6023 ; PWR5-NEXT: vspltisw 4, 1
6024 ; PWR5-NEXT: vxor 3, 3, 3
6025 ; PWR5-NEXT: addi 3, 3, .LCPI56_0@toc@l
6026 ; PWR5-NEXT: lvx 5, 0, 3
6027 ; PWR5-NEXT: addis 3, 2, .LCPI56_1@toc@ha
6028 ; PWR5-NEXT: addi 3, 3, .LCPI56_1@toc@l
6029 ; PWR5-NEXT: vspltisw 0, 2
6030 ; PWR5-NEXT: vsrw 4, 2, 4
6031 ; PWR5-NEXT: vand 4, 4, 5
6032 ; PWR5-NEXT: lvx 5, 0, 3
6033 ; PWR5-NEXT: vsubuwm 2, 2, 4
6034 ; PWR5-NEXT: vand 4, 2, 5
6035 ; PWR5-NEXT: vsrw 2, 2, 0
6036 ; PWR5-NEXT: vand 2, 2, 5
6037 ; PWR5-NEXT: vspltisw 5, 4
6038 ; PWR5-NEXT: vadduwm 2, 4, 2
6039 ; PWR5-NEXT: vsrw 4, 2, 5
6040 ; PWR5-NEXT: vspltisb 5, 15
6041 ; PWR5-NEXT: vadduwm 2, 2, 4
6042 ; PWR5-NEXT: vspltisb 4, 1
6043 ; PWR5-NEXT: vand 2, 2, 5
6044 ; PWR5-NEXT: vspltisw 5, -16
6045 ; PWR5-NEXT: vrlw 0, 4, 5
6046 ; PWR5-NEXT: vmulouh 4, 2, 4
6047 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6048 ; PWR5-NEXT: vspltisw 3, 12
6049 ; PWR5-NEXT: vadduwm 3, 3, 3
6050 ; PWR5-NEXT: vslw 2, 2, 5
6051 ; PWR5-NEXT: vadduwm 2, 4, 2
6052 ; PWR5-NEXT: vsrw 2, 2, 3
6053 ; PWR5-NEXT: vspltisw 3, 9
6054 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
6055 ; PWR5-NEXT: blr
6059 ; PWR6-NEXT: addis 3, 2, .LCPI56_0@toc@ha
6060 ; PWR6-NEXT: vspltisw 4, 1
6061 ; PWR6-NEXT: vxor 3, 3, 3
6062 ; PWR6-NEXT: addi 3, 3, .LCPI56_0@toc@l
6063 ; PWR6-NEXT: lvx 5, 0, 3
6064 ; PWR6-NEXT: addis 3, 2, .LCPI56_1@toc@ha
6065 ; PWR6-NEXT: addi 3, 3, .LCPI56_1@toc@l
6066 ; PWR6-NEXT: vspltisw 0, 2
6067 ; PWR6-NEXT: vsrw 4, 2, 4
6068 ; PWR6-NEXT: vand 4, 4, 5
6069 ; PWR6-NEXT: lvx 5, 0, 3
6070 ; PWR6-NEXT: vsubuwm 2, 2, 4
6071 ; PWR6-NEXT: vand 4, 2, 5
6072 ; PWR6-NEXT: vsrw 2, 2, 0
6073 ; PWR6-NEXT: vand 2, 2, 5
6074 ; PWR6-NEXT: vspltisw 5, 4
6075 ; PWR6-NEXT: vadduwm 2, 4, 2
6076 ; PWR6-NEXT: vsrw 4, 2, 5
6077 ; PWR6-NEXT: vspltisb 5, 15
6078 ; PWR6-NEXT: vadduwm 2, 2, 4
6079 ; PWR6-NEXT: vspltisb 4, 1
6080 ; PWR6-NEXT: vand 2, 2, 5
6081 ; PWR6-NEXT: vspltisw 5, -16
6082 ; PWR6-NEXT: vrlw 0, 4, 5
6083 ; PWR6-NEXT: vmulouh 4, 2, 4
6084 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6085 ; PWR6-NEXT: vspltisw 3, 12
6086 ; PWR6-NEXT: vadduwm 3, 3, 3
6087 ; PWR6-NEXT: vslw 2, 2, 5
6088 ; PWR6-NEXT: vadduwm 2, 4, 2
6089 ; PWR6-NEXT: vsrw 2, 2, 3
6090 ; PWR6-NEXT: vspltisw 3, 9
6091 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
6092 ; PWR6-NEXT: blr
6096 ; PWR7-NEXT: vspltisw 3, 1
6097 ; PWR7-NEXT: addis 3, 2, .LCPI56_0@toc@ha
6098 ; PWR7-NEXT: addi 3, 3, .LCPI56_0@toc@l
6099 ; PWR7-NEXT: vspltisw 4, 2
6100 ; PWR7-NEXT: lxvw4x 0, 0, 3
6101 ; PWR7-NEXT: addis 3, 2, .LCPI56_1@toc@ha
6102 ; PWR7-NEXT: vspltisw 5, -16
6103 ; PWR7-NEXT: vsrw 3, 2, 3
6104 ; PWR7-NEXT: addi 3, 3, .LCPI56_1@toc@l
6105 ; PWR7-NEXT: vspltisb 0, 15
6106 ; PWR7-NEXT: xxland 35, 35, 0
6107 ; PWR7-NEXT: lxvw4x 0, 0, 3
6108 ; PWR7-NEXT: vsubuwm 2, 2, 3
6109 ; PWR7-NEXT: vsrw 3, 2, 4
6110 ; PWR7-NEXT: xxland 34, 34, 0
6111 ; PWR7-NEXT: vspltisw 4, 4
6112 ; PWR7-NEXT: xxland 35, 35, 0
6113 ; PWR7-NEXT: vadduwm 2, 2, 3
6114 ; PWR7-NEXT: vsrw 3, 2, 4
6115 ; PWR7-NEXT: vspltisb 4, 1
6116 ; PWR7-NEXT: vrlw 1, 4, 5
6117 ; PWR7-NEXT: vadduwm 2, 2, 3
6118 ; PWR7-NEXT: xxlxor 35, 35, 35
6119 ; PWR7-NEXT: xxland 34, 34, 32
6120 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6121 ; PWR7-NEXT: vmulouh 2, 2, 4
6122 ; PWR7-NEXT: vspltisw 4, 12
6123 ; PWR7-NEXT: vslw 3, 3, 5
6124 ; PWR7-NEXT: vadduwm 2, 2, 3
6125 ; PWR7-NEXT: vadduwm 3, 4, 4
6126 ; PWR7-NEXT: vsrw 2, 2, 3
6127 ; PWR7-NEXT: vspltisw 3, 9
6128 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
6129 ; PWR7-NEXT: blr
6133 ; PWR8-NEXT: vspltisw 3, 9
6134 ; PWR8-NEXT: vpopcntw 2, 2
6135 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
6136 ; PWR8-NEXT: blr
6140 ; PWR9-NEXT: vpopcntw 2, 2
6141 ; PWR9-NEXT: vspltisw 3, 9
6142 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
6143 ; PWR9-NEXT: blr
6153 ; PWR5-NEXT: addis 3, 2, .LCPI57_0@toc@ha
6154 ; PWR5-NEXT: vspltisw 4, 1
6155 ; PWR5-NEXT: vxor 3, 3, 3
6156 ; PWR5-NEXT: addi 3, 3, .LCPI57_0@toc@l
6157 ; PWR5-NEXT: lvx 5, 0, 3
6158 ; PWR5-NEXT: addis 3, 2, .LCPI57_1@toc@ha
6159 ; PWR5-NEXT: addi 3, 3, .LCPI57_1@toc@l
6160 ; PWR5-NEXT: vspltisw 0, 2
6161 ; PWR5-NEXT: vsrw 4, 2, 4
6162 ; PWR5-NEXT: vand 4, 4, 5
6163 ; PWR5-NEXT: lvx 5, 0, 3
6164 ; PWR5-NEXT: vsubuwm 2, 2, 4
6165 ; PWR5-NEXT: vand 4, 2, 5
6166 ; PWR5-NEXT: vsrw 2, 2, 0
6167 ; PWR5-NEXT: vand 2, 2, 5
6168 ; PWR5-NEXT: vspltisw 5, 4
6169 ; PWR5-NEXT: vadduwm 2, 4, 2
6170 ; PWR5-NEXT: vsrw 4, 2, 5
6171 ; PWR5-NEXT: vspltisb 5, 15
6172 ; PWR5-NEXT: vadduwm 2, 2, 4
6173 ; PWR5-NEXT: vspltisb 4, 1
6174 ; PWR5-NEXT: vand 2, 2, 5
6175 ; PWR5-NEXT: vspltisw 5, -16
6176 ; PWR5-NEXT: vrlw 0, 4, 5
6177 ; PWR5-NEXT: vmulouh 4, 2, 4
6178 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6179 ; PWR5-NEXT: vspltisw 3, 12
6180 ; PWR5-NEXT: vadduwm 3, 3, 3
6181 ; PWR5-NEXT: vslw 2, 2, 5
6182 ; PWR5-NEXT: vadduwm 2, 4, 2
6183 ; PWR5-NEXT: vsrw 2, 2, 3
6184 ; PWR5-NEXT: vspltisw 3, 10
6185 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
6186 ; PWR5-NEXT: blr
6190 ; PWR6-NEXT: addis 3, 2, .LCPI57_0@toc@ha
6191 ; PWR6-NEXT: vspltisw 4, 1
6192 ; PWR6-NEXT: vxor 3, 3, 3
6193 ; PWR6-NEXT: addi 3, 3, .LCPI57_0@toc@l
6194 ; PWR6-NEXT: lvx 5, 0, 3
6195 ; PWR6-NEXT: addis 3, 2, .LCPI57_1@toc@ha
6196 ; PWR6-NEXT: addi 3, 3, .LCPI57_1@toc@l
6197 ; PWR6-NEXT: vspltisw 0, 2
6198 ; PWR6-NEXT: vsrw 4, 2, 4
6199 ; PWR6-NEXT: vand 4, 4, 5
6200 ; PWR6-NEXT: lvx 5, 0, 3
6201 ; PWR6-NEXT: vsubuwm 2, 2, 4
6202 ; PWR6-NEXT: vand 4, 2, 5
6203 ; PWR6-NEXT: vsrw 2, 2, 0
6204 ; PWR6-NEXT: vand 2, 2, 5
6205 ; PWR6-NEXT: vspltisw 5, 4
6206 ; PWR6-NEXT: vadduwm 2, 4, 2
6207 ; PWR6-NEXT: vsrw 4, 2, 5
6208 ; PWR6-NEXT: vspltisb 5, 15
6209 ; PWR6-NEXT: vadduwm 2, 2, 4
6210 ; PWR6-NEXT: vspltisb 4, 1
6211 ; PWR6-NEXT: vand 2, 2, 5
6212 ; PWR6-NEXT: vspltisw 5, -16
6213 ; PWR6-NEXT: vrlw 0, 4, 5
6214 ; PWR6-NEXT: vmulouh 4, 2, 4
6215 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6216 ; PWR6-NEXT: vspltisw 3, 12
6217 ; PWR6-NEXT: vadduwm 3, 3, 3
6218 ; PWR6-NEXT: vslw 2, 2, 5
6219 ; PWR6-NEXT: vadduwm 2, 4, 2
6220 ; PWR6-NEXT: vsrw 2, 2, 3
6221 ; PWR6-NEXT: vspltisw 3, 10
6222 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
6223 ; PWR6-NEXT: blr
6227 ; PWR7-NEXT: vspltisw 3, 1
6228 ; PWR7-NEXT: addis 3, 2, .LCPI57_0@toc@ha
6229 ; PWR7-NEXT: addi 3, 3, .LCPI57_0@toc@l
6230 ; PWR7-NEXT: vspltisw 4, 2
6231 ; PWR7-NEXT: lxvw4x 0, 0, 3
6232 ; PWR7-NEXT: addis 3, 2, .LCPI57_1@toc@ha
6233 ; PWR7-NEXT: vspltisw 5, -16
6234 ; PWR7-NEXT: vsrw 3, 2, 3
6235 ; PWR7-NEXT: addi 3, 3, .LCPI57_1@toc@l
6236 ; PWR7-NEXT: vspltisb 0, 15
6237 ; PWR7-NEXT: xxland 35, 35, 0
6238 ; PWR7-NEXT: lxvw4x 0, 0, 3
6239 ; PWR7-NEXT: vsubuwm 2, 2, 3
6240 ; PWR7-NEXT: vsrw 3, 2, 4
6241 ; PWR7-NEXT: xxland 34, 34, 0
6242 ; PWR7-NEXT: vspltisw 4, 4
6243 ; PWR7-NEXT: xxland 35, 35, 0
6244 ; PWR7-NEXT: vadduwm 2, 2, 3
6245 ; PWR7-NEXT: vsrw 3, 2, 4
6246 ; PWR7-NEXT: vspltisb 4, 1
6247 ; PWR7-NEXT: vrlw 1, 4, 5
6248 ; PWR7-NEXT: vadduwm 2, 2, 3
6249 ; PWR7-NEXT: xxlxor 35, 35, 35
6250 ; PWR7-NEXT: xxland 34, 34, 32
6251 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6252 ; PWR7-NEXT: vmulouh 2, 2, 4
6253 ; PWR7-NEXT: vspltisw 4, 12
6254 ; PWR7-NEXT: vslw 3, 3, 5
6255 ; PWR7-NEXT: vadduwm 2, 2, 3
6256 ; PWR7-NEXT: vadduwm 3, 4, 4
6257 ; PWR7-NEXT: vsrw 2, 2, 3
6258 ; PWR7-NEXT: vspltisw 3, 10
6259 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
6260 ; PWR7-NEXT: blr
6264 ; PWR8-NEXT: vspltisw 3, 10
6265 ; PWR8-NEXT: vpopcntw 2, 2
6266 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
6267 ; PWR8-NEXT: blr
6271 ; PWR9-NEXT: vpopcntw 2, 2
6272 ; PWR9-NEXT: vspltisw 3, 10
6273 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
6274 ; PWR9-NEXT: blr
6284 ; PWR5-NEXT: addis 3, 2, .LCPI58_0@toc@ha
6285 ; PWR5-NEXT: vspltisw 4, 1
6286 ; PWR5-NEXT: vxor 3, 3, 3
6287 ; PWR5-NEXT: addi 3, 3, .LCPI58_0@toc@l
6288 ; PWR5-NEXT: lvx 5, 0, 3
6289 ; PWR5-NEXT: addis 3, 2, .LCPI58_1@toc@ha
6290 ; PWR5-NEXT: addi 3, 3, .LCPI58_1@toc@l
6291 ; PWR5-NEXT: vspltisw 0, 2
6292 ; PWR5-NEXT: vsrw 4, 2, 4
6293 ; PWR5-NEXT: vand 4, 4, 5
6294 ; PWR5-NEXT: lvx 5, 0, 3
6295 ; PWR5-NEXT: vsubuwm 2, 2, 4
6296 ; PWR5-NEXT: vand 4, 2, 5
6297 ; PWR5-NEXT: vsrw 2, 2, 0
6298 ; PWR5-NEXT: vand 2, 2, 5
6299 ; PWR5-NEXT: vspltisw 5, 4
6300 ; PWR5-NEXT: vadduwm 2, 4, 2
6301 ; PWR5-NEXT: vsrw 4, 2, 5
6302 ; PWR5-NEXT: vspltisb 5, 15
6303 ; PWR5-NEXT: vadduwm 2, 2, 4
6304 ; PWR5-NEXT: vspltisb 4, 1
6305 ; PWR5-NEXT: vand 2, 2, 5
6306 ; PWR5-NEXT: vspltisw 5, -16
6307 ; PWR5-NEXT: vrlw 0, 4, 5
6308 ; PWR5-NEXT: vmulouh 4, 2, 4
6309 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6310 ; PWR5-NEXT: vspltisw 3, 12
6311 ; PWR5-NEXT: vadduwm 3, 3, 3
6312 ; PWR5-NEXT: vslw 2, 2, 5
6313 ; PWR5-NEXT: vadduwm 2, 4, 2
6314 ; PWR5-NEXT: vsrw 2, 2, 3
6315 ; PWR5-NEXT: vspltisw 3, 10
6316 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
6317 ; PWR5-NEXT: blr
6321 ; PWR6-NEXT: addis 3, 2, .LCPI58_0@toc@ha
6322 ; PWR6-NEXT: vspltisw 4, 1
6323 ; PWR6-NEXT: vxor 3, 3, 3
6324 ; PWR6-NEXT: addi 3, 3, .LCPI58_0@toc@l
6325 ; PWR6-NEXT: lvx 5, 0, 3
6326 ; PWR6-NEXT: addis 3, 2, .LCPI58_1@toc@ha
6327 ; PWR6-NEXT: addi 3, 3, .LCPI58_1@toc@l
6328 ; PWR6-NEXT: vspltisw 0, 2
6329 ; PWR6-NEXT: vsrw 4, 2, 4
6330 ; PWR6-NEXT: vand 4, 4, 5
6331 ; PWR6-NEXT: lvx 5, 0, 3
6332 ; PWR6-NEXT: vsubuwm 2, 2, 4
6333 ; PWR6-NEXT: vand 4, 2, 5
6334 ; PWR6-NEXT: vsrw 2, 2, 0
6335 ; PWR6-NEXT: vand 2, 2, 5
6336 ; PWR6-NEXT: vspltisw 5, 4
6337 ; PWR6-NEXT: vadduwm 2, 4, 2
6338 ; PWR6-NEXT: vsrw 4, 2, 5
6339 ; PWR6-NEXT: vspltisb 5, 15
6340 ; PWR6-NEXT: vadduwm 2, 2, 4
6341 ; PWR6-NEXT: vspltisb 4, 1
6342 ; PWR6-NEXT: vand 2, 2, 5
6343 ; PWR6-NEXT: vspltisw 5, -16
6344 ; PWR6-NEXT: vrlw 0, 4, 5
6345 ; PWR6-NEXT: vmulouh 4, 2, 4
6346 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6347 ; PWR6-NEXT: vspltisw 3, 12
6348 ; PWR6-NEXT: vadduwm 3, 3, 3
6349 ; PWR6-NEXT: vslw 2, 2, 5
6350 ; PWR6-NEXT: vadduwm 2, 4, 2
6351 ; PWR6-NEXT: vsrw 2, 2, 3
6352 ; PWR6-NEXT: vspltisw 3, 10
6353 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
6354 ; PWR6-NEXT: blr
6358 ; PWR7-NEXT: vspltisw 3, 1
6359 ; PWR7-NEXT: addis 3, 2, .LCPI58_0@toc@ha
6360 ; PWR7-NEXT: addi 3, 3, .LCPI58_0@toc@l
6361 ; PWR7-NEXT: vspltisw 4, 2
6362 ; PWR7-NEXT: lxvw4x 0, 0, 3
6363 ; PWR7-NEXT: addis 3, 2, .LCPI58_1@toc@ha
6364 ; PWR7-NEXT: vspltisw 5, -16
6365 ; PWR7-NEXT: vsrw 3, 2, 3
6366 ; PWR7-NEXT: addi 3, 3, .LCPI58_1@toc@l
6367 ; PWR7-NEXT: vspltisb 0, 15
6368 ; PWR7-NEXT: xxland 35, 35, 0
6369 ; PWR7-NEXT: lxvw4x 0, 0, 3
6370 ; PWR7-NEXT: vsubuwm 2, 2, 3
6371 ; PWR7-NEXT: vsrw 3, 2, 4
6372 ; PWR7-NEXT: xxland 34, 34, 0
6373 ; PWR7-NEXT: vspltisw 4, 4
6374 ; PWR7-NEXT: xxland 35, 35, 0
6375 ; PWR7-NEXT: vadduwm 2, 2, 3
6376 ; PWR7-NEXT: vsrw 3, 2, 4
6377 ; PWR7-NEXT: vspltisb 4, 1
6378 ; PWR7-NEXT: vrlw 1, 4, 5
6379 ; PWR7-NEXT: vadduwm 2, 2, 3
6380 ; PWR7-NEXT: xxlxor 35, 35, 35
6381 ; PWR7-NEXT: xxland 34, 34, 32
6382 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6383 ; PWR7-NEXT: vmulouh 2, 2, 4
6384 ; PWR7-NEXT: vspltisw 4, 12
6385 ; PWR7-NEXT: vslw 3, 3, 5
6386 ; PWR7-NEXT: vadduwm 2, 2, 3
6387 ; PWR7-NEXT: vadduwm 3, 4, 4
6388 ; PWR7-NEXT: vsrw 2, 2, 3
6389 ; PWR7-NEXT: vspltisw 3, 10
6390 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
6391 ; PWR7-NEXT: blr
6395 ; PWR8-NEXT: vspltisw 3, 10
6396 ; PWR8-NEXT: vpopcntw 2, 2
6397 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
6398 ; PWR8-NEXT: blr
6402 ; PWR9-NEXT: vpopcntw 2, 2
6403 ; PWR9-NEXT: vspltisw 3, 10
6404 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
6405 ; PWR9-NEXT: blr
6415 ; PWR5-NEXT: addis 3, 2, .LCPI59_0@toc@ha
6416 ; PWR5-NEXT: vspltisw 4, 1
6417 ; PWR5-NEXT: vxor 3, 3, 3
6418 ; PWR5-NEXT: addi 3, 3, .LCPI59_0@toc@l
6419 ; PWR5-NEXT: lvx 5, 0, 3
6420 ; PWR5-NEXT: addis 3, 2, .LCPI59_1@toc@ha
6421 ; PWR5-NEXT: addi 3, 3, .LCPI59_1@toc@l
6422 ; PWR5-NEXT: vspltisw 0, 2
6423 ; PWR5-NEXT: vsrw 4, 2, 4
6424 ; PWR5-NEXT: vand 4, 4, 5
6425 ; PWR5-NEXT: lvx 5, 0, 3
6426 ; PWR5-NEXT: vsubuwm 2, 2, 4
6427 ; PWR5-NEXT: vand 4, 2, 5
6428 ; PWR5-NEXT: vsrw 2, 2, 0
6429 ; PWR5-NEXT: vand 2, 2, 5
6430 ; PWR5-NEXT: vspltisw 5, 4
6431 ; PWR5-NEXT: vadduwm 2, 4, 2
6432 ; PWR5-NEXT: vsrw 4, 2, 5
6433 ; PWR5-NEXT: vspltisb 5, 15
6434 ; PWR5-NEXT: vadduwm 2, 2, 4
6435 ; PWR5-NEXT: vspltisb 4, 1
6436 ; PWR5-NEXT: vand 2, 2, 5
6437 ; PWR5-NEXT: vspltisw 5, -16
6438 ; PWR5-NEXT: vrlw 0, 4, 5
6439 ; PWR5-NEXT: vmulouh 4, 2, 4
6440 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6441 ; PWR5-NEXT: vspltisw 3, 12
6442 ; PWR5-NEXT: vadduwm 3, 3, 3
6443 ; PWR5-NEXT: vslw 2, 2, 5
6444 ; PWR5-NEXT: vadduwm 2, 4, 2
6445 ; PWR5-NEXT: vsrw 2, 2, 3
6446 ; PWR5-NEXT: vspltisw 3, 11
6447 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
6448 ; PWR5-NEXT: blr
6452 ; PWR6-NEXT: addis 3, 2, .LCPI59_0@toc@ha
6453 ; PWR6-NEXT: vspltisw 4, 1
6454 ; PWR6-NEXT: vxor 3, 3, 3
6455 ; PWR6-NEXT: addi 3, 3, .LCPI59_0@toc@l
6456 ; PWR6-NEXT: lvx 5, 0, 3
6457 ; PWR6-NEXT: addis 3, 2, .LCPI59_1@toc@ha
6458 ; PWR6-NEXT: addi 3, 3, .LCPI59_1@toc@l
6459 ; PWR6-NEXT: vspltisw 0, 2
6460 ; PWR6-NEXT: vsrw 4, 2, 4
6461 ; PWR6-NEXT: vand 4, 4, 5
6462 ; PWR6-NEXT: lvx 5, 0, 3
6463 ; PWR6-NEXT: vsubuwm 2, 2, 4
6464 ; PWR6-NEXT: vand 4, 2, 5
6465 ; PWR6-NEXT: vsrw 2, 2, 0
6466 ; PWR6-NEXT: vand 2, 2, 5
6467 ; PWR6-NEXT: vspltisw 5, 4
6468 ; PWR6-NEXT: vadduwm 2, 4, 2
6469 ; PWR6-NEXT: vsrw 4, 2, 5
6470 ; PWR6-NEXT: vspltisb 5, 15
6471 ; PWR6-NEXT: vadduwm 2, 2, 4
6472 ; PWR6-NEXT: vspltisb 4, 1
6473 ; PWR6-NEXT: vand 2, 2, 5
6474 ; PWR6-NEXT: vspltisw 5, -16
6475 ; PWR6-NEXT: vrlw 0, 4, 5
6476 ; PWR6-NEXT: vmulouh 4, 2, 4
6477 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6478 ; PWR6-NEXT: vspltisw 3, 12
6479 ; PWR6-NEXT: vadduwm 3, 3, 3
6480 ; PWR6-NEXT: vslw 2, 2, 5
6481 ; PWR6-NEXT: vadduwm 2, 4, 2
6482 ; PWR6-NEXT: vsrw 2, 2, 3
6483 ; PWR6-NEXT: vspltisw 3, 11
6484 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
6485 ; PWR6-NEXT: blr
6489 ; PWR7-NEXT: vspltisw 3, 1
6490 ; PWR7-NEXT: addis 3, 2, .LCPI59_0@toc@ha
6491 ; PWR7-NEXT: addi 3, 3, .LCPI59_0@toc@l
6492 ; PWR7-NEXT: vspltisw 4, 2
6493 ; PWR7-NEXT: lxvw4x 0, 0, 3
6494 ; PWR7-NEXT: addis 3, 2, .LCPI59_1@toc@ha
6495 ; PWR7-NEXT: vspltisw 5, -16
6496 ; PWR7-NEXT: vsrw 3, 2, 3
6497 ; PWR7-NEXT: addi 3, 3, .LCPI59_1@toc@l
6498 ; PWR7-NEXT: vspltisb 0, 15
6499 ; PWR7-NEXT: xxland 35, 35, 0
6500 ; PWR7-NEXT: lxvw4x 0, 0, 3
6501 ; PWR7-NEXT: vsubuwm 2, 2, 3
6502 ; PWR7-NEXT: vsrw 3, 2, 4
6503 ; PWR7-NEXT: xxland 34, 34, 0
6504 ; PWR7-NEXT: vspltisw 4, 4
6505 ; PWR7-NEXT: xxland 35, 35, 0
6506 ; PWR7-NEXT: vadduwm 2, 2, 3
6507 ; PWR7-NEXT: vsrw 3, 2, 4
6508 ; PWR7-NEXT: vspltisb 4, 1
6509 ; PWR7-NEXT: vrlw 1, 4, 5
6510 ; PWR7-NEXT: vadduwm 2, 2, 3
6511 ; PWR7-NEXT: xxlxor 35, 35, 35
6512 ; PWR7-NEXT: xxland 34, 34, 32
6513 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6514 ; PWR7-NEXT: vmulouh 2, 2, 4
6515 ; PWR7-NEXT: vspltisw 4, 12
6516 ; PWR7-NEXT: vslw 3, 3, 5
6517 ; PWR7-NEXT: vadduwm 2, 2, 3
6518 ; PWR7-NEXT: vadduwm 3, 4, 4
6519 ; PWR7-NEXT: vsrw 2, 2, 3
6520 ; PWR7-NEXT: vspltisw 3, 11
6521 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
6522 ; PWR7-NEXT: blr
6526 ; PWR8-NEXT: vspltisw 3, 11
6527 ; PWR8-NEXT: vpopcntw 2, 2
6528 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
6529 ; PWR8-NEXT: blr
6533 ; PWR9-NEXT: vpopcntw 2, 2
6534 ; PWR9-NEXT: vspltisw 3, 11
6535 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
6536 ; PWR9-NEXT: blr
6546 ; PWR5-NEXT: addis 3, 2, .LCPI60_0@toc@ha
6547 ; PWR5-NEXT: vspltisw 4, 1
6548 ; PWR5-NEXT: vxor 3, 3, 3
6549 ; PWR5-NEXT: addi 3, 3, .LCPI60_0@toc@l
6550 ; PWR5-NEXT: lvx 5, 0, 3
6551 ; PWR5-NEXT: addis 3, 2, .LCPI60_1@toc@ha
6552 ; PWR5-NEXT: addi 3, 3, .LCPI60_1@toc@l
6553 ; PWR5-NEXT: vspltisw 0, 2
6554 ; PWR5-NEXT: vsrw 4, 2, 4
6555 ; PWR5-NEXT: vand 4, 4, 5
6556 ; PWR5-NEXT: lvx 5, 0, 3
6557 ; PWR5-NEXT: vsubuwm 2, 2, 4
6558 ; PWR5-NEXT: vand 4, 2, 5
6559 ; PWR5-NEXT: vsrw 2, 2, 0
6560 ; PWR5-NEXT: vand 2, 2, 5
6561 ; PWR5-NEXT: vspltisw 5, 4
6562 ; PWR5-NEXT: vadduwm 2, 4, 2
6563 ; PWR5-NEXT: vsrw 4, 2, 5
6564 ; PWR5-NEXT: vspltisb 5, 15
6565 ; PWR5-NEXT: vadduwm 2, 2, 4
6566 ; PWR5-NEXT: vspltisb 4, 1
6567 ; PWR5-NEXT: vand 2, 2, 5
6568 ; PWR5-NEXT: vspltisw 5, -16
6569 ; PWR5-NEXT: vrlw 0, 4, 5
6570 ; PWR5-NEXT: vmulouh 4, 2, 4
6571 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6572 ; PWR5-NEXT: vspltisw 3, 12
6573 ; PWR5-NEXT: vadduwm 3, 3, 3
6574 ; PWR5-NEXT: vslw 2, 2, 5
6575 ; PWR5-NEXT: vadduwm 2, 4, 2
6576 ; PWR5-NEXT: vsrw 2, 2, 3
6577 ; PWR5-NEXT: vspltisw 3, 11
6578 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
6579 ; PWR5-NEXT: blr
6583 ; PWR6-NEXT: addis 3, 2, .LCPI60_0@toc@ha
6584 ; PWR6-NEXT: vspltisw 4, 1
6585 ; PWR6-NEXT: vxor 3, 3, 3
6586 ; PWR6-NEXT: addi 3, 3, .LCPI60_0@toc@l
6587 ; PWR6-NEXT: lvx 5, 0, 3
6588 ; PWR6-NEXT: addis 3, 2, .LCPI60_1@toc@ha
6589 ; PWR6-NEXT: addi 3, 3, .LCPI60_1@toc@l
6590 ; PWR6-NEXT: vspltisw 0, 2
6591 ; PWR6-NEXT: vsrw 4, 2, 4
6592 ; PWR6-NEXT: vand 4, 4, 5
6593 ; PWR6-NEXT: lvx 5, 0, 3
6594 ; PWR6-NEXT: vsubuwm 2, 2, 4
6595 ; PWR6-NEXT: vand 4, 2, 5
6596 ; PWR6-NEXT: vsrw 2, 2, 0
6597 ; PWR6-NEXT: vand 2, 2, 5
6598 ; PWR6-NEXT: vspltisw 5, 4
6599 ; PWR6-NEXT: vadduwm 2, 4, 2
6600 ; PWR6-NEXT: vsrw 4, 2, 5
6601 ; PWR6-NEXT: vspltisb 5, 15
6602 ; PWR6-NEXT: vadduwm 2, 2, 4
6603 ; PWR6-NEXT: vspltisb 4, 1
6604 ; PWR6-NEXT: vand 2, 2, 5
6605 ; PWR6-NEXT: vspltisw 5, -16
6606 ; PWR6-NEXT: vrlw 0, 4, 5
6607 ; PWR6-NEXT: vmulouh 4, 2, 4
6608 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6609 ; PWR6-NEXT: vspltisw 3, 12
6610 ; PWR6-NEXT: vadduwm 3, 3, 3
6611 ; PWR6-NEXT: vslw 2, 2, 5
6612 ; PWR6-NEXT: vadduwm 2, 4, 2
6613 ; PWR6-NEXT: vsrw 2, 2, 3
6614 ; PWR6-NEXT: vspltisw 3, 11
6615 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
6616 ; PWR6-NEXT: blr
6620 ; PWR7-NEXT: vspltisw 3, 1
6621 ; PWR7-NEXT: addis 3, 2, .LCPI60_0@toc@ha
6622 ; PWR7-NEXT: addi 3, 3, .LCPI60_0@toc@l
6623 ; PWR7-NEXT: vspltisw 4, 2
6624 ; PWR7-NEXT: lxvw4x 0, 0, 3
6625 ; PWR7-NEXT: addis 3, 2, .LCPI60_1@toc@ha
6626 ; PWR7-NEXT: vspltisw 5, -16
6627 ; PWR7-NEXT: vsrw 3, 2, 3
6628 ; PWR7-NEXT: addi 3, 3, .LCPI60_1@toc@l
6629 ; PWR7-NEXT: vspltisb 0, 15
6630 ; PWR7-NEXT: xxland 35, 35, 0
6631 ; PWR7-NEXT: lxvw4x 0, 0, 3
6632 ; PWR7-NEXT: vsubuwm 2, 2, 3
6633 ; PWR7-NEXT: vsrw 3, 2, 4
6634 ; PWR7-NEXT: xxland 34, 34, 0
6635 ; PWR7-NEXT: vspltisw 4, 4
6636 ; PWR7-NEXT: xxland 35, 35, 0
6637 ; PWR7-NEXT: vadduwm 2, 2, 3
6638 ; PWR7-NEXT: vsrw 3, 2, 4
6639 ; PWR7-NEXT: vspltisb 4, 1
6640 ; PWR7-NEXT: vrlw 1, 4, 5
6641 ; PWR7-NEXT: vadduwm 2, 2, 3
6642 ; PWR7-NEXT: xxlxor 35, 35, 35
6643 ; PWR7-NEXT: xxland 34, 34, 32
6644 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6645 ; PWR7-NEXT: vmulouh 2, 2, 4
6646 ; PWR7-NEXT: vspltisw 4, 12
6647 ; PWR7-NEXT: vslw 3, 3, 5
6648 ; PWR7-NEXT: vadduwm 2, 2, 3
6649 ; PWR7-NEXT: vadduwm 3, 4, 4
6650 ; PWR7-NEXT: vsrw 2, 2, 3
6651 ; PWR7-NEXT: vspltisw 3, 11
6652 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
6653 ; PWR7-NEXT: blr
6657 ; PWR8-NEXT: vspltisw 3, 11
6658 ; PWR8-NEXT: vpopcntw 2, 2
6659 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
6660 ; PWR8-NEXT: blr
6664 ; PWR9-NEXT: vpopcntw 2, 2
6665 ; PWR9-NEXT: vspltisw 3, 11
6666 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
6667 ; PWR9-NEXT: blr
6677 ; PWR5-NEXT: addis 3, 2, .LCPI61_0@toc@ha
6678 ; PWR5-NEXT: vspltisw 4, 1
6679 ; PWR5-NEXT: vxor 3, 3, 3
6680 ; PWR5-NEXT: addi 3, 3, .LCPI61_0@toc@l
6681 ; PWR5-NEXT: lvx 5, 0, 3
6682 ; PWR5-NEXT: addis 3, 2, .LCPI61_1@toc@ha
6683 ; PWR5-NEXT: addi 3, 3, .LCPI61_1@toc@l
6684 ; PWR5-NEXT: vspltisw 0, 2
6685 ; PWR5-NEXT: vsrw 4, 2, 4
6686 ; PWR5-NEXT: vand 4, 4, 5
6687 ; PWR5-NEXT: lvx 5, 0, 3
6688 ; PWR5-NEXT: vsubuwm 2, 2, 4
6689 ; PWR5-NEXT: vand 4, 2, 5
6690 ; PWR5-NEXT: vsrw 2, 2, 0
6691 ; PWR5-NEXT: vand 2, 2, 5
6692 ; PWR5-NEXT: vspltisw 5, 4
6693 ; PWR5-NEXT: vadduwm 2, 4, 2
6694 ; PWR5-NEXT: vsrw 4, 2, 5
6695 ; PWR5-NEXT: vspltisb 5, 15
6696 ; PWR5-NEXT: vadduwm 2, 2, 4
6697 ; PWR5-NEXT: vspltisb 4, 1
6698 ; PWR5-NEXT: vand 2, 2, 5
6699 ; PWR5-NEXT: vspltisw 5, -16
6700 ; PWR5-NEXT: vrlw 0, 4, 5
6701 ; PWR5-NEXT: vmulouh 4, 2, 4
6702 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6703 ; PWR5-NEXT: vspltisw 3, 12
6704 ; PWR5-NEXT: vslw 2, 2, 5
6705 ; PWR5-NEXT: vadduwm 5, 3, 3
6706 ; PWR5-NEXT: vadduwm 2, 4, 2
6707 ; PWR5-NEXT: vsrw 2, 2, 5
6708 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
6709 ; PWR5-NEXT: blr
6713 ; PWR6-NEXT: addis 3, 2, .LCPI61_0@toc@ha
6714 ; PWR6-NEXT: vspltisw 4, 1
6715 ; PWR6-NEXT: vxor 3, 3, 3
6716 ; PWR6-NEXT: addi 3, 3, .LCPI61_0@toc@l
6717 ; PWR6-NEXT: lvx 5, 0, 3
6718 ; PWR6-NEXT: addis 3, 2, .LCPI61_1@toc@ha
6719 ; PWR6-NEXT: addi 3, 3, .LCPI61_1@toc@l
6720 ; PWR6-NEXT: vspltisw 0, 2
6721 ; PWR6-NEXT: vsrw 4, 2, 4
6722 ; PWR6-NEXT: vand 4, 4, 5
6723 ; PWR6-NEXT: lvx 5, 0, 3
6724 ; PWR6-NEXT: vsubuwm 2, 2, 4
6725 ; PWR6-NEXT: vand 4, 2, 5
6726 ; PWR6-NEXT: vsrw 2, 2, 0
6727 ; PWR6-NEXT: vand 2, 2, 5
6728 ; PWR6-NEXT: vspltisw 5, 4
6729 ; PWR6-NEXT: vadduwm 2, 4, 2
6730 ; PWR6-NEXT: vsrw 4, 2, 5
6731 ; PWR6-NEXT: vspltisb 5, 15
6732 ; PWR6-NEXT: vadduwm 2, 2, 4
6733 ; PWR6-NEXT: vspltisb 4, 1
6734 ; PWR6-NEXT: vand 2, 2, 5
6735 ; PWR6-NEXT: vspltisw 5, -16
6736 ; PWR6-NEXT: vrlw 0, 4, 5
6737 ; PWR6-NEXT: vmulouh 4, 2, 4
6738 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6739 ; PWR6-NEXT: vspltisw 3, 12
6740 ; PWR6-NEXT: vslw 2, 2, 5
6741 ; PWR6-NEXT: vadduwm 5, 3, 3
6742 ; PWR6-NEXT: vadduwm 2, 4, 2
6743 ; PWR6-NEXT: vsrw 2, 2, 5
6744 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
6745 ; PWR6-NEXT: blr
6749 ; PWR7-NEXT: vspltisw 3, 1
6750 ; PWR7-NEXT: addis 3, 2, .LCPI61_0@toc@ha
6751 ; PWR7-NEXT: addi 3, 3, .LCPI61_0@toc@l
6752 ; PWR7-NEXT: vspltisw 4, 2
6753 ; PWR7-NEXT: lxvw4x 0, 0, 3
6754 ; PWR7-NEXT: addis 3, 2, .LCPI61_1@toc@ha
6755 ; PWR7-NEXT: vspltisw 5, -16
6756 ; PWR7-NEXT: vsrw 3, 2, 3
6757 ; PWR7-NEXT: addi 3, 3, .LCPI61_1@toc@l
6758 ; PWR7-NEXT: vspltisb 0, 15
6759 ; PWR7-NEXT: xxland 35, 35, 0
6760 ; PWR7-NEXT: lxvw4x 0, 0, 3
6761 ; PWR7-NEXT: vsubuwm 2, 2, 3
6762 ; PWR7-NEXT: vsrw 3, 2, 4
6763 ; PWR7-NEXT: xxland 34, 34, 0
6764 ; PWR7-NEXT: vspltisw 4, 4
6765 ; PWR7-NEXT: xxland 35, 35, 0
6766 ; PWR7-NEXT: vadduwm 2, 2, 3
6767 ; PWR7-NEXT: vsrw 3, 2, 4
6768 ; PWR7-NEXT: vspltisb 4, 1
6769 ; PWR7-NEXT: vrlw 1, 4, 5
6770 ; PWR7-NEXT: vadduwm 2, 2, 3
6771 ; PWR7-NEXT: xxlxor 35, 35, 35
6772 ; PWR7-NEXT: xxland 34, 34, 32
6773 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6774 ; PWR7-NEXT: vmulouh 2, 2, 4
6775 ; PWR7-NEXT: vspltisw 4, 12
6776 ; PWR7-NEXT: vslw 3, 3, 5
6777 ; PWR7-NEXT: vadduwm 2, 2, 3
6778 ; PWR7-NEXT: vadduwm 3, 4, 4
6779 ; PWR7-NEXT: vsrw 2, 2, 3
6780 ; PWR7-NEXT: vcmpgtuw 2, 4, 2
6781 ; PWR7-NEXT: blr
6785 ; PWR8-NEXT: vspltisw 3, 12
6786 ; PWR8-NEXT: vpopcntw 2, 2
6787 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
6788 ; PWR8-NEXT: blr
6792 ; PWR9-NEXT: vpopcntw 2, 2
6793 ; PWR9-NEXT: vspltisw 3, 12
6794 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
6795 ; PWR9-NEXT: blr
6805 ; PWR5-NEXT: addis 3, 2, .LCPI62_0@toc@ha
6806 ; PWR5-NEXT: vspltisw 4, 1
6807 ; PWR5-NEXT: vxor 3, 3, 3
6808 ; PWR5-NEXT: addi 3, 3, .LCPI62_0@toc@l
6809 ; PWR5-NEXT: lvx 5, 0, 3
6810 ; PWR5-NEXT: addis 3, 2, .LCPI62_1@toc@ha
6811 ; PWR5-NEXT: addi 3, 3, .LCPI62_1@toc@l
6812 ; PWR5-NEXT: vspltisw 0, 2
6813 ; PWR5-NEXT: vsrw 4, 2, 4
6814 ; PWR5-NEXT: vand 4, 4, 5
6815 ; PWR5-NEXT: lvx 5, 0, 3
6816 ; PWR5-NEXT: vsubuwm 2, 2, 4
6817 ; PWR5-NEXT: vand 4, 2, 5
6818 ; PWR5-NEXT: vsrw 2, 2, 0
6819 ; PWR5-NEXT: vand 2, 2, 5
6820 ; PWR5-NEXT: vspltisw 5, 4
6821 ; PWR5-NEXT: vadduwm 2, 4, 2
6822 ; PWR5-NEXT: vsrw 4, 2, 5
6823 ; PWR5-NEXT: vspltisb 5, 15
6824 ; PWR5-NEXT: vadduwm 2, 2, 4
6825 ; PWR5-NEXT: vspltisb 4, 1
6826 ; PWR5-NEXT: vand 2, 2, 5
6827 ; PWR5-NEXT: vspltisw 5, -16
6828 ; PWR5-NEXT: vrlw 0, 4, 5
6829 ; PWR5-NEXT: vmulouh 4, 2, 4
6830 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6831 ; PWR5-NEXT: vspltisw 3, 12
6832 ; PWR5-NEXT: vslw 2, 2, 5
6833 ; PWR5-NEXT: vadduwm 5, 3, 3
6834 ; PWR5-NEXT: vadduwm 2, 4, 2
6835 ; PWR5-NEXT: vsrw 2, 2, 5
6836 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
6837 ; PWR5-NEXT: blr
6841 ; PWR6-NEXT: addis 3, 2, .LCPI62_0@toc@ha
6842 ; PWR6-NEXT: vspltisw 4, 1
6843 ; PWR6-NEXT: vxor 3, 3, 3
6844 ; PWR6-NEXT: addi 3, 3, .LCPI62_0@toc@l
6845 ; PWR6-NEXT: lvx 5, 0, 3
6846 ; PWR6-NEXT: addis 3, 2, .LCPI62_1@toc@ha
6847 ; PWR6-NEXT: addi 3, 3, .LCPI62_1@toc@l
6848 ; PWR6-NEXT: vspltisw 0, 2
6849 ; PWR6-NEXT: vsrw 4, 2, 4
6850 ; PWR6-NEXT: vand 4, 4, 5
6851 ; PWR6-NEXT: lvx 5, 0, 3
6852 ; PWR6-NEXT: vsubuwm 2, 2, 4
6853 ; PWR6-NEXT: vand 4, 2, 5
6854 ; PWR6-NEXT: vsrw 2, 2, 0
6855 ; PWR6-NEXT: vand 2, 2, 5
6856 ; PWR6-NEXT: vspltisw 5, 4
6857 ; PWR6-NEXT: vadduwm 2, 4, 2
6858 ; PWR6-NEXT: vsrw 4, 2, 5
6859 ; PWR6-NEXT: vspltisb 5, 15
6860 ; PWR6-NEXT: vadduwm 2, 2, 4
6861 ; PWR6-NEXT: vspltisb 4, 1
6862 ; PWR6-NEXT: vand 2, 2, 5
6863 ; PWR6-NEXT: vspltisw 5, -16
6864 ; PWR6-NEXT: vrlw 0, 4, 5
6865 ; PWR6-NEXT: vmulouh 4, 2, 4
6866 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6867 ; PWR6-NEXT: vspltisw 3, 12
6868 ; PWR6-NEXT: vslw 2, 2, 5
6869 ; PWR6-NEXT: vadduwm 5, 3, 3
6870 ; PWR6-NEXT: vadduwm 2, 4, 2
6871 ; PWR6-NEXT: vsrw 2, 2, 5
6872 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
6873 ; PWR6-NEXT: blr
6877 ; PWR7-NEXT: vspltisw 3, 1
6878 ; PWR7-NEXT: addis 3, 2, .LCPI62_0@toc@ha
6879 ; PWR7-NEXT: addi 3, 3, .LCPI62_0@toc@l
6880 ; PWR7-NEXT: vspltisw 4, 2
6881 ; PWR7-NEXT: lxvw4x 0, 0, 3
6882 ; PWR7-NEXT: addis 3, 2, .LCPI62_1@toc@ha
6883 ; PWR7-NEXT: vspltisw 5, -16
6884 ; PWR7-NEXT: vsrw 3, 2, 3
6885 ; PWR7-NEXT: addi 3, 3, .LCPI62_1@toc@l
6886 ; PWR7-NEXT: vspltisb 0, 15
6887 ; PWR7-NEXT: xxland 35, 35, 0
6888 ; PWR7-NEXT: lxvw4x 0, 0, 3
6889 ; PWR7-NEXT: vsubuwm 2, 2, 3
6890 ; PWR7-NEXT: vsrw 3, 2, 4
6891 ; PWR7-NEXT: xxland 34, 34, 0
6892 ; PWR7-NEXT: vspltisw 4, 4
6893 ; PWR7-NEXT: xxland 35, 35, 0
6894 ; PWR7-NEXT: vadduwm 2, 2, 3
6895 ; PWR7-NEXT: vsrw 3, 2, 4
6896 ; PWR7-NEXT: vspltisb 4, 1
6897 ; PWR7-NEXT: vrlw 1, 4, 5
6898 ; PWR7-NEXT: vadduwm 2, 2, 3
6899 ; PWR7-NEXT: xxlxor 35, 35, 35
6900 ; PWR7-NEXT: xxland 34, 34, 32
6901 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
6902 ; PWR7-NEXT: vmulouh 2, 2, 4
6903 ; PWR7-NEXT: vspltisw 4, 12
6904 ; PWR7-NEXT: vslw 3, 3, 5
6905 ; PWR7-NEXT: vadduwm 2, 2, 3
6906 ; PWR7-NEXT: vadduwm 3, 4, 4
6907 ; PWR7-NEXT: vsrw 2, 2, 3
6908 ; PWR7-NEXT: vcmpgtuw 2, 2, 4
6909 ; PWR7-NEXT: blr
6913 ; PWR8-NEXT: vspltisw 3, 12
6914 ; PWR8-NEXT: vpopcntw 2, 2
6915 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
6916 ; PWR8-NEXT: blr
6920 ; PWR9-NEXT: vpopcntw 2, 2
6921 ; PWR9-NEXT: vspltisw 3, 12
6922 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
6923 ; PWR9-NEXT: blr
6933 ; PWR5-NEXT: addis 3, 2, .LCPI63_0@toc@ha
6934 ; PWR5-NEXT: vspltisw 4, 1
6935 ; PWR5-NEXT: vxor 3, 3, 3
6936 ; PWR5-NEXT: addi 3, 3, .LCPI63_0@toc@l
6937 ; PWR5-NEXT: lvx 5, 0, 3
6938 ; PWR5-NEXT: addis 3, 2, .LCPI63_1@toc@ha
6939 ; PWR5-NEXT: addi 3, 3, .LCPI63_1@toc@l
6940 ; PWR5-NEXT: vspltisw 0, 2
6941 ; PWR5-NEXT: vsrw 4, 2, 4
6942 ; PWR5-NEXT: vand 4, 4, 5
6943 ; PWR5-NEXT: lvx 5, 0, 3
6944 ; PWR5-NEXT: vsubuwm 2, 2, 4
6945 ; PWR5-NEXT: vand 4, 2, 5
6946 ; PWR5-NEXT: vsrw 2, 2, 0
6947 ; PWR5-NEXT: vand 2, 2, 5
6948 ; PWR5-NEXT: vspltisw 5, 4
6949 ; PWR5-NEXT: vadduwm 2, 4, 2
6950 ; PWR5-NEXT: vsrw 4, 2, 5
6951 ; PWR5-NEXT: vspltisb 5, 15
6952 ; PWR5-NEXT: vadduwm 2, 2, 4
6953 ; PWR5-NEXT: vspltisb 4, 1
6954 ; PWR5-NEXT: vand 2, 2, 5
6955 ; PWR5-NEXT: vspltisw 5, -16
6956 ; PWR5-NEXT: vrlw 0, 4, 5
6957 ; PWR5-NEXT: vmulouh 4, 2, 4
6958 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
6959 ; PWR5-NEXT: vspltisw 3, 12
6960 ; PWR5-NEXT: vadduwm 3, 3, 3
6961 ; PWR5-NEXT: vslw 2, 2, 5
6962 ; PWR5-NEXT: vadduwm 2, 4, 2
6963 ; PWR5-NEXT: vsrw 2, 2, 3
6964 ; PWR5-NEXT: vspltisw 3, 13
6965 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
6966 ; PWR5-NEXT: blr
6970 ; PWR6-NEXT: addis 3, 2, .LCPI63_0@toc@ha
6971 ; PWR6-NEXT: vspltisw 4, 1
6972 ; PWR6-NEXT: vxor 3, 3, 3
6973 ; PWR6-NEXT: addi 3, 3, .LCPI63_0@toc@l
6974 ; PWR6-NEXT: lvx 5, 0, 3
6975 ; PWR6-NEXT: addis 3, 2, .LCPI63_1@toc@ha
6976 ; PWR6-NEXT: addi 3, 3, .LCPI63_1@toc@l
6977 ; PWR6-NEXT: vspltisw 0, 2
6978 ; PWR6-NEXT: vsrw 4, 2, 4
6979 ; PWR6-NEXT: vand 4, 4, 5
6980 ; PWR6-NEXT: lvx 5, 0, 3
6981 ; PWR6-NEXT: vsubuwm 2, 2, 4
6982 ; PWR6-NEXT: vand 4, 2, 5
6983 ; PWR6-NEXT: vsrw 2, 2, 0
6984 ; PWR6-NEXT: vand 2, 2, 5
6985 ; PWR6-NEXT: vspltisw 5, 4
6986 ; PWR6-NEXT: vadduwm 2, 4, 2
6987 ; PWR6-NEXT: vsrw 4, 2, 5
6988 ; PWR6-NEXT: vspltisb 5, 15
6989 ; PWR6-NEXT: vadduwm 2, 2, 4
6990 ; PWR6-NEXT: vspltisb 4, 1
6991 ; PWR6-NEXT: vand 2, 2, 5
6992 ; PWR6-NEXT: vspltisw 5, -16
6993 ; PWR6-NEXT: vrlw 0, 4, 5
6994 ; PWR6-NEXT: vmulouh 4, 2, 4
6995 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
6996 ; PWR6-NEXT: vspltisw 3, 12
6997 ; PWR6-NEXT: vadduwm 3, 3, 3
6998 ; PWR6-NEXT: vslw 2, 2, 5
6999 ; PWR6-NEXT: vadduwm 2, 4, 2
7000 ; PWR6-NEXT: vsrw 2, 2, 3
7001 ; PWR6-NEXT: vspltisw 3, 13
7002 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
7003 ; PWR6-NEXT: blr
7007 ; PWR7-NEXT: vspltisw 3, 1
7008 ; PWR7-NEXT: addis 3, 2, .LCPI63_0@toc@ha
7009 ; PWR7-NEXT: addi 3, 3, .LCPI63_0@toc@l
7010 ; PWR7-NEXT: vspltisw 4, 2
7011 ; PWR7-NEXT: lxvw4x 0, 0, 3
7012 ; PWR7-NEXT: addis 3, 2, .LCPI63_1@toc@ha
7013 ; PWR7-NEXT: vspltisw 5, -16
7014 ; PWR7-NEXT: vsrw 3, 2, 3
7015 ; PWR7-NEXT: addi 3, 3, .LCPI63_1@toc@l
7016 ; PWR7-NEXT: vspltisb 0, 15
7017 ; PWR7-NEXT: xxland 35, 35, 0
7018 ; PWR7-NEXT: lxvw4x 0, 0, 3
7019 ; PWR7-NEXT: vsubuwm 2, 2, 3
7020 ; PWR7-NEXT: vsrw 3, 2, 4
7021 ; PWR7-NEXT: xxland 34, 34, 0
7022 ; PWR7-NEXT: vspltisw 4, 4
7023 ; PWR7-NEXT: xxland 35, 35, 0
7024 ; PWR7-NEXT: vadduwm 2, 2, 3
7025 ; PWR7-NEXT: vsrw 3, 2, 4
7026 ; PWR7-NEXT: vspltisb 4, 1
7027 ; PWR7-NEXT: vrlw 1, 4, 5
7028 ; PWR7-NEXT: vadduwm 2, 2, 3
7029 ; PWR7-NEXT: xxlxor 35, 35, 35
7030 ; PWR7-NEXT: xxland 34, 34, 32
7031 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7032 ; PWR7-NEXT: vmulouh 2, 2, 4
7033 ; PWR7-NEXT: vspltisw 4, 12
7034 ; PWR7-NEXT: vslw 3, 3, 5
7035 ; PWR7-NEXT: vadduwm 2, 2, 3
7036 ; PWR7-NEXT: vadduwm 3, 4, 4
7037 ; PWR7-NEXT: vsrw 2, 2, 3
7038 ; PWR7-NEXT: vspltisw 3, 13
7039 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
7040 ; PWR7-NEXT: blr
7044 ; PWR8-NEXT: vspltisw 3, 13
7045 ; PWR8-NEXT: vpopcntw 2, 2
7046 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
7047 ; PWR8-NEXT: blr
7051 ; PWR9-NEXT: vpopcntw 2, 2
7052 ; PWR9-NEXT: vspltisw 3, 13
7053 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
7054 ; PWR9-NEXT: blr
7064 ; PWR5-NEXT: addis 3, 2, .LCPI64_0@toc@ha
7065 ; PWR5-NEXT: vspltisw 4, 1
7066 ; PWR5-NEXT: vxor 3, 3, 3
7067 ; PWR5-NEXT: addi 3, 3, .LCPI64_0@toc@l
7068 ; PWR5-NEXT: lvx 5, 0, 3
7069 ; PWR5-NEXT: addis 3, 2, .LCPI64_1@toc@ha
7070 ; PWR5-NEXT: addi 3, 3, .LCPI64_1@toc@l
7071 ; PWR5-NEXT: vspltisw 0, 2
7072 ; PWR5-NEXT: vsrw 4, 2, 4
7073 ; PWR5-NEXT: vand 4, 4, 5
7074 ; PWR5-NEXT: lvx 5, 0, 3
7075 ; PWR5-NEXT: vsubuwm 2, 2, 4
7076 ; PWR5-NEXT: vand 4, 2, 5
7077 ; PWR5-NEXT: vsrw 2, 2, 0
7078 ; PWR5-NEXT: vand 2, 2, 5
7079 ; PWR5-NEXT: vspltisw 5, 4
7080 ; PWR5-NEXT: vadduwm 2, 4, 2
7081 ; PWR5-NEXT: vsrw 4, 2, 5
7082 ; PWR5-NEXT: vspltisb 5, 15
7083 ; PWR5-NEXT: vadduwm 2, 2, 4
7084 ; PWR5-NEXT: vspltisb 4, 1
7085 ; PWR5-NEXT: vand 2, 2, 5
7086 ; PWR5-NEXT: vspltisw 5, -16
7087 ; PWR5-NEXT: vrlw 0, 4, 5
7088 ; PWR5-NEXT: vmulouh 4, 2, 4
7089 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7090 ; PWR5-NEXT: vspltisw 3, 12
7091 ; PWR5-NEXT: vadduwm 3, 3, 3
7092 ; PWR5-NEXT: vslw 2, 2, 5
7093 ; PWR5-NEXT: vadduwm 2, 4, 2
7094 ; PWR5-NEXT: vsrw 2, 2, 3
7095 ; PWR5-NEXT: vspltisw 3, 13
7096 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
7097 ; PWR5-NEXT: blr
7101 ; PWR6-NEXT: addis 3, 2, .LCPI64_0@toc@ha
7102 ; PWR6-NEXT: vspltisw 4, 1
7103 ; PWR6-NEXT: vxor 3, 3, 3
7104 ; PWR6-NEXT: addi 3, 3, .LCPI64_0@toc@l
7105 ; PWR6-NEXT: lvx 5, 0, 3
7106 ; PWR6-NEXT: addis 3, 2, .LCPI64_1@toc@ha
7107 ; PWR6-NEXT: addi 3, 3, .LCPI64_1@toc@l
7108 ; PWR6-NEXT: vspltisw 0, 2
7109 ; PWR6-NEXT: vsrw 4, 2, 4
7110 ; PWR6-NEXT: vand 4, 4, 5
7111 ; PWR6-NEXT: lvx 5, 0, 3
7112 ; PWR6-NEXT: vsubuwm 2, 2, 4
7113 ; PWR6-NEXT: vand 4, 2, 5
7114 ; PWR6-NEXT: vsrw 2, 2, 0
7115 ; PWR6-NEXT: vand 2, 2, 5
7116 ; PWR6-NEXT: vspltisw 5, 4
7117 ; PWR6-NEXT: vadduwm 2, 4, 2
7118 ; PWR6-NEXT: vsrw 4, 2, 5
7119 ; PWR6-NEXT: vspltisb 5, 15
7120 ; PWR6-NEXT: vadduwm 2, 2, 4
7121 ; PWR6-NEXT: vspltisb 4, 1
7122 ; PWR6-NEXT: vand 2, 2, 5
7123 ; PWR6-NEXT: vspltisw 5, -16
7124 ; PWR6-NEXT: vrlw 0, 4, 5
7125 ; PWR6-NEXT: vmulouh 4, 2, 4
7126 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7127 ; PWR6-NEXT: vspltisw 3, 12
7128 ; PWR6-NEXT: vadduwm 3, 3, 3
7129 ; PWR6-NEXT: vslw 2, 2, 5
7130 ; PWR6-NEXT: vadduwm 2, 4, 2
7131 ; PWR6-NEXT: vsrw 2, 2, 3
7132 ; PWR6-NEXT: vspltisw 3, 13
7133 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
7134 ; PWR6-NEXT: blr
7138 ; PWR7-NEXT: vspltisw 3, 1
7139 ; PWR7-NEXT: addis 3, 2, .LCPI64_0@toc@ha
7140 ; PWR7-NEXT: addi 3, 3, .LCPI64_0@toc@l
7141 ; PWR7-NEXT: vspltisw 4, 2
7142 ; PWR7-NEXT: lxvw4x 0, 0, 3
7143 ; PWR7-NEXT: addis 3, 2, .LCPI64_1@toc@ha
7144 ; PWR7-NEXT: vspltisw 5, -16
7145 ; PWR7-NEXT: vsrw 3, 2, 3
7146 ; PWR7-NEXT: addi 3, 3, .LCPI64_1@toc@l
7147 ; PWR7-NEXT: vspltisb 0, 15
7148 ; PWR7-NEXT: xxland 35, 35, 0
7149 ; PWR7-NEXT: lxvw4x 0, 0, 3
7150 ; PWR7-NEXT: vsubuwm 2, 2, 3
7151 ; PWR7-NEXT: vsrw 3, 2, 4
7152 ; PWR7-NEXT: xxland 34, 34, 0
7153 ; PWR7-NEXT: vspltisw 4, 4
7154 ; PWR7-NEXT: xxland 35, 35, 0
7155 ; PWR7-NEXT: vadduwm 2, 2, 3
7156 ; PWR7-NEXT: vsrw 3, 2, 4
7157 ; PWR7-NEXT: vspltisb 4, 1
7158 ; PWR7-NEXT: vrlw 1, 4, 5
7159 ; PWR7-NEXT: vadduwm 2, 2, 3
7160 ; PWR7-NEXT: xxlxor 35, 35, 35
7161 ; PWR7-NEXT: xxland 34, 34, 32
7162 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7163 ; PWR7-NEXT: vmulouh 2, 2, 4
7164 ; PWR7-NEXT: vspltisw 4, 12
7165 ; PWR7-NEXT: vslw 3, 3, 5
7166 ; PWR7-NEXT: vadduwm 2, 2, 3
7167 ; PWR7-NEXT: vadduwm 3, 4, 4
7168 ; PWR7-NEXT: vsrw 2, 2, 3
7169 ; PWR7-NEXT: vspltisw 3, 13
7170 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
7171 ; PWR7-NEXT: blr
7175 ; PWR8-NEXT: vspltisw 3, 13
7176 ; PWR8-NEXT: vpopcntw 2, 2
7177 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
7178 ; PWR8-NEXT: blr
7182 ; PWR9-NEXT: vpopcntw 2, 2
7183 ; PWR9-NEXT: vspltisw 3, 13
7184 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
7185 ; PWR9-NEXT: blr
7195 ; PWR5-NEXT: addis 3, 2, .LCPI65_0@toc@ha
7196 ; PWR5-NEXT: vspltisw 4, 1
7197 ; PWR5-NEXT: vxor 3, 3, 3
7198 ; PWR5-NEXT: addi 3, 3, .LCPI65_0@toc@l
7199 ; PWR5-NEXT: lvx 5, 0, 3
7200 ; PWR5-NEXT: addis 3, 2, .LCPI65_1@toc@ha
7201 ; PWR5-NEXT: addi 3, 3, .LCPI65_1@toc@l
7202 ; PWR5-NEXT: vspltisw 0, 2
7203 ; PWR5-NEXT: vsrw 4, 2, 4
7204 ; PWR5-NEXT: vand 4, 4, 5
7205 ; PWR5-NEXT: lvx 5, 0, 3
7206 ; PWR5-NEXT: vsubuwm 2, 2, 4
7207 ; PWR5-NEXT: vand 4, 2, 5
7208 ; PWR5-NEXT: vsrw 2, 2, 0
7209 ; PWR5-NEXT: vand 2, 2, 5
7210 ; PWR5-NEXT: vspltisw 5, 4
7211 ; PWR5-NEXT: vadduwm 2, 4, 2
7212 ; PWR5-NEXT: vsrw 4, 2, 5
7213 ; PWR5-NEXT: vspltisb 5, 15
7214 ; PWR5-NEXT: vadduwm 2, 2, 4
7215 ; PWR5-NEXT: vspltisb 4, 1
7216 ; PWR5-NEXT: vand 2, 2, 5
7217 ; PWR5-NEXT: vspltisw 5, -16
7218 ; PWR5-NEXT: vrlw 0, 4, 5
7219 ; PWR5-NEXT: vmulouh 4, 2, 4
7220 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7221 ; PWR5-NEXT: vspltisw 3, 12
7222 ; PWR5-NEXT: vadduwm 3, 3, 3
7223 ; PWR5-NEXT: vslw 2, 2, 5
7224 ; PWR5-NEXT: vadduwm 2, 4, 2
7225 ; PWR5-NEXT: vsrw 2, 2, 3
7226 ; PWR5-NEXT: vspltisw 3, 14
7227 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
7228 ; PWR5-NEXT: blr
7232 ; PWR6-NEXT: addis 3, 2, .LCPI65_0@toc@ha
7233 ; PWR6-NEXT: vspltisw 4, 1
7234 ; PWR6-NEXT: vxor 3, 3, 3
7235 ; PWR6-NEXT: addi 3, 3, .LCPI65_0@toc@l
7236 ; PWR6-NEXT: lvx 5, 0, 3
7237 ; PWR6-NEXT: addis 3, 2, .LCPI65_1@toc@ha
7238 ; PWR6-NEXT: addi 3, 3, .LCPI65_1@toc@l
7239 ; PWR6-NEXT: vspltisw 0, 2
7240 ; PWR6-NEXT: vsrw 4, 2, 4
7241 ; PWR6-NEXT: vand 4, 4, 5
7242 ; PWR6-NEXT: lvx 5, 0, 3
7243 ; PWR6-NEXT: vsubuwm 2, 2, 4
7244 ; PWR6-NEXT: vand 4, 2, 5
7245 ; PWR6-NEXT: vsrw 2, 2, 0
7246 ; PWR6-NEXT: vand 2, 2, 5
7247 ; PWR6-NEXT: vspltisw 5, 4
7248 ; PWR6-NEXT: vadduwm 2, 4, 2
7249 ; PWR6-NEXT: vsrw 4, 2, 5
7250 ; PWR6-NEXT: vspltisb 5, 15
7251 ; PWR6-NEXT: vadduwm 2, 2, 4
7252 ; PWR6-NEXT: vspltisb 4, 1
7253 ; PWR6-NEXT: vand 2, 2, 5
7254 ; PWR6-NEXT: vspltisw 5, -16
7255 ; PWR6-NEXT: vrlw 0, 4, 5
7256 ; PWR6-NEXT: vmulouh 4, 2, 4
7257 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7258 ; PWR6-NEXT: vspltisw 3, 12
7259 ; PWR6-NEXT: vadduwm 3, 3, 3
7260 ; PWR6-NEXT: vslw 2, 2, 5
7261 ; PWR6-NEXT: vadduwm 2, 4, 2
7262 ; PWR6-NEXT: vsrw 2, 2, 3
7263 ; PWR6-NEXT: vspltisw 3, 14
7264 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
7265 ; PWR6-NEXT: blr
7269 ; PWR7-NEXT: vspltisw 3, 1
7270 ; PWR7-NEXT: addis 3, 2, .LCPI65_0@toc@ha
7271 ; PWR7-NEXT: addi 3, 3, .LCPI65_0@toc@l
7272 ; PWR7-NEXT: vspltisw 4, 2
7273 ; PWR7-NEXT: lxvw4x 0, 0, 3
7274 ; PWR7-NEXT: addis 3, 2, .LCPI65_1@toc@ha
7275 ; PWR7-NEXT: vspltisw 5, -16
7276 ; PWR7-NEXT: vsrw 3, 2, 3
7277 ; PWR7-NEXT: addi 3, 3, .LCPI65_1@toc@l
7278 ; PWR7-NEXT: vspltisb 0, 15
7279 ; PWR7-NEXT: xxland 35, 35, 0
7280 ; PWR7-NEXT: lxvw4x 0, 0, 3
7281 ; PWR7-NEXT: vsubuwm 2, 2, 3
7282 ; PWR7-NEXT: vsrw 3, 2, 4
7283 ; PWR7-NEXT: xxland 34, 34, 0
7284 ; PWR7-NEXT: vspltisw 4, 4
7285 ; PWR7-NEXT: xxland 35, 35, 0
7286 ; PWR7-NEXT: vadduwm 2, 2, 3
7287 ; PWR7-NEXT: vsrw 3, 2, 4
7288 ; PWR7-NEXT: vspltisb 4, 1
7289 ; PWR7-NEXT: vrlw 1, 4, 5
7290 ; PWR7-NEXT: vadduwm 2, 2, 3
7291 ; PWR7-NEXT: xxlxor 35, 35, 35
7292 ; PWR7-NEXT: xxland 34, 34, 32
7293 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7294 ; PWR7-NEXT: vmulouh 2, 2, 4
7295 ; PWR7-NEXT: vspltisw 4, 12
7296 ; PWR7-NEXT: vslw 3, 3, 5
7297 ; PWR7-NEXT: vadduwm 2, 2, 3
7298 ; PWR7-NEXT: vadduwm 3, 4, 4
7299 ; PWR7-NEXT: vsrw 2, 2, 3
7300 ; PWR7-NEXT: vspltisw 3, 14
7301 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
7302 ; PWR7-NEXT: blr
7306 ; PWR8-NEXT: vspltisw 3, 14
7307 ; PWR8-NEXT: vpopcntw 2, 2
7308 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
7309 ; PWR8-NEXT: blr
7313 ; PWR9-NEXT: vpopcntw 2, 2
7314 ; PWR9-NEXT: vspltisw 3, 14
7315 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
7316 ; PWR9-NEXT: blr
7326 ; PWR5-NEXT: addis 3, 2, .LCPI66_0@toc@ha
7327 ; PWR5-NEXT: vspltisw 4, 1
7328 ; PWR5-NEXT: vxor 3, 3, 3
7329 ; PWR5-NEXT: addi 3, 3, .LCPI66_0@toc@l
7330 ; PWR5-NEXT: lvx 5, 0, 3
7331 ; PWR5-NEXT: addis 3, 2, .LCPI66_1@toc@ha
7332 ; PWR5-NEXT: addi 3, 3, .LCPI66_1@toc@l
7333 ; PWR5-NEXT: vspltisw 0, 2
7334 ; PWR5-NEXT: vsrw 4, 2, 4
7335 ; PWR5-NEXT: vand 4, 4, 5
7336 ; PWR5-NEXT: lvx 5, 0, 3
7337 ; PWR5-NEXT: vsubuwm 2, 2, 4
7338 ; PWR5-NEXT: vand 4, 2, 5
7339 ; PWR5-NEXT: vsrw 2, 2, 0
7340 ; PWR5-NEXT: vand 2, 2, 5
7341 ; PWR5-NEXT: vspltisw 5, 4
7342 ; PWR5-NEXT: vadduwm 2, 4, 2
7343 ; PWR5-NEXT: vsrw 4, 2, 5
7344 ; PWR5-NEXT: vspltisb 5, 15
7345 ; PWR5-NEXT: vadduwm 2, 2, 4
7346 ; PWR5-NEXT: vspltisb 4, 1
7347 ; PWR5-NEXT: vand 2, 2, 5
7348 ; PWR5-NEXT: vspltisw 5, -16
7349 ; PWR5-NEXT: vrlw 0, 4, 5
7350 ; PWR5-NEXT: vmulouh 4, 2, 4
7351 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7352 ; PWR5-NEXT: vspltisw 3, 12
7353 ; PWR5-NEXT: vadduwm 3, 3, 3
7354 ; PWR5-NEXT: vslw 2, 2, 5
7355 ; PWR5-NEXT: vadduwm 2, 4, 2
7356 ; PWR5-NEXT: vsrw 2, 2, 3
7357 ; PWR5-NEXT: vspltisw 3, 14
7358 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
7359 ; PWR5-NEXT: blr
7363 ; PWR6-NEXT: addis 3, 2, .LCPI66_0@toc@ha
7364 ; PWR6-NEXT: vspltisw 4, 1
7365 ; PWR6-NEXT: vxor 3, 3, 3
7366 ; PWR6-NEXT: addi 3, 3, .LCPI66_0@toc@l
7367 ; PWR6-NEXT: lvx 5, 0, 3
7368 ; PWR6-NEXT: addis 3, 2, .LCPI66_1@toc@ha
7369 ; PWR6-NEXT: addi 3, 3, .LCPI66_1@toc@l
7370 ; PWR6-NEXT: vspltisw 0, 2
7371 ; PWR6-NEXT: vsrw 4, 2, 4
7372 ; PWR6-NEXT: vand 4, 4, 5
7373 ; PWR6-NEXT: lvx 5, 0, 3
7374 ; PWR6-NEXT: vsubuwm 2, 2, 4
7375 ; PWR6-NEXT: vand 4, 2, 5
7376 ; PWR6-NEXT: vsrw 2, 2, 0
7377 ; PWR6-NEXT: vand 2, 2, 5
7378 ; PWR6-NEXT: vspltisw 5, 4
7379 ; PWR6-NEXT: vadduwm 2, 4, 2
7380 ; PWR6-NEXT: vsrw 4, 2, 5
7381 ; PWR6-NEXT: vspltisb 5, 15
7382 ; PWR6-NEXT: vadduwm 2, 2, 4
7383 ; PWR6-NEXT: vspltisb 4, 1
7384 ; PWR6-NEXT: vand 2, 2, 5
7385 ; PWR6-NEXT: vspltisw 5, -16
7386 ; PWR6-NEXT: vrlw 0, 4, 5
7387 ; PWR6-NEXT: vmulouh 4, 2, 4
7388 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7389 ; PWR6-NEXT: vspltisw 3, 12
7390 ; PWR6-NEXT: vadduwm 3, 3, 3
7391 ; PWR6-NEXT: vslw 2, 2, 5
7392 ; PWR6-NEXT: vadduwm 2, 4, 2
7393 ; PWR6-NEXT: vsrw 2, 2, 3
7394 ; PWR6-NEXT: vspltisw 3, 14
7395 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
7396 ; PWR6-NEXT: blr
7400 ; PWR7-NEXT: vspltisw 3, 1
7401 ; PWR7-NEXT: addis 3, 2, .LCPI66_0@toc@ha
7402 ; PWR7-NEXT: addi 3, 3, .LCPI66_0@toc@l
7403 ; PWR7-NEXT: vspltisw 4, 2
7404 ; PWR7-NEXT: lxvw4x 0, 0, 3
7405 ; PWR7-NEXT: addis 3, 2, .LCPI66_1@toc@ha
7406 ; PWR7-NEXT: vspltisw 5, -16
7407 ; PWR7-NEXT: vsrw 3, 2, 3
7408 ; PWR7-NEXT: addi 3, 3, .LCPI66_1@toc@l
7409 ; PWR7-NEXT: vspltisb 0, 15
7410 ; PWR7-NEXT: xxland 35, 35, 0
7411 ; PWR7-NEXT: lxvw4x 0, 0, 3
7412 ; PWR7-NEXT: vsubuwm 2, 2, 3
7413 ; PWR7-NEXT: vsrw 3, 2, 4
7414 ; PWR7-NEXT: xxland 34, 34, 0
7415 ; PWR7-NEXT: vspltisw 4, 4
7416 ; PWR7-NEXT: xxland 35, 35, 0
7417 ; PWR7-NEXT: vadduwm 2, 2, 3
7418 ; PWR7-NEXT: vsrw 3, 2, 4
7419 ; PWR7-NEXT: vspltisb 4, 1
7420 ; PWR7-NEXT: vrlw 1, 4, 5
7421 ; PWR7-NEXT: vadduwm 2, 2, 3
7422 ; PWR7-NEXT: xxlxor 35, 35, 35
7423 ; PWR7-NEXT: xxland 34, 34, 32
7424 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7425 ; PWR7-NEXT: vmulouh 2, 2, 4
7426 ; PWR7-NEXT: vspltisw 4, 12
7427 ; PWR7-NEXT: vslw 3, 3, 5
7428 ; PWR7-NEXT: vadduwm 2, 2, 3
7429 ; PWR7-NEXT: vadduwm 3, 4, 4
7430 ; PWR7-NEXT: vsrw 2, 2, 3
7431 ; PWR7-NEXT: vspltisw 3, 14
7432 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
7433 ; PWR7-NEXT: blr
7437 ; PWR8-NEXT: vspltisw 3, 14
7438 ; PWR8-NEXT: vpopcntw 2, 2
7439 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
7440 ; PWR8-NEXT: blr
7444 ; PWR9-NEXT: vpopcntw 2, 2
7445 ; PWR9-NEXT: vspltisw 3, 14
7446 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
7447 ; PWR9-NEXT: blr
7457 ; PWR5-NEXT: addis 3, 2, .LCPI67_0@toc@ha
7458 ; PWR5-NEXT: vspltisw 4, 1
7459 ; PWR5-NEXT: vxor 3, 3, 3
7460 ; PWR5-NEXT: addi 3, 3, .LCPI67_0@toc@l
7461 ; PWR5-NEXT: lvx 5, 0, 3
7462 ; PWR5-NEXT: addis 3, 2, .LCPI67_1@toc@ha
7463 ; PWR5-NEXT: addi 3, 3, .LCPI67_1@toc@l
7464 ; PWR5-NEXT: vspltisw 0, 2
7465 ; PWR5-NEXT: vsrw 4, 2, 4
7466 ; PWR5-NEXT: vand 4, 4, 5
7467 ; PWR5-NEXT: lvx 5, 0, 3
7468 ; PWR5-NEXT: vsubuwm 2, 2, 4
7469 ; PWR5-NEXT: vand 4, 2, 5
7470 ; PWR5-NEXT: vsrw 2, 2, 0
7471 ; PWR5-NEXT: vand 2, 2, 5
7472 ; PWR5-NEXT: vspltisw 5, 4
7473 ; PWR5-NEXT: vadduwm 2, 4, 2
7474 ; PWR5-NEXT: vsrw 4, 2, 5
7475 ; PWR5-NEXT: vspltisb 5, 15
7476 ; PWR5-NEXT: vadduwm 2, 2, 4
7477 ; PWR5-NEXT: vspltisb 4, 1
7478 ; PWR5-NEXT: vand 2, 2, 5
7479 ; PWR5-NEXT: vspltisw 5, -16
7480 ; PWR5-NEXT: vrlw 0, 4, 5
7481 ; PWR5-NEXT: vmulouh 4, 2, 4
7482 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7483 ; PWR5-NEXT: vspltisw 3, 12
7484 ; PWR5-NEXT: vadduwm 3, 3, 3
7485 ; PWR5-NEXT: vslw 2, 2, 5
7486 ; PWR5-NEXT: vadduwm 2, 4, 2
7487 ; PWR5-NEXT: vsrw 2, 2, 3
7488 ; PWR5-NEXT: vspltisw 3, 15
7489 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
7490 ; PWR5-NEXT: blr
7494 ; PWR6-NEXT: addis 3, 2, .LCPI67_0@toc@ha
7495 ; PWR6-NEXT: vspltisw 4, 1
7496 ; PWR6-NEXT: vxor 3, 3, 3
7497 ; PWR6-NEXT: addi 3, 3, .LCPI67_0@toc@l
7498 ; PWR6-NEXT: lvx 5, 0, 3
7499 ; PWR6-NEXT: addis 3, 2, .LCPI67_1@toc@ha
7500 ; PWR6-NEXT: addi 3, 3, .LCPI67_1@toc@l
7501 ; PWR6-NEXT: vspltisw 0, 2
7502 ; PWR6-NEXT: vsrw 4, 2, 4
7503 ; PWR6-NEXT: vand 4, 4, 5
7504 ; PWR6-NEXT: lvx 5, 0, 3
7505 ; PWR6-NEXT: vsubuwm 2, 2, 4
7506 ; PWR6-NEXT: vand 4, 2, 5
7507 ; PWR6-NEXT: vsrw 2, 2, 0
7508 ; PWR6-NEXT: vand 2, 2, 5
7509 ; PWR6-NEXT: vspltisw 5, 4
7510 ; PWR6-NEXT: vadduwm 2, 4, 2
7511 ; PWR6-NEXT: vsrw 4, 2, 5
7512 ; PWR6-NEXT: vspltisb 5, 15
7513 ; PWR6-NEXT: vadduwm 2, 2, 4
7514 ; PWR6-NEXT: vspltisb 4, 1
7515 ; PWR6-NEXT: vand 2, 2, 5
7516 ; PWR6-NEXT: vspltisw 5, -16
7517 ; PWR6-NEXT: vrlw 0, 4, 5
7518 ; PWR6-NEXT: vmulouh 4, 2, 4
7519 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7520 ; PWR6-NEXT: vspltisw 3, 12
7521 ; PWR6-NEXT: vadduwm 3, 3, 3
7522 ; PWR6-NEXT: vslw 2, 2, 5
7523 ; PWR6-NEXT: vadduwm 2, 4, 2
7524 ; PWR6-NEXT: vsrw 2, 2, 3
7525 ; PWR6-NEXT: vspltisw 3, 15
7526 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
7527 ; PWR6-NEXT: blr
7531 ; PWR7-NEXT: vspltisw 3, 1
7532 ; PWR7-NEXT: addis 3, 2, .LCPI67_0@toc@ha
7533 ; PWR7-NEXT: addi 3, 3, .LCPI67_0@toc@l
7534 ; PWR7-NEXT: vspltisw 4, 2
7535 ; PWR7-NEXT: lxvw4x 0, 0, 3
7536 ; PWR7-NEXT: addis 3, 2, .LCPI67_1@toc@ha
7537 ; PWR7-NEXT: vspltisw 5, -16
7538 ; PWR7-NEXT: vsrw 3, 2, 3
7539 ; PWR7-NEXT: addi 3, 3, .LCPI67_1@toc@l
7540 ; PWR7-NEXT: vspltisb 0, 15
7541 ; PWR7-NEXT: xxland 35, 35, 0
7542 ; PWR7-NEXT: lxvw4x 0, 0, 3
7543 ; PWR7-NEXT: vsubuwm 2, 2, 3
7544 ; PWR7-NEXT: vsrw 3, 2, 4
7545 ; PWR7-NEXT: xxland 34, 34, 0
7546 ; PWR7-NEXT: vspltisw 4, 4
7547 ; PWR7-NEXT: xxland 35, 35, 0
7548 ; PWR7-NEXT: vadduwm 2, 2, 3
7549 ; PWR7-NEXT: vsrw 3, 2, 4
7550 ; PWR7-NEXT: vspltisb 4, 1
7551 ; PWR7-NEXT: vrlw 1, 4, 5
7552 ; PWR7-NEXT: vadduwm 2, 2, 3
7553 ; PWR7-NEXT: xxlxor 35, 35, 35
7554 ; PWR7-NEXT: xxland 34, 34, 32
7555 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7556 ; PWR7-NEXT: vmulouh 2, 2, 4
7557 ; PWR7-NEXT: vspltisw 4, 12
7558 ; PWR7-NEXT: vslw 3, 3, 5
7559 ; PWR7-NEXT: vadduwm 2, 2, 3
7560 ; PWR7-NEXT: vadduwm 3, 4, 4
7561 ; PWR7-NEXT: vsrw 2, 2, 3
7562 ; PWR7-NEXT: vspltisw 3, 15
7563 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
7564 ; PWR7-NEXT: blr
7568 ; PWR8-NEXT: vspltisw 3, 15
7569 ; PWR8-NEXT: vpopcntw 2, 2
7570 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
7571 ; PWR8-NEXT: blr
7575 ; PWR9-NEXT: vpopcntw 2, 2
7576 ; PWR9-NEXT: vspltisw 3, 15
7577 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
7578 ; PWR9-NEXT: blr
7588 ; PWR5-NEXT: addis 3, 2, .LCPI68_0@toc@ha
7589 ; PWR5-NEXT: vspltisw 4, 1
7590 ; PWR5-NEXT: vxor 3, 3, 3
7591 ; PWR5-NEXT: addi 3, 3, .LCPI68_0@toc@l
7592 ; PWR5-NEXT: lvx 5, 0, 3
7593 ; PWR5-NEXT: addis 3, 2, .LCPI68_1@toc@ha
7594 ; PWR5-NEXT: addi 3, 3, .LCPI68_1@toc@l
7595 ; PWR5-NEXT: vspltisw 0, 2
7596 ; PWR5-NEXT: vsrw 4, 2, 4
7597 ; PWR5-NEXT: vand 4, 4, 5
7598 ; PWR5-NEXT: lvx 5, 0, 3
7599 ; PWR5-NEXT: vsubuwm 2, 2, 4
7600 ; PWR5-NEXT: vand 4, 2, 5
7601 ; PWR5-NEXT: vsrw 2, 2, 0
7602 ; PWR5-NEXT: vand 2, 2, 5
7603 ; PWR5-NEXT: vspltisw 5, 4
7604 ; PWR5-NEXT: vadduwm 2, 4, 2
7605 ; PWR5-NEXT: vsrw 4, 2, 5
7606 ; PWR5-NEXT: vspltisb 5, 15
7607 ; PWR5-NEXT: vadduwm 2, 2, 4
7608 ; PWR5-NEXT: vspltisb 4, 1
7609 ; PWR5-NEXT: vand 2, 2, 5
7610 ; PWR5-NEXT: vspltisw 5, -16
7611 ; PWR5-NEXT: vrlw 0, 4, 5
7612 ; PWR5-NEXT: vmulouh 4, 2, 4
7613 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7614 ; PWR5-NEXT: vspltisw 3, 12
7615 ; PWR5-NEXT: vadduwm 3, 3, 3
7616 ; PWR5-NEXT: vslw 2, 2, 5
7617 ; PWR5-NEXT: vadduwm 2, 4, 2
7618 ; PWR5-NEXT: vsrw 2, 2, 3
7619 ; PWR5-NEXT: vspltisw 3, 15
7620 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
7621 ; PWR5-NEXT: blr
7625 ; PWR6-NEXT: addis 3, 2, .LCPI68_0@toc@ha
7626 ; PWR6-NEXT: vspltisw 4, 1
7627 ; PWR6-NEXT: vxor 3, 3, 3
7628 ; PWR6-NEXT: addi 3, 3, .LCPI68_0@toc@l
7629 ; PWR6-NEXT: lvx 5, 0, 3
7630 ; PWR6-NEXT: addis 3, 2, .LCPI68_1@toc@ha
7631 ; PWR6-NEXT: addi 3, 3, .LCPI68_1@toc@l
7632 ; PWR6-NEXT: vspltisw 0, 2
7633 ; PWR6-NEXT: vsrw 4, 2, 4
7634 ; PWR6-NEXT: vand 4, 4, 5
7635 ; PWR6-NEXT: lvx 5, 0, 3
7636 ; PWR6-NEXT: vsubuwm 2, 2, 4
7637 ; PWR6-NEXT: vand 4, 2, 5
7638 ; PWR6-NEXT: vsrw 2, 2, 0
7639 ; PWR6-NEXT: vand 2, 2, 5
7640 ; PWR6-NEXT: vspltisw 5, 4
7641 ; PWR6-NEXT: vadduwm 2, 4, 2
7642 ; PWR6-NEXT: vsrw 4, 2, 5
7643 ; PWR6-NEXT: vspltisb 5, 15
7644 ; PWR6-NEXT: vadduwm 2, 2, 4
7645 ; PWR6-NEXT: vspltisb 4, 1
7646 ; PWR6-NEXT: vand 2, 2, 5
7647 ; PWR6-NEXT: vspltisw 5, -16
7648 ; PWR6-NEXT: vrlw 0, 4, 5
7649 ; PWR6-NEXT: vmulouh 4, 2, 4
7650 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7651 ; PWR6-NEXT: vspltisw 3, 12
7652 ; PWR6-NEXT: vadduwm 3, 3, 3
7653 ; PWR6-NEXT: vslw 2, 2, 5
7654 ; PWR6-NEXT: vadduwm 2, 4, 2
7655 ; PWR6-NEXT: vsrw 2, 2, 3
7656 ; PWR6-NEXT: vspltisw 3, 15
7657 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
7658 ; PWR6-NEXT: blr
7662 ; PWR7-NEXT: vspltisw 3, 1
7663 ; PWR7-NEXT: addis 3, 2, .LCPI68_0@toc@ha
7664 ; PWR7-NEXT: addi 3, 3, .LCPI68_0@toc@l
7665 ; PWR7-NEXT: vspltisw 4, 2
7666 ; PWR7-NEXT: lxvw4x 0, 0, 3
7667 ; PWR7-NEXT: addis 3, 2, .LCPI68_1@toc@ha
7668 ; PWR7-NEXT: vspltisw 5, -16
7669 ; PWR7-NEXT: vsrw 3, 2, 3
7670 ; PWR7-NEXT: addi 3, 3, .LCPI68_1@toc@l
7671 ; PWR7-NEXT: vspltisb 0, 15
7672 ; PWR7-NEXT: xxland 35, 35, 0
7673 ; PWR7-NEXT: lxvw4x 0, 0, 3
7674 ; PWR7-NEXT: vsubuwm 2, 2, 3
7675 ; PWR7-NEXT: vsrw 3, 2, 4
7676 ; PWR7-NEXT: xxland 34, 34, 0
7677 ; PWR7-NEXT: vspltisw 4, 4
7678 ; PWR7-NEXT: xxland 35, 35, 0
7679 ; PWR7-NEXT: vadduwm 2, 2, 3
7680 ; PWR7-NEXT: vsrw 3, 2, 4
7681 ; PWR7-NEXT: vspltisb 4, 1
7682 ; PWR7-NEXT: vrlw 1, 4, 5
7683 ; PWR7-NEXT: vadduwm 2, 2, 3
7684 ; PWR7-NEXT: xxlxor 35, 35, 35
7685 ; PWR7-NEXT: xxland 34, 34, 32
7686 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7687 ; PWR7-NEXT: vmulouh 2, 2, 4
7688 ; PWR7-NEXT: vspltisw 4, 12
7689 ; PWR7-NEXT: vslw 3, 3, 5
7690 ; PWR7-NEXT: vadduwm 2, 2, 3
7691 ; PWR7-NEXT: vadduwm 3, 4, 4
7692 ; PWR7-NEXT: vsrw 2, 2, 3
7693 ; PWR7-NEXT: vspltisw 3, 15
7694 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
7695 ; PWR7-NEXT: blr
7699 ; PWR8-NEXT: vspltisw 3, 15
7700 ; PWR8-NEXT: vpopcntw 2, 2
7701 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
7702 ; PWR8-NEXT: blr
7706 ; PWR9-NEXT: vpopcntw 2, 2
7707 ; PWR9-NEXT: vspltisw 3, 15
7708 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
7709 ; PWR9-NEXT: blr
7719 ; PWR5-NEXT: addis 3, 2, .LCPI69_0@toc@ha
7720 ; PWR5-NEXT: vspltisw 4, 1
7721 ; PWR5-NEXT: vxor 3, 3, 3
7722 ; PWR5-NEXT: addi 3, 3, .LCPI69_0@toc@l
7723 ; PWR5-NEXT: lvx 5, 0, 3
7724 ; PWR5-NEXT: addis 3, 2, .LCPI69_1@toc@ha
7725 ; PWR5-NEXT: addi 3, 3, .LCPI69_1@toc@l
7726 ; PWR5-NEXT: vspltisw 0, 2
7727 ; PWR5-NEXT: vsrw 4, 2, 4
7728 ; PWR5-NEXT: vand 4, 4, 5
7729 ; PWR5-NEXT: lvx 5, 0, 3
7730 ; PWR5-NEXT: vsubuwm 2, 2, 4
7731 ; PWR5-NEXT: vand 4, 2, 5
7732 ; PWR5-NEXT: vsrw 2, 2, 0
7733 ; PWR5-NEXT: vand 2, 2, 5
7734 ; PWR5-NEXT: vspltisw 5, 4
7735 ; PWR5-NEXT: vadduwm 2, 4, 2
7736 ; PWR5-NEXT: vsrw 4, 2, 5
7737 ; PWR5-NEXT: vspltisb 5, 15
7738 ; PWR5-NEXT: vadduwm 2, 2, 4
7739 ; PWR5-NEXT: vspltisb 4, 1
7740 ; PWR5-NEXT: vand 2, 2, 5
7741 ; PWR5-NEXT: vspltisw 5, -16
7742 ; PWR5-NEXT: vrlw 0, 4, 5
7743 ; PWR5-NEXT: vmulouh 4, 2, 4
7744 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7745 ; PWR5-NEXT: vspltisw 3, 12
7746 ; PWR5-NEXT: vadduwm 3, 3, 3
7747 ; PWR5-NEXT: vslw 2, 2, 5
7748 ; PWR5-NEXT: vadduwm 2, 4, 2
7749 ; PWR5-NEXT: vsrw 2, 2, 3
7750 ; PWR5-NEXT: vspltisw 3, 8
7751 ; PWR5-NEXT: vadduwm 3, 3, 3
7752 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
7753 ; PWR5-NEXT: blr
7757 ; PWR6-NEXT: addis 3, 2, .LCPI69_0@toc@ha
7758 ; PWR6-NEXT: vspltisw 4, 1
7759 ; PWR6-NEXT: vxor 3, 3, 3
7760 ; PWR6-NEXT: addi 3, 3, .LCPI69_0@toc@l
7761 ; PWR6-NEXT: lvx 5, 0, 3
7762 ; PWR6-NEXT: addis 3, 2, .LCPI69_1@toc@ha
7763 ; PWR6-NEXT: addi 3, 3, .LCPI69_1@toc@l
7764 ; PWR6-NEXT: vspltisw 0, 2
7765 ; PWR6-NEXT: vsrw 4, 2, 4
7766 ; PWR6-NEXT: vand 4, 4, 5
7767 ; PWR6-NEXT: lvx 5, 0, 3
7768 ; PWR6-NEXT: vsubuwm 2, 2, 4
7769 ; PWR6-NEXT: vand 4, 2, 5
7770 ; PWR6-NEXT: vsrw 2, 2, 0
7771 ; PWR6-NEXT: vand 2, 2, 5
7772 ; PWR6-NEXT: vspltisw 5, 4
7773 ; PWR6-NEXT: vadduwm 2, 4, 2
7774 ; PWR6-NEXT: vsrw 4, 2, 5
7775 ; PWR6-NEXT: vspltisb 5, 15
7776 ; PWR6-NEXT: vadduwm 2, 2, 4
7777 ; PWR6-NEXT: vspltisb 4, 1
7778 ; PWR6-NEXT: vand 2, 2, 5
7779 ; PWR6-NEXT: vspltisw 5, -16
7780 ; PWR6-NEXT: vrlw 0, 4, 5
7781 ; PWR6-NEXT: vmulouh 4, 2, 4
7782 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7783 ; PWR6-NEXT: vspltisw 3, 12
7784 ; PWR6-NEXT: vadduwm 3, 3, 3
7785 ; PWR6-NEXT: vslw 2, 2, 5
7786 ; PWR6-NEXT: vadduwm 2, 4, 2
7787 ; PWR6-NEXT: vsrw 2, 2, 3
7788 ; PWR6-NEXT: vspltisw 3, 8
7789 ; PWR6-NEXT: vadduwm 3, 3, 3
7790 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
7791 ; PWR6-NEXT: blr
7795 ; PWR7-NEXT: vspltisw 3, 1
7796 ; PWR7-NEXT: addis 3, 2, .LCPI69_0@toc@ha
7797 ; PWR7-NEXT: addi 3, 3, .LCPI69_0@toc@l
7798 ; PWR7-NEXT: vspltisw 4, 2
7799 ; PWR7-NEXT: lxvw4x 0, 0, 3
7800 ; PWR7-NEXT: addis 3, 2, .LCPI69_1@toc@ha
7801 ; PWR7-NEXT: vspltisw 5, -16
7802 ; PWR7-NEXT: vsrw 3, 2, 3
7803 ; PWR7-NEXT: addi 3, 3, .LCPI69_1@toc@l
7804 ; PWR7-NEXT: vspltisb 0, 15
7805 ; PWR7-NEXT: xxland 35, 35, 0
7806 ; PWR7-NEXT: lxvw4x 0, 0, 3
7807 ; PWR7-NEXT: vsubuwm 2, 2, 3
7808 ; PWR7-NEXT: vsrw 3, 2, 4
7809 ; PWR7-NEXT: xxland 34, 34, 0
7810 ; PWR7-NEXT: vspltisw 4, 4
7811 ; PWR7-NEXT: xxland 35, 35, 0
7812 ; PWR7-NEXT: vadduwm 2, 2, 3
7813 ; PWR7-NEXT: vsrw 3, 2, 4
7814 ; PWR7-NEXT: vspltisb 4, 1
7815 ; PWR7-NEXT: vrlw 1, 4, 5
7816 ; PWR7-NEXT: vadduwm 2, 2, 3
7817 ; PWR7-NEXT: xxlxor 35, 35, 35
7818 ; PWR7-NEXT: xxland 34, 34, 32
7819 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7820 ; PWR7-NEXT: vmulouh 2, 2, 4
7821 ; PWR7-NEXT: vspltisw 4, 12
7822 ; PWR7-NEXT: vslw 3, 3, 5
7823 ; PWR7-NEXT: vadduwm 2, 2, 3
7824 ; PWR7-NEXT: vadduwm 3, 4, 4
7825 ; PWR7-NEXT: vsrw 2, 2, 3
7826 ; PWR7-NEXT: vspltisw 3, 8
7827 ; PWR7-NEXT: vadduwm 3, 3, 3
7828 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
7829 ; PWR7-NEXT: blr
7833 ; PWR8-NEXT: vspltisw 3, 8
7834 ; PWR8-NEXT: vpopcntw 2, 2
7835 ; PWR8-NEXT: vadduwm 3, 3, 3
7836 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
7837 ; PWR8-NEXT: blr
7841 ; PWR9-NEXT: vspltisw 3, 8
7842 ; PWR9-NEXT: vpopcntw 2, 2
7843 ; PWR9-NEXT: vadduwm 3, 3, 3
7844 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
7845 ; PWR9-NEXT: blr
7855 ; PWR5-NEXT: addis 3, 2, .LCPI70_0@toc@ha
7856 ; PWR5-NEXT: vspltisw 4, 1
7857 ; PWR5-NEXT: vxor 3, 3, 3
7858 ; PWR5-NEXT: addi 3, 3, .LCPI70_0@toc@l
7859 ; PWR5-NEXT: lvx 5, 0, 3
7860 ; PWR5-NEXT: addis 3, 2, .LCPI70_1@toc@ha
7861 ; PWR5-NEXT: addi 3, 3, .LCPI70_1@toc@l
7862 ; PWR5-NEXT: vspltisw 0, 2
7863 ; PWR5-NEXT: vsrw 4, 2, 4
7864 ; PWR5-NEXT: vand 4, 4, 5
7865 ; PWR5-NEXT: lvx 5, 0, 3
7866 ; PWR5-NEXT: vsubuwm 2, 2, 4
7867 ; PWR5-NEXT: vand 4, 2, 5
7868 ; PWR5-NEXT: vsrw 2, 2, 0
7869 ; PWR5-NEXT: vand 2, 2, 5
7870 ; PWR5-NEXT: vspltisw 5, 4
7871 ; PWR5-NEXT: vadduwm 2, 4, 2
7872 ; PWR5-NEXT: vsrw 4, 2, 5
7873 ; PWR5-NEXT: vspltisb 5, 15
7874 ; PWR5-NEXT: vadduwm 2, 2, 4
7875 ; PWR5-NEXT: vspltisb 4, 1
7876 ; PWR5-NEXT: vand 2, 2, 5
7877 ; PWR5-NEXT: vspltisw 5, -16
7878 ; PWR5-NEXT: vrlw 0, 4, 5
7879 ; PWR5-NEXT: vmulouh 4, 2, 4
7880 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
7881 ; PWR5-NEXT: vspltisw 3, 12
7882 ; PWR5-NEXT: vadduwm 3, 3, 3
7883 ; PWR5-NEXT: vslw 2, 2, 5
7884 ; PWR5-NEXT: vadduwm 2, 4, 2
7885 ; PWR5-NEXT: vsrw 2, 2, 3
7886 ; PWR5-NEXT: vspltisw 3, 8
7887 ; PWR5-NEXT: vadduwm 3, 3, 3
7888 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
7889 ; PWR5-NEXT: blr
7893 ; PWR6-NEXT: addis 3, 2, .LCPI70_0@toc@ha
7894 ; PWR6-NEXT: vspltisw 4, 1
7895 ; PWR6-NEXT: vxor 3, 3, 3
7896 ; PWR6-NEXT: addi 3, 3, .LCPI70_0@toc@l
7897 ; PWR6-NEXT: lvx 5, 0, 3
7898 ; PWR6-NEXT: addis 3, 2, .LCPI70_1@toc@ha
7899 ; PWR6-NEXT: addi 3, 3, .LCPI70_1@toc@l
7900 ; PWR6-NEXT: vspltisw 0, 2
7901 ; PWR6-NEXT: vsrw 4, 2, 4
7902 ; PWR6-NEXT: vand 4, 4, 5
7903 ; PWR6-NEXT: lvx 5, 0, 3
7904 ; PWR6-NEXT: vsubuwm 2, 2, 4
7905 ; PWR6-NEXT: vand 4, 2, 5
7906 ; PWR6-NEXT: vsrw 2, 2, 0
7907 ; PWR6-NEXT: vand 2, 2, 5
7908 ; PWR6-NEXT: vspltisw 5, 4
7909 ; PWR6-NEXT: vadduwm 2, 4, 2
7910 ; PWR6-NEXT: vsrw 4, 2, 5
7911 ; PWR6-NEXT: vspltisb 5, 15
7912 ; PWR6-NEXT: vadduwm 2, 2, 4
7913 ; PWR6-NEXT: vspltisb 4, 1
7914 ; PWR6-NEXT: vand 2, 2, 5
7915 ; PWR6-NEXT: vspltisw 5, -16
7916 ; PWR6-NEXT: vrlw 0, 4, 5
7917 ; PWR6-NEXT: vmulouh 4, 2, 4
7918 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
7919 ; PWR6-NEXT: vspltisw 3, 12
7920 ; PWR6-NEXT: vadduwm 3, 3, 3
7921 ; PWR6-NEXT: vslw 2, 2, 5
7922 ; PWR6-NEXT: vadduwm 2, 4, 2
7923 ; PWR6-NEXT: vsrw 2, 2, 3
7924 ; PWR6-NEXT: vspltisw 3, 8
7925 ; PWR6-NEXT: vadduwm 3, 3, 3
7926 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
7927 ; PWR6-NEXT: blr
7931 ; PWR7-NEXT: vspltisw 3, 1
7932 ; PWR7-NEXT: addis 3, 2, .LCPI70_0@toc@ha
7933 ; PWR7-NEXT: addi 3, 3, .LCPI70_0@toc@l
7934 ; PWR7-NEXT: vspltisw 4, 2
7935 ; PWR7-NEXT: lxvw4x 0, 0, 3
7936 ; PWR7-NEXT: addis 3, 2, .LCPI70_1@toc@ha
7937 ; PWR7-NEXT: vspltisw 5, -16
7938 ; PWR7-NEXT: vsrw 3, 2, 3
7939 ; PWR7-NEXT: addi 3, 3, .LCPI70_1@toc@l
7940 ; PWR7-NEXT: vspltisb 0, 15
7941 ; PWR7-NEXT: xxland 35, 35, 0
7942 ; PWR7-NEXT: lxvw4x 0, 0, 3
7943 ; PWR7-NEXT: vsubuwm 2, 2, 3
7944 ; PWR7-NEXT: vsrw 3, 2, 4
7945 ; PWR7-NEXT: xxland 34, 34, 0
7946 ; PWR7-NEXT: vspltisw 4, 4
7947 ; PWR7-NEXT: xxland 35, 35, 0
7948 ; PWR7-NEXT: vadduwm 2, 2, 3
7949 ; PWR7-NEXT: vsrw 3, 2, 4
7950 ; PWR7-NEXT: vspltisb 4, 1
7951 ; PWR7-NEXT: vrlw 1, 4, 5
7952 ; PWR7-NEXT: vadduwm 2, 2, 3
7953 ; PWR7-NEXT: xxlxor 35, 35, 35
7954 ; PWR7-NEXT: xxland 34, 34, 32
7955 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
7956 ; PWR7-NEXT: vmulouh 2, 2, 4
7957 ; PWR7-NEXT: vspltisw 4, 12
7958 ; PWR7-NEXT: vslw 3, 3, 5
7959 ; PWR7-NEXT: vadduwm 2, 2, 3
7960 ; PWR7-NEXT: vadduwm 3, 4, 4
7961 ; PWR7-NEXT: vsrw 2, 2, 3
7962 ; PWR7-NEXT: vspltisw 3, 8
7963 ; PWR7-NEXT: vadduwm 3, 3, 3
7964 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
7965 ; PWR7-NEXT: blr
7969 ; PWR8-NEXT: vspltisw 3, 8
7970 ; PWR8-NEXT: vpopcntw 2, 2
7971 ; PWR8-NEXT: vadduwm 3, 3, 3
7972 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
7973 ; PWR8-NEXT: blr
7977 ; PWR9-NEXT: vspltisw 3, 8
7978 ; PWR9-NEXT: vpopcntw 2, 2
7979 ; PWR9-NEXT: vadduwm 3, 3, 3
7980 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
7981 ; PWR9-NEXT: blr
7991 ; PWR5-NEXT: addis 3, 2, .LCPI71_0@toc@ha
7992 ; PWR5-NEXT: vspltisw 4, 1
7993 ; PWR5-NEXT: vxor 3, 3, 3
7994 ; PWR5-NEXT: addi 3, 3, .LCPI71_0@toc@l
7995 ; PWR5-NEXT: lvx 0, 0, 3
7996 ; PWR5-NEXT: addis 3, 2, .LCPI71_1@toc@ha
7997 ; PWR5-NEXT: addi 3, 3, .LCPI71_1@toc@l
7998 ; PWR5-NEXT: vspltisw 1, 2
7999 ; PWR5-NEXT: vsrw 5, 2, 4
8000 ; PWR5-NEXT: vand 5, 5, 0
8001 ; PWR5-NEXT: lvx 0, 0, 3
8002 ; PWR5-NEXT: vsubuwm 2, 2, 5
8003 ; PWR5-NEXT: vand 5, 2, 0
8004 ; PWR5-NEXT: vsrw 2, 2, 1
8005 ; PWR5-NEXT: vand 2, 2, 0
8006 ; PWR5-NEXT: vspltisw 0, 4
8007 ; PWR5-NEXT: vadduwm 2, 5, 2
8008 ; PWR5-NEXT: vsrw 5, 2, 0
8009 ; PWR5-NEXT: vspltisb 0, 15
8010 ; PWR5-NEXT: vadduwm 2, 2, 5
8011 ; PWR5-NEXT: vspltisb 5, 1
8012 ; PWR5-NEXT: vand 2, 2, 0
8013 ; PWR5-NEXT: vspltisw 0, -16
8014 ; PWR5-NEXT: vrlw 1, 5, 0
8015 ; PWR5-NEXT: vmulouh 5, 2, 5
8016 ; PWR5-NEXT: vmsumuhm 2, 2, 1, 3
8017 ; PWR5-NEXT: vspltisw 3, 12
8018 ; PWR5-NEXT: vadduwm 3, 3, 3
8019 ; PWR5-NEXT: vslw 2, 2, 0
8020 ; PWR5-NEXT: vadduwm 2, 5, 2
8021 ; PWR5-NEXT: vsrw 2, 2, 3
8022 ; PWR5-NEXT: vsubuwm 3, 4, 0
8023 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
8024 ; PWR5-NEXT: blr
8028 ; PWR6-NEXT: addis 3, 2, .LCPI71_0@toc@ha
8029 ; PWR6-NEXT: vspltisw 4, 1
8030 ; PWR6-NEXT: vxor 3, 3, 3
8031 ; PWR6-NEXT: addi 3, 3, .LCPI71_0@toc@l
8032 ; PWR6-NEXT: lvx 0, 0, 3
8033 ; PWR6-NEXT: addis 3, 2, .LCPI71_1@toc@ha
8034 ; PWR6-NEXT: addi 3, 3, .LCPI71_1@toc@l
8035 ; PWR6-NEXT: vspltisw 1, 2
8036 ; PWR6-NEXT: vsrw 5, 2, 4
8037 ; PWR6-NEXT: vand 5, 5, 0
8038 ; PWR6-NEXT: lvx 0, 0, 3
8039 ; PWR6-NEXT: vsubuwm 2, 2, 5
8040 ; PWR6-NEXT: vand 5, 2, 0
8041 ; PWR6-NEXT: vsrw 2, 2, 1
8042 ; PWR6-NEXT: vand 2, 2, 0
8043 ; PWR6-NEXT: vspltisw 0, 4
8044 ; PWR6-NEXT: vadduwm 2, 5, 2
8045 ; PWR6-NEXT: vsrw 5, 2, 0
8046 ; PWR6-NEXT: vspltisb 0, 15
8047 ; PWR6-NEXT: vadduwm 2, 2, 5
8048 ; PWR6-NEXT: vspltisb 5, 1
8049 ; PWR6-NEXT: vand 2, 2, 0
8050 ; PWR6-NEXT: vspltisw 0, -16
8051 ; PWR6-NEXT: vrlw 1, 5, 0
8052 ; PWR6-NEXT: vmulouh 5, 2, 5
8053 ; PWR6-NEXT: vmsumuhm 2, 2, 1, 3
8054 ; PWR6-NEXT: vspltisw 3, 12
8055 ; PWR6-NEXT: vadduwm 3, 3, 3
8056 ; PWR6-NEXT: vslw 2, 2, 0
8057 ; PWR6-NEXT: vadduwm 2, 5, 2
8058 ; PWR6-NEXT: vsrw 2, 2, 3
8059 ; PWR6-NEXT: vsubuwm 3, 4, 0
8060 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
8061 ; PWR6-NEXT: blr
8065 ; PWR7-NEXT: vspltisw 3, 1
8066 ; PWR7-NEXT: addis 3, 2, .LCPI71_0@toc@ha
8067 ; PWR7-NEXT: addi 3, 3, .LCPI71_0@toc@l
8068 ; PWR7-NEXT: vspltisw 5, 2
8069 ; PWR7-NEXT: lxvw4x 0, 0, 3
8070 ; PWR7-NEXT: addis 3, 2, .LCPI71_1@toc@ha
8071 ; PWR7-NEXT: vspltisw 0, -16
8072 ; PWR7-NEXT: vsrw 4, 2, 3
8073 ; PWR7-NEXT: addi 3, 3, .LCPI71_1@toc@l
8074 ; PWR7-NEXT: vspltisb 1, 15
8075 ; PWR7-NEXT: vsubuwm 3, 3, 0
8076 ; PWR7-NEXT: xxland 36, 36, 0
8077 ; PWR7-NEXT: lxvw4x 0, 0, 3
8078 ; PWR7-NEXT: vsubuwm 2, 2, 4
8079 ; PWR7-NEXT: vsrw 4, 2, 5
8080 ; PWR7-NEXT: xxland 34, 34, 0
8081 ; PWR7-NEXT: vspltisw 5, 4
8082 ; PWR7-NEXT: xxland 36, 36, 0
8083 ; PWR7-NEXT: vadduwm 2, 2, 4
8084 ; PWR7-NEXT: vsrw 4, 2, 5
8085 ; PWR7-NEXT: vspltisb 5, 1
8086 ; PWR7-NEXT: vrlw 6, 5, 0
8087 ; PWR7-NEXT: vadduwm 2, 2, 4
8088 ; PWR7-NEXT: xxlxor 36, 36, 36
8089 ; PWR7-NEXT: xxland 34, 34, 33
8090 ; PWR7-NEXT: vmsumuhm 4, 2, 6, 4
8091 ; PWR7-NEXT: vmulouh 2, 2, 5
8092 ; PWR7-NEXT: vspltisw 5, 12
8093 ; PWR7-NEXT: vslw 4, 4, 0
8094 ; PWR7-NEXT: vadduwm 2, 2, 4
8095 ; PWR7-NEXT: vadduwm 4, 5, 5
8096 ; PWR7-NEXT: vsrw 2, 2, 4
8097 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
8098 ; PWR7-NEXT: blr
8102 ; PWR8-NEXT: vspltisw 3, -16
8103 ; PWR8-NEXT: vspltisw 4, 1
8104 ; PWR8-NEXT: vpopcntw 2, 2
8105 ; PWR8-NEXT: vsubuwm 3, 4, 3
8106 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
8107 ; PWR8-NEXT: blr
8111 ; PWR9-NEXT: vspltisw 3, -16
8112 ; PWR9-NEXT: vspltisw 4, 1
8113 ; PWR9-NEXT: vpopcntw 2, 2
8114 ; PWR9-NEXT: vsubuwm 3, 4, 3
8115 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
8116 ; PWR9-NEXT: blr
8126 ; PWR5-NEXT: addis 3, 2, .LCPI72_0@toc@ha
8127 ; PWR5-NEXT: vspltisw 4, 1
8128 ; PWR5-NEXT: vxor 3, 3, 3
8129 ; PWR5-NEXT: addi 3, 3, .LCPI72_0@toc@l
8130 ; PWR5-NEXT: lvx 0, 0, 3
8131 ; PWR5-NEXT: addis 3, 2, .LCPI72_1@toc@ha
8132 ; PWR5-NEXT: addi 3, 3, .LCPI72_1@toc@l
8133 ; PWR5-NEXT: vspltisw 1, 2
8134 ; PWR5-NEXT: vsrw 5, 2, 4
8135 ; PWR5-NEXT: vand 5, 5, 0
8136 ; PWR5-NEXT: lvx 0, 0, 3
8137 ; PWR5-NEXT: vsubuwm 2, 2, 5
8138 ; PWR5-NEXT: vand 5, 2, 0
8139 ; PWR5-NEXT: vsrw 2, 2, 1
8140 ; PWR5-NEXT: vand 2, 2, 0
8141 ; PWR5-NEXT: vspltisw 0, 4
8142 ; PWR5-NEXT: vadduwm 2, 5, 2
8143 ; PWR5-NEXT: vsrw 5, 2, 0
8144 ; PWR5-NEXT: vspltisb 0, 15
8145 ; PWR5-NEXT: vadduwm 2, 2, 5
8146 ; PWR5-NEXT: vspltisb 5, 1
8147 ; PWR5-NEXT: vand 2, 2, 0
8148 ; PWR5-NEXT: vspltisw 0, -16
8149 ; PWR5-NEXT: vrlw 1, 5, 0
8150 ; PWR5-NEXT: vmulouh 5, 2, 5
8151 ; PWR5-NEXT: vmsumuhm 2, 2, 1, 3
8152 ; PWR5-NEXT: vspltisw 3, 12
8153 ; PWR5-NEXT: vadduwm 3, 3, 3
8154 ; PWR5-NEXT: vslw 2, 2, 0
8155 ; PWR5-NEXT: vadduwm 2, 5, 2
8156 ; PWR5-NEXT: vsrw 2, 2, 3
8157 ; PWR5-NEXT: vsubuwm 3, 4, 0
8158 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
8159 ; PWR5-NEXT: blr
8163 ; PWR6-NEXT: addis 3, 2, .LCPI72_0@toc@ha
8164 ; PWR6-NEXT: vspltisw 4, 1
8165 ; PWR6-NEXT: vxor 3, 3, 3
8166 ; PWR6-NEXT: addi 3, 3, .LCPI72_0@toc@l
8167 ; PWR6-NEXT: lvx 0, 0, 3
8168 ; PWR6-NEXT: addis 3, 2, .LCPI72_1@toc@ha
8169 ; PWR6-NEXT: addi 3, 3, .LCPI72_1@toc@l
8170 ; PWR6-NEXT: vspltisw 1, 2
8171 ; PWR6-NEXT: vsrw 5, 2, 4
8172 ; PWR6-NEXT: vand 5, 5, 0
8173 ; PWR6-NEXT: lvx 0, 0, 3
8174 ; PWR6-NEXT: vsubuwm 2, 2, 5
8175 ; PWR6-NEXT: vand 5, 2, 0
8176 ; PWR6-NEXT: vsrw 2, 2, 1
8177 ; PWR6-NEXT: vand 2, 2, 0
8178 ; PWR6-NEXT: vspltisw 0, 4
8179 ; PWR6-NEXT: vadduwm 2, 5, 2
8180 ; PWR6-NEXT: vsrw 5, 2, 0
8181 ; PWR6-NEXT: vspltisb 0, 15
8182 ; PWR6-NEXT: vadduwm 2, 2, 5
8183 ; PWR6-NEXT: vspltisb 5, 1
8184 ; PWR6-NEXT: vand 2, 2, 0
8185 ; PWR6-NEXT: vspltisw 0, -16
8186 ; PWR6-NEXT: vrlw 1, 5, 0
8187 ; PWR6-NEXT: vmulouh 5, 2, 5
8188 ; PWR6-NEXT: vmsumuhm 2, 2, 1, 3
8189 ; PWR6-NEXT: vspltisw 3, 12
8190 ; PWR6-NEXT: vadduwm 3, 3, 3
8191 ; PWR6-NEXT: vslw 2, 2, 0
8192 ; PWR6-NEXT: vadduwm 2, 5, 2
8193 ; PWR6-NEXT: vsrw 2, 2, 3
8194 ; PWR6-NEXT: vsubuwm 3, 4, 0
8195 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
8196 ; PWR6-NEXT: blr
8200 ; PWR7-NEXT: vspltisw 3, 1
8201 ; PWR7-NEXT: addis 3, 2, .LCPI72_0@toc@ha
8202 ; PWR7-NEXT: addi 3, 3, .LCPI72_0@toc@l
8203 ; PWR7-NEXT: vspltisw 5, 2
8204 ; PWR7-NEXT: lxvw4x 0, 0, 3
8205 ; PWR7-NEXT: addis 3, 2, .LCPI72_1@toc@ha
8206 ; PWR7-NEXT: vspltisw 0, -16
8207 ; PWR7-NEXT: vsrw 4, 2, 3
8208 ; PWR7-NEXT: addi 3, 3, .LCPI72_1@toc@l
8209 ; PWR7-NEXT: vspltisb 1, 15
8210 ; PWR7-NEXT: vsubuwm 3, 3, 0
8211 ; PWR7-NEXT: xxland 36, 36, 0
8212 ; PWR7-NEXT: lxvw4x 0, 0, 3
8213 ; PWR7-NEXT: vsubuwm 2, 2, 4
8214 ; PWR7-NEXT: vsrw 4, 2, 5
8215 ; PWR7-NEXT: xxland 34, 34, 0
8216 ; PWR7-NEXT: vspltisw 5, 4
8217 ; PWR7-NEXT: xxland 36, 36, 0
8218 ; PWR7-NEXT: vadduwm 2, 2, 4
8219 ; PWR7-NEXT: vsrw 4, 2, 5
8220 ; PWR7-NEXT: vspltisb 5, 1
8221 ; PWR7-NEXT: vrlw 6, 5, 0
8222 ; PWR7-NEXT: vadduwm 2, 2, 4
8223 ; PWR7-NEXT: xxlxor 36, 36, 36
8224 ; PWR7-NEXT: xxland 34, 34, 33
8225 ; PWR7-NEXT: vmsumuhm 4, 2, 6, 4
8226 ; PWR7-NEXT: vmulouh 2, 2, 5
8227 ; PWR7-NEXT: vspltisw 5, 12
8228 ; PWR7-NEXT: vslw 4, 4, 0
8229 ; PWR7-NEXT: vadduwm 2, 2, 4
8230 ; PWR7-NEXT: vadduwm 4, 5, 5
8231 ; PWR7-NEXT: vsrw 2, 2, 4
8232 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
8233 ; PWR7-NEXT: blr
8237 ; PWR8-NEXT: vspltisw 3, -16
8238 ; PWR8-NEXT: vspltisw 4, 1
8239 ; PWR8-NEXT: vpopcntw 2, 2
8240 ; PWR8-NEXT: vsubuwm 3, 4, 3
8241 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
8242 ; PWR8-NEXT: blr
8246 ; PWR9-NEXT: vspltisw 3, -16
8247 ; PWR9-NEXT: vspltisw 4, 1
8248 ; PWR9-NEXT: vpopcntw 2, 2
8249 ; PWR9-NEXT: vsubuwm 3, 4, 3
8250 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
8251 ; PWR9-NEXT: blr
8261 ; PWR5-NEXT: addis 3, 2, .LCPI73_0@toc@ha
8262 ; PWR5-NEXT: vspltisw 4, 1
8263 ; PWR5-NEXT: vxor 3, 3, 3
8264 ; PWR5-NEXT: addi 3, 3, .LCPI73_0@toc@l
8265 ; PWR5-NEXT: lvx 5, 0, 3
8266 ; PWR5-NEXT: addis 3, 2, .LCPI73_1@toc@ha
8267 ; PWR5-NEXT: addi 3, 3, .LCPI73_1@toc@l
8268 ; PWR5-NEXT: vspltisw 0, 2
8269 ; PWR5-NEXT: vsrw 4, 2, 4
8270 ; PWR5-NEXT: vand 4, 4, 5
8271 ; PWR5-NEXT: lvx 5, 0, 3
8272 ; PWR5-NEXT: vsubuwm 2, 2, 4
8273 ; PWR5-NEXT: vand 4, 2, 5
8274 ; PWR5-NEXT: vsrw 2, 2, 0
8275 ; PWR5-NEXT: vand 2, 2, 5
8276 ; PWR5-NEXT: vspltisw 5, 4
8277 ; PWR5-NEXT: vadduwm 2, 4, 2
8278 ; PWR5-NEXT: vsrw 4, 2, 5
8279 ; PWR5-NEXT: vspltisb 5, 15
8280 ; PWR5-NEXT: vadduwm 2, 2, 4
8281 ; PWR5-NEXT: vspltisb 4, 1
8282 ; PWR5-NEXT: vand 2, 2, 5
8283 ; PWR5-NEXT: vspltisw 5, -16
8284 ; PWR5-NEXT: vrlw 0, 4, 5
8285 ; PWR5-NEXT: vmulouh 4, 2, 4
8286 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
8287 ; PWR5-NEXT: vspltisw 3, 12
8288 ; PWR5-NEXT: vadduwm 3, 3, 3
8289 ; PWR5-NEXT: vslw 2, 2, 5
8290 ; PWR5-NEXT: vadduwm 2, 4, 2
8291 ; PWR5-NEXT: vsrw 2, 2, 3
8292 ; PWR5-NEXT: vspltisw 3, 9
8293 ; PWR5-NEXT: vadduwm 3, 3, 3
8294 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
8295 ; PWR5-NEXT: blr
8299 ; PWR6-NEXT: addis 3, 2, .LCPI73_0@toc@ha
8300 ; PWR6-NEXT: vspltisw 4, 1
8301 ; PWR6-NEXT: vxor 3, 3, 3
8302 ; PWR6-NEXT: addi 3, 3, .LCPI73_0@toc@l
8303 ; PWR6-NEXT: lvx 5, 0, 3
8304 ; PWR6-NEXT: addis 3, 2, .LCPI73_1@toc@ha
8305 ; PWR6-NEXT: addi 3, 3, .LCPI73_1@toc@l
8306 ; PWR6-NEXT: vspltisw 0, 2
8307 ; PWR6-NEXT: vsrw 4, 2, 4
8308 ; PWR6-NEXT: vand 4, 4, 5
8309 ; PWR6-NEXT: lvx 5, 0, 3
8310 ; PWR6-NEXT: vsubuwm 2, 2, 4
8311 ; PWR6-NEXT: vand 4, 2, 5
8312 ; PWR6-NEXT: vsrw 2, 2, 0
8313 ; PWR6-NEXT: vand 2, 2, 5
8314 ; PWR6-NEXT: vspltisw 5, 4
8315 ; PWR6-NEXT: vadduwm 2, 4, 2
8316 ; PWR6-NEXT: vsrw 4, 2, 5
8317 ; PWR6-NEXT: vspltisb 5, 15
8318 ; PWR6-NEXT: vadduwm 2, 2, 4
8319 ; PWR6-NEXT: vspltisb 4, 1
8320 ; PWR6-NEXT: vand 2, 2, 5
8321 ; PWR6-NEXT: vspltisw 5, -16
8322 ; PWR6-NEXT: vrlw 0, 4, 5
8323 ; PWR6-NEXT: vmulouh 4, 2, 4
8324 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
8325 ; PWR6-NEXT: vspltisw 3, 12
8326 ; PWR6-NEXT: vadduwm 3, 3, 3
8327 ; PWR6-NEXT: vslw 2, 2, 5
8328 ; PWR6-NEXT: vadduwm 2, 4, 2
8329 ; PWR6-NEXT: vsrw 2, 2, 3
8330 ; PWR6-NEXT: vspltisw 3, 9
8331 ; PWR6-NEXT: vadduwm 3, 3, 3
8332 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
8333 ; PWR6-NEXT: blr
8337 ; PWR7-NEXT: vspltisw 3, 1
8338 ; PWR7-NEXT: addis 3, 2, .LCPI73_0@toc@ha
8339 ; PWR7-NEXT: addi 3, 3, .LCPI73_0@toc@l
8340 ; PWR7-NEXT: vspltisw 4, 2
8341 ; PWR7-NEXT: lxvw4x 0, 0, 3
8342 ; PWR7-NEXT: addis 3, 2, .LCPI73_1@toc@ha
8343 ; PWR7-NEXT: vspltisw 5, -16
8344 ; PWR7-NEXT: vsrw 3, 2, 3
8345 ; PWR7-NEXT: addi 3, 3, .LCPI73_1@toc@l
8346 ; PWR7-NEXT: vspltisb 0, 15
8347 ; PWR7-NEXT: xxland 35, 35, 0
8348 ; PWR7-NEXT: lxvw4x 0, 0, 3
8349 ; PWR7-NEXT: vsubuwm 2, 2, 3
8350 ; PWR7-NEXT: vsrw 3, 2, 4
8351 ; PWR7-NEXT: xxland 34, 34, 0
8352 ; PWR7-NEXT: vspltisw 4, 4
8353 ; PWR7-NEXT: xxland 35, 35, 0
8354 ; PWR7-NEXT: vadduwm 2, 2, 3
8355 ; PWR7-NEXT: vsrw 3, 2, 4
8356 ; PWR7-NEXT: vspltisb 4, 1
8357 ; PWR7-NEXT: vrlw 1, 4, 5
8358 ; PWR7-NEXT: vadduwm 2, 2, 3
8359 ; PWR7-NEXT: xxlxor 35, 35, 35
8360 ; PWR7-NEXT: xxland 34, 34, 32
8361 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
8362 ; PWR7-NEXT: vmulouh 2, 2, 4
8363 ; PWR7-NEXT: vspltisw 4, 12
8364 ; PWR7-NEXT: vslw 3, 3, 5
8365 ; PWR7-NEXT: vadduwm 2, 2, 3
8366 ; PWR7-NEXT: vadduwm 3, 4, 4
8367 ; PWR7-NEXT: vsrw 2, 2, 3
8368 ; PWR7-NEXT: vspltisw 3, 9
8369 ; PWR7-NEXT: vadduwm 3, 3, 3
8370 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
8371 ; PWR7-NEXT: blr
8375 ; PWR8-NEXT: vspltisw 3, 9
8376 ; PWR8-NEXT: vpopcntw 2, 2
8377 ; PWR8-NEXT: vadduwm 3, 3, 3
8378 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
8379 ; PWR8-NEXT: blr
8383 ; PWR9-NEXT: vspltisw 3, 9
8384 ; PWR9-NEXT: vpopcntw 2, 2
8385 ; PWR9-NEXT: vadduwm 3, 3, 3
8386 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
8387 ; PWR9-NEXT: blr
8397 ; PWR5-NEXT: addis 3, 2, .LCPI74_0@toc@ha
8398 ; PWR5-NEXT: vspltisw 4, 1
8399 ; PWR5-NEXT: vxor 3, 3, 3
8400 ; PWR5-NEXT: addi 3, 3, .LCPI74_0@toc@l
8401 ; PWR5-NEXT: lvx 5, 0, 3
8402 ; PWR5-NEXT: addis 3, 2, .LCPI74_1@toc@ha
8403 ; PWR5-NEXT: addi 3, 3, .LCPI74_1@toc@l
8404 ; PWR5-NEXT: vspltisw 0, 2
8405 ; PWR5-NEXT: vsrw 4, 2, 4
8406 ; PWR5-NEXT: vand 4, 4, 5
8407 ; PWR5-NEXT: lvx 5, 0, 3
8408 ; PWR5-NEXT: vsubuwm 2, 2, 4
8409 ; PWR5-NEXT: vand 4, 2, 5
8410 ; PWR5-NEXT: vsrw 2, 2, 0
8411 ; PWR5-NEXT: vand 2, 2, 5
8412 ; PWR5-NEXT: vspltisw 5, 4
8413 ; PWR5-NEXT: vadduwm 2, 4, 2
8414 ; PWR5-NEXT: vsrw 4, 2, 5
8415 ; PWR5-NEXT: vspltisb 5, 15
8416 ; PWR5-NEXT: vadduwm 2, 2, 4
8417 ; PWR5-NEXT: vspltisb 4, 1
8418 ; PWR5-NEXT: vand 2, 2, 5
8419 ; PWR5-NEXT: vspltisw 5, -16
8420 ; PWR5-NEXT: vrlw 0, 4, 5
8421 ; PWR5-NEXT: vmulouh 4, 2, 4
8422 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
8423 ; PWR5-NEXT: vspltisw 3, 12
8424 ; PWR5-NEXT: vadduwm 3, 3, 3
8425 ; PWR5-NEXT: vslw 2, 2, 5
8426 ; PWR5-NEXT: vadduwm 2, 4, 2
8427 ; PWR5-NEXT: vsrw 2, 2, 3
8428 ; PWR5-NEXT: vspltisw 3, 9
8429 ; PWR5-NEXT: vadduwm 3, 3, 3
8430 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
8431 ; PWR5-NEXT: blr
8435 ; PWR6-NEXT: addis 3, 2, .LCPI74_0@toc@ha
8436 ; PWR6-NEXT: vspltisw 4, 1
8437 ; PWR6-NEXT: vxor 3, 3, 3
8438 ; PWR6-NEXT: addi 3, 3, .LCPI74_0@toc@l
8439 ; PWR6-NEXT: lvx 5, 0, 3
8440 ; PWR6-NEXT: addis 3, 2, .LCPI74_1@toc@ha
8441 ; PWR6-NEXT: addi 3, 3, .LCPI74_1@toc@l
8442 ; PWR6-NEXT: vspltisw 0, 2
8443 ; PWR6-NEXT: vsrw 4, 2, 4
8444 ; PWR6-NEXT: vand 4, 4, 5
8445 ; PWR6-NEXT: lvx 5, 0, 3
8446 ; PWR6-NEXT: vsubuwm 2, 2, 4
8447 ; PWR6-NEXT: vand 4, 2, 5
8448 ; PWR6-NEXT: vsrw 2, 2, 0
8449 ; PWR6-NEXT: vand 2, 2, 5
8450 ; PWR6-NEXT: vspltisw 5, 4
8451 ; PWR6-NEXT: vadduwm 2, 4, 2
8452 ; PWR6-NEXT: vsrw 4, 2, 5
8453 ; PWR6-NEXT: vspltisb 5, 15
8454 ; PWR6-NEXT: vadduwm 2, 2, 4
8455 ; PWR6-NEXT: vspltisb 4, 1
8456 ; PWR6-NEXT: vand 2, 2, 5
8457 ; PWR6-NEXT: vspltisw 5, -16
8458 ; PWR6-NEXT: vrlw 0, 4, 5
8459 ; PWR6-NEXT: vmulouh 4, 2, 4
8460 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
8461 ; PWR6-NEXT: vspltisw 3, 12
8462 ; PWR6-NEXT: vadduwm 3, 3, 3
8463 ; PWR6-NEXT: vslw 2, 2, 5
8464 ; PWR6-NEXT: vadduwm 2, 4, 2
8465 ; PWR6-NEXT: vsrw 2, 2, 3
8466 ; PWR6-NEXT: vspltisw 3, 9
8467 ; PWR6-NEXT: vadduwm 3, 3, 3
8468 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
8469 ; PWR6-NEXT: blr
8473 ; PWR7-NEXT: vspltisw 3, 1
8474 ; PWR7-NEXT: addis 3, 2, .LCPI74_0@toc@ha
8475 ; PWR7-NEXT: addi 3, 3, .LCPI74_0@toc@l
8476 ; PWR7-NEXT: vspltisw 4, 2
8477 ; PWR7-NEXT: lxvw4x 0, 0, 3
8478 ; PWR7-NEXT: addis 3, 2, .LCPI74_1@toc@ha
8479 ; PWR7-NEXT: vspltisw 5, -16
8480 ; PWR7-NEXT: vsrw 3, 2, 3
8481 ; PWR7-NEXT: addi 3, 3, .LCPI74_1@toc@l
8482 ; PWR7-NEXT: vspltisb 0, 15
8483 ; PWR7-NEXT: xxland 35, 35, 0
8484 ; PWR7-NEXT: lxvw4x 0, 0, 3
8485 ; PWR7-NEXT: vsubuwm 2, 2, 3
8486 ; PWR7-NEXT: vsrw 3, 2, 4
8487 ; PWR7-NEXT: xxland 34, 34, 0
8488 ; PWR7-NEXT: vspltisw 4, 4
8489 ; PWR7-NEXT: xxland 35, 35, 0
8490 ; PWR7-NEXT: vadduwm 2, 2, 3
8491 ; PWR7-NEXT: vsrw 3, 2, 4
8492 ; PWR7-NEXT: vspltisb 4, 1
8493 ; PWR7-NEXT: vrlw 1, 4, 5
8494 ; PWR7-NEXT: vadduwm 2, 2, 3
8495 ; PWR7-NEXT: xxlxor 35, 35, 35
8496 ; PWR7-NEXT: xxland 34, 34, 32
8497 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
8498 ; PWR7-NEXT: vmulouh 2, 2, 4
8499 ; PWR7-NEXT: vspltisw 4, 12
8500 ; PWR7-NEXT: vslw 3, 3, 5
8501 ; PWR7-NEXT: vadduwm 2, 2, 3
8502 ; PWR7-NEXT: vadduwm 3, 4, 4
8503 ; PWR7-NEXT: vsrw 2, 2, 3
8504 ; PWR7-NEXT: vspltisw 3, 9
8505 ; PWR7-NEXT: vadduwm 3, 3, 3
8506 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
8507 ; PWR7-NEXT: blr
8511 ; PWR8-NEXT: vspltisw 3, 9
8512 ; PWR8-NEXT: vpopcntw 2, 2
8513 ; PWR8-NEXT: vadduwm 3, 3, 3
8514 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
8515 ; PWR8-NEXT: blr
8519 ; PWR9-NEXT: vspltisw 3, 9
8520 ; PWR9-NEXT: vpopcntw 2, 2
8521 ; PWR9-NEXT: vadduwm 3, 3, 3
8522 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
8523 ; PWR9-NEXT: blr
8533 ; PWR5-NEXT: addis 3, 2, .LCPI75_0@toc@ha
8534 ; PWR5-NEXT: vspltisw 4, 1
8535 ; PWR5-NEXT: vxor 3, 3, 3
8536 ; PWR5-NEXT: addi 3, 3, .LCPI75_0@toc@l
8537 ; PWR5-NEXT: lvx 5, 0, 3
8538 ; PWR5-NEXT: addis 3, 2, .LCPI75_1@toc@ha
8539 ; PWR5-NEXT: addi 3, 3, .LCPI75_1@toc@l
8540 ; PWR5-NEXT: vspltisw 0, 2
8541 ; PWR5-NEXT: vsrw 4, 2, 4
8542 ; PWR5-NEXT: vand 4, 4, 5
8543 ; PWR5-NEXT: lvx 5, 0, 3
8544 ; PWR5-NEXT: vsubuwm 2, 2, 4
8545 ; PWR5-NEXT: vand 4, 2, 5
8546 ; PWR5-NEXT: vsrw 2, 2, 0
8547 ; PWR5-NEXT: vand 2, 2, 5
8548 ; PWR5-NEXT: vspltisw 5, 4
8549 ; PWR5-NEXT: vadduwm 2, 4, 2
8550 ; PWR5-NEXT: vsrw 4, 2, 5
8551 ; PWR5-NEXT: vspltisb 5, 15
8552 ; PWR5-NEXT: vadduwm 2, 2, 4
8553 ; PWR5-NEXT: vspltisb 4, 1
8554 ; PWR5-NEXT: vand 2, 2, 5
8555 ; PWR5-NEXT: vspltisw 5, -16
8556 ; PWR5-NEXT: vrlw 0, 4, 5
8557 ; PWR5-NEXT: vmulouh 4, 2, 4
8558 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
8559 ; PWR5-NEXT: vspltisw 3, 12
8560 ; PWR5-NEXT: vadduwm 3, 3, 3
8561 ; PWR5-NEXT: vslw 2, 2, 5
8562 ; PWR5-NEXT: vadduwm 2, 4, 2
8563 ; PWR5-NEXT: vsrw 2, 2, 3
8564 ; PWR5-NEXT: vspltisw 3, 3
8565 ; PWR5-NEXT: vsubuwm 3, 3, 5
8566 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
8567 ; PWR5-NEXT: blr
8571 ; PWR6-NEXT: addis 3, 2, .LCPI75_0@toc@ha
8572 ; PWR6-NEXT: vspltisw 4, 1
8573 ; PWR6-NEXT: vxor 3, 3, 3
8574 ; PWR6-NEXT: addi 3, 3, .LCPI75_0@toc@l
8575 ; PWR6-NEXT: lvx 5, 0, 3
8576 ; PWR6-NEXT: addis 3, 2, .LCPI75_1@toc@ha
8577 ; PWR6-NEXT: addi 3, 3, .LCPI75_1@toc@l
8578 ; PWR6-NEXT: vspltisw 0, 2
8579 ; PWR6-NEXT: vsrw 4, 2, 4
8580 ; PWR6-NEXT: vand 4, 4, 5
8581 ; PWR6-NEXT: lvx 5, 0, 3
8582 ; PWR6-NEXT: vsubuwm 2, 2, 4
8583 ; PWR6-NEXT: vand 4, 2, 5
8584 ; PWR6-NEXT: vsrw 2, 2, 0
8585 ; PWR6-NEXT: vand 2, 2, 5
8586 ; PWR6-NEXT: vspltisw 5, 4
8587 ; PWR6-NEXT: vadduwm 2, 4, 2
8588 ; PWR6-NEXT: vsrw 4, 2, 5
8589 ; PWR6-NEXT: vspltisb 5, 15
8590 ; PWR6-NEXT: vadduwm 2, 2, 4
8591 ; PWR6-NEXT: vspltisb 4, 1
8592 ; PWR6-NEXT: vand 2, 2, 5
8593 ; PWR6-NEXT: vspltisw 5, -16
8594 ; PWR6-NEXT: vrlw 0, 4, 5
8595 ; PWR6-NEXT: vmulouh 4, 2, 4
8596 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
8597 ; PWR6-NEXT: vspltisw 3, 12
8598 ; PWR6-NEXT: vadduwm 3, 3, 3
8599 ; PWR6-NEXT: vslw 2, 2, 5
8600 ; PWR6-NEXT: vadduwm 2, 4, 2
8601 ; PWR6-NEXT: vsrw 2, 2, 3
8602 ; PWR6-NEXT: vspltisw 3, 3
8603 ; PWR6-NEXT: vsubuwm 3, 3, 5
8604 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
8605 ; PWR6-NEXT: blr
8609 ; PWR7-NEXT: vspltisw 3, 1
8610 ; PWR7-NEXT: addis 3, 2, .LCPI75_0@toc@ha
8611 ; PWR7-NEXT: addi 3, 3, .LCPI75_0@toc@l
8612 ; PWR7-NEXT: vspltisw 4, 2
8613 ; PWR7-NEXT: lxvw4x 0, 0, 3
8614 ; PWR7-NEXT: addis 3, 2, .LCPI75_1@toc@ha
8615 ; PWR7-NEXT: vspltisw 5, -16
8616 ; PWR7-NEXT: vsrw 3, 2, 3
8617 ; PWR7-NEXT: addi 3, 3, .LCPI75_1@toc@l
8618 ; PWR7-NEXT: vspltisb 0, 15
8619 ; PWR7-NEXT: xxland 35, 35, 0
8620 ; PWR7-NEXT: lxvw4x 0, 0, 3
8621 ; PWR7-NEXT: vsubuwm 2, 2, 3
8622 ; PWR7-NEXT: vsrw 3, 2, 4
8623 ; PWR7-NEXT: xxland 34, 34, 0
8624 ; PWR7-NEXT: vspltisw 4, 4
8625 ; PWR7-NEXT: xxland 35, 35, 0
8626 ; PWR7-NEXT: vadduwm 2, 2, 3
8627 ; PWR7-NEXT: vsrw 3, 2, 4
8628 ; PWR7-NEXT: vspltisb 4, 1
8629 ; PWR7-NEXT: vrlw 1, 4, 5
8630 ; PWR7-NEXT: vadduwm 2, 2, 3
8631 ; PWR7-NEXT: xxlxor 35, 35, 35
8632 ; PWR7-NEXT: xxland 34, 34, 32
8633 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
8634 ; PWR7-NEXT: vmulouh 2, 2, 4
8635 ; PWR7-NEXT: vspltisw 4, 12
8636 ; PWR7-NEXT: vslw 3, 3, 5
8637 ; PWR7-NEXT: vadduwm 2, 2, 3
8638 ; PWR7-NEXT: vadduwm 3, 4, 4
8639 ; PWR7-NEXT: vsrw 2, 2, 3
8640 ; PWR7-NEXT: vspltisw 3, 3
8641 ; PWR7-NEXT: vsubuwm 3, 3, 5
8642 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
8643 ; PWR7-NEXT: blr
8647 ; PWR8-NEXT: vspltisw 3, -16
8648 ; PWR8-NEXT: vspltisw 4, 3
8649 ; PWR8-NEXT: vpopcntw 2, 2
8650 ; PWR8-NEXT: vsubuwm 3, 4, 3
8651 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
8652 ; PWR8-NEXT: blr
8656 ; PWR9-NEXT: vspltisw 3, -16
8657 ; PWR9-NEXT: vspltisw 4, 3
8658 ; PWR9-NEXT: vpopcntw 2, 2
8659 ; PWR9-NEXT: vsubuwm 3, 4, 3
8660 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
8661 ; PWR9-NEXT: blr
8671 ; PWR5-NEXT: addis 3, 2, .LCPI76_0@toc@ha
8672 ; PWR5-NEXT: vspltisw 4, 1
8673 ; PWR5-NEXT: vxor 3, 3, 3
8674 ; PWR5-NEXT: addi 3, 3, .LCPI76_0@toc@l
8675 ; PWR5-NEXT: lvx 5, 0, 3
8676 ; PWR5-NEXT: addis 3, 2, .LCPI76_1@toc@ha
8677 ; PWR5-NEXT: addi 3, 3, .LCPI76_1@toc@l
8678 ; PWR5-NEXT: vspltisw 0, 2
8679 ; PWR5-NEXT: vsrw 4, 2, 4
8680 ; PWR5-NEXT: vand 4, 4, 5
8681 ; PWR5-NEXT: lvx 5, 0, 3
8682 ; PWR5-NEXT: vsubuwm 2, 2, 4
8683 ; PWR5-NEXT: vand 4, 2, 5
8684 ; PWR5-NEXT: vsrw 2, 2, 0
8685 ; PWR5-NEXT: vand 2, 2, 5
8686 ; PWR5-NEXT: vspltisw 5, 4
8687 ; PWR5-NEXT: vadduwm 2, 4, 2
8688 ; PWR5-NEXT: vsrw 4, 2, 5
8689 ; PWR5-NEXT: vspltisb 5, 15
8690 ; PWR5-NEXT: vadduwm 2, 2, 4
8691 ; PWR5-NEXT: vspltisb 4, 1
8692 ; PWR5-NEXT: vand 2, 2, 5
8693 ; PWR5-NEXT: vspltisw 5, -16
8694 ; PWR5-NEXT: vrlw 0, 4, 5
8695 ; PWR5-NEXT: vmulouh 4, 2, 4
8696 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
8697 ; PWR5-NEXT: vspltisw 3, 12
8698 ; PWR5-NEXT: vadduwm 3, 3, 3
8699 ; PWR5-NEXT: vslw 2, 2, 5
8700 ; PWR5-NEXT: vadduwm 2, 4, 2
8701 ; PWR5-NEXT: vsrw 2, 2, 3
8702 ; PWR5-NEXT: vspltisw 3, 3
8703 ; PWR5-NEXT: vsubuwm 3, 3, 5
8704 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
8705 ; PWR5-NEXT: blr
8709 ; PWR6-NEXT: addis 3, 2, .LCPI76_0@toc@ha
8710 ; PWR6-NEXT: vspltisw 4, 1
8711 ; PWR6-NEXT: vxor 3, 3, 3
8712 ; PWR6-NEXT: addi 3, 3, .LCPI76_0@toc@l
8713 ; PWR6-NEXT: lvx 5, 0, 3
8714 ; PWR6-NEXT: addis 3, 2, .LCPI76_1@toc@ha
8715 ; PWR6-NEXT: addi 3, 3, .LCPI76_1@toc@l
8716 ; PWR6-NEXT: vspltisw 0, 2
8717 ; PWR6-NEXT: vsrw 4, 2, 4
8718 ; PWR6-NEXT: vand 4, 4, 5
8719 ; PWR6-NEXT: lvx 5, 0, 3
8720 ; PWR6-NEXT: vsubuwm 2, 2, 4
8721 ; PWR6-NEXT: vand 4, 2, 5
8722 ; PWR6-NEXT: vsrw 2, 2, 0
8723 ; PWR6-NEXT: vand 2, 2, 5
8724 ; PWR6-NEXT: vspltisw 5, 4
8725 ; PWR6-NEXT: vadduwm 2, 4, 2
8726 ; PWR6-NEXT: vsrw 4, 2, 5
8727 ; PWR6-NEXT: vspltisb 5, 15
8728 ; PWR6-NEXT: vadduwm 2, 2, 4
8729 ; PWR6-NEXT: vspltisb 4, 1
8730 ; PWR6-NEXT: vand 2, 2, 5
8731 ; PWR6-NEXT: vspltisw 5, -16
8732 ; PWR6-NEXT: vrlw 0, 4, 5
8733 ; PWR6-NEXT: vmulouh 4, 2, 4
8734 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
8735 ; PWR6-NEXT: vspltisw 3, 12
8736 ; PWR6-NEXT: vadduwm 3, 3, 3
8737 ; PWR6-NEXT: vslw 2, 2, 5
8738 ; PWR6-NEXT: vadduwm 2, 4, 2
8739 ; PWR6-NEXT: vsrw 2, 2, 3
8740 ; PWR6-NEXT: vspltisw 3, 3
8741 ; PWR6-NEXT: vsubuwm 3, 3, 5
8742 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
8743 ; PWR6-NEXT: blr
8747 ; PWR7-NEXT: vspltisw 3, 1
8748 ; PWR7-NEXT: addis 3, 2, .LCPI76_0@toc@ha
8749 ; PWR7-NEXT: addi 3, 3, .LCPI76_0@toc@l
8750 ; PWR7-NEXT: vspltisw 4, 2
8751 ; PWR7-NEXT: lxvw4x 0, 0, 3
8752 ; PWR7-NEXT: addis 3, 2, .LCPI76_1@toc@ha
8753 ; PWR7-NEXT: vspltisw 5, -16
8754 ; PWR7-NEXT: vsrw 3, 2, 3
8755 ; PWR7-NEXT: addi 3, 3, .LCPI76_1@toc@l
8756 ; PWR7-NEXT: vspltisb 0, 15
8757 ; PWR7-NEXT: xxland 35, 35, 0
8758 ; PWR7-NEXT: lxvw4x 0, 0, 3
8759 ; PWR7-NEXT: vsubuwm 2, 2, 3
8760 ; PWR7-NEXT: vsrw 3, 2, 4
8761 ; PWR7-NEXT: xxland 34, 34, 0
8762 ; PWR7-NEXT: vspltisw 4, 4
8763 ; PWR7-NEXT: xxland 35, 35, 0
8764 ; PWR7-NEXT: vadduwm 2, 2, 3
8765 ; PWR7-NEXT: vsrw 3, 2, 4
8766 ; PWR7-NEXT: vspltisb 4, 1
8767 ; PWR7-NEXT: vrlw 1, 4, 5
8768 ; PWR7-NEXT: vadduwm 2, 2, 3
8769 ; PWR7-NEXT: xxlxor 35, 35, 35
8770 ; PWR7-NEXT: xxland 34, 34, 32
8771 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
8772 ; PWR7-NEXT: vmulouh 2, 2, 4
8773 ; PWR7-NEXT: vspltisw 4, 12
8774 ; PWR7-NEXT: vslw 3, 3, 5
8775 ; PWR7-NEXT: vadduwm 2, 2, 3
8776 ; PWR7-NEXT: vadduwm 3, 4, 4
8777 ; PWR7-NEXT: vsrw 2, 2, 3
8778 ; PWR7-NEXT: vspltisw 3, 3
8779 ; PWR7-NEXT: vsubuwm 3, 3, 5
8780 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
8781 ; PWR7-NEXT: blr
8785 ; PWR8-NEXT: vspltisw 3, -16
8786 ; PWR8-NEXT: vspltisw 4, 3
8787 ; PWR8-NEXT: vpopcntw 2, 2
8788 ; PWR8-NEXT: vsubuwm 3, 4, 3
8789 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
8790 ; PWR8-NEXT: blr
8794 ; PWR9-NEXT: vspltisw 3, -16
8795 ; PWR9-NEXT: vspltisw 4, 3
8796 ; PWR9-NEXT: vpopcntw 2, 2
8797 ; PWR9-NEXT: vsubuwm 3, 4, 3
8798 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
8799 ; PWR9-NEXT: blr
8809 ; PWR5-NEXT: addis 3, 2, .LCPI77_0@toc@ha
8810 ; PWR5-NEXT: vspltisw 4, 1
8811 ; PWR5-NEXT: vxor 3, 3, 3
8812 ; PWR5-NEXT: addi 3, 3, .LCPI77_0@toc@l
8813 ; PWR5-NEXT: lvx 5, 0, 3
8814 ; PWR5-NEXT: addis 3, 2, .LCPI77_1@toc@ha
8815 ; PWR5-NEXT: addi 3, 3, .LCPI77_1@toc@l
8816 ; PWR5-NEXT: vspltisw 0, 2
8817 ; PWR5-NEXT: vsrw 4, 2, 4
8818 ; PWR5-NEXT: vand 4, 4, 5
8819 ; PWR5-NEXT: lvx 5, 0, 3
8820 ; PWR5-NEXT: vsubuwm 2, 2, 4
8821 ; PWR5-NEXT: vand 4, 2, 5
8822 ; PWR5-NEXT: vsrw 2, 2, 0
8823 ; PWR5-NEXT: vand 2, 2, 5
8824 ; PWR5-NEXT: vspltisw 5, 4
8825 ; PWR5-NEXT: vadduwm 2, 4, 2
8826 ; PWR5-NEXT: vsrw 4, 2, 5
8827 ; PWR5-NEXT: vspltisb 5, 15
8828 ; PWR5-NEXT: vadduwm 2, 2, 4
8829 ; PWR5-NEXT: vspltisb 4, 1
8830 ; PWR5-NEXT: vand 2, 2, 5
8831 ; PWR5-NEXT: vspltisw 5, -16
8832 ; PWR5-NEXT: vrlw 0, 4, 5
8833 ; PWR5-NEXT: vmulouh 4, 2, 4
8834 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
8835 ; PWR5-NEXT: vspltisw 3, 12
8836 ; PWR5-NEXT: vadduwm 3, 3, 3
8837 ; PWR5-NEXT: vslw 2, 2, 5
8838 ; PWR5-NEXT: vadduwm 2, 4, 2
8839 ; PWR5-NEXT: vsrw 2, 2, 3
8840 ; PWR5-NEXT: vspltisw 3, 10
8841 ; PWR5-NEXT: vadduwm 3, 3, 3
8842 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
8843 ; PWR5-NEXT: blr
8847 ; PWR6-NEXT: addis 3, 2, .LCPI77_0@toc@ha
8848 ; PWR6-NEXT: vspltisw 4, 1
8849 ; PWR6-NEXT: vxor 3, 3, 3
8850 ; PWR6-NEXT: addi 3, 3, .LCPI77_0@toc@l
8851 ; PWR6-NEXT: lvx 5, 0, 3
8852 ; PWR6-NEXT: addis 3, 2, .LCPI77_1@toc@ha
8853 ; PWR6-NEXT: addi 3, 3, .LCPI77_1@toc@l
8854 ; PWR6-NEXT: vspltisw 0, 2
8855 ; PWR6-NEXT: vsrw 4, 2, 4
8856 ; PWR6-NEXT: vand 4, 4, 5
8857 ; PWR6-NEXT: lvx 5, 0, 3
8858 ; PWR6-NEXT: vsubuwm 2, 2, 4
8859 ; PWR6-NEXT: vand 4, 2, 5
8860 ; PWR6-NEXT: vsrw 2, 2, 0
8861 ; PWR6-NEXT: vand 2, 2, 5
8862 ; PWR6-NEXT: vspltisw 5, 4
8863 ; PWR6-NEXT: vadduwm 2, 4, 2
8864 ; PWR6-NEXT: vsrw 4, 2, 5
8865 ; PWR6-NEXT: vspltisb 5, 15
8866 ; PWR6-NEXT: vadduwm 2, 2, 4
8867 ; PWR6-NEXT: vspltisb 4, 1
8868 ; PWR6-NEXT: vand 2, 2, 5
8869 ; PWR6-NEXT: vspltisw 5, -16
8870 ; PWR6-NEXT: vrlw 0, 4, 5
8871 ; PWR6-NEXT: vmulouh 4, 2, 4
8872 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
8873 ; PWR6-NEXT: vspltisw 3, 12
8874 ; PWR6-NEXT: vadduwm 3, 3, 3
8875 ; PWR6-NEXT: vslw 2, 2, 5
8876 ; PWR6-NEXT: vadduwm 2, 4, 2
8877 ; PWR6-NEXT: vsrw 2, 2, 3
8878 ; PWR6-NEXT: vspltisw 3, 10
8879 ; PWR6-NEXT: vadduwm 3, 3, 3
8880 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
8881 ; PWR6-NEXT: blr
8885 ; PWR7-NEXT: vspltisw 3, 1
8886 ; PWR7-NEXT: addis 3, 2, .LCPI77_0@toc@ha
8887 ; PWR7-NEXT: addi 3, 3, .LCPI77_0@toc@l
8888 ; PWR7-NEXT: vspltisw 4, 2
8889 ; PWR7-NEXT: lxvw4x 0, 0, 3
8890 ; PWR7-NEXT: addis 3, 2, .LCPI77_1@toc@ha
8891 ; PWR7-NEXT: vspltisw 5, -16
8892 ; PWR7-NEXT: vsrw 3, 2, 3
8893 ; PWR7-NEXT: addi 3, 3, .LCPI77_1@toc@l
8894 ; PWR7-NEXT: vspltisb 0, 15
8895 ; PWR7-NEXT: xxland 35, 35, 0
8896 ; PWR7-NEXT: lxvw4x 0, 0, 3
8897 ; PWR7-NEXT: vsubuwm 2, 2, 3
8898 ; PWR7-NEXT: vsrw 3, 2, 4
8899 ; PWR7-NEXT: xxland 34, 34, 0
8900 ; PWR7-NEXT: vspltisw 4, 4
8901 ; PWR7-NEXT: xxland 35, 35, 0
8902 ; PWR7-NEXT: vadduwm 2, 2, 3
8903 ; PWR7-NEXT: vsrw 3, 2, 4
8904 ; PWR7-NEXT: vspltisb 4, 1
8905 ; PWR7-NEXT: vrlw 1, 4, 5
8906 ; PWR7-NEXT: vadduwm 2, 2, 3
8907 ; PWR7-NEXT: xxlxor 35, 35, 35
8908 ; PWR7-NEXT: xxland 34, 34, 32
8909 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
8910 ; PWR7-NEXT: vmulouh 2, 2, 4
8911 ; PWR7-NEXT: vspltisw 4, 12
8912 ; PWR7-NEXT: vslw 3, 3, 5
8913 ; PWR7-NEXT: vadduwm 2, 2, 3
8914 ; PWR7-NEXT: vadduwm 3, 4, 4
8915 ; PWR7-NEXT: vsrw 2, 2, 3
8916 ; PWR7-NEXT: vspltisw 3, 10
8917 ; PWR7-NEXT: vadduwm 3, 3, 3
8918 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
8919 ; PWR7-NEXT: blr
8923 ; PWR8-NEXT: vspltisw 3, 10
8924 ; PWR8-NEXT: vpopcntw 2, 2
8925 ; PWR8-NEXT: vadduwm 3, 3, 3
8926 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
8927 ; PWR8-NEXT: blr
8931 ; PWR9-NEXT: vspltisw 3, 10
8932 ; PWR9-NEXT: vpopcntw 2, 2
8933 ; PWR9-NEXT: vadduwm 3, 3, 3
8934 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
8935 ; PWR9-NEXT: blr
8945 ; PWR5-NEXT: addis 3, 2, .LCPI78_0@toc@ha
8946 ; PWR5-NEXT: vspltisw 4, 1
8947 ; PWR5-NEXT: vxor 3, 3, 3
8948 ; PWR5-NEXT: addi 3, 3, .LCPI78_0@toc@l
8949 ; PWR5-NEXT: lvx 5, 0, 3
8950 ; PWR5-NEXT: addis 3, 2, .LCPI78_1@toc@ha
8951 ; PWR5-NEXT: addi 3, 3, .LCPI78_1@toc@l
8952 ; PWR5-NEXT: vspltisw 0, 2
8953 ; PWR5-NEXT: vsrw 4, 2, 4
8954 ; PWR5-NEXT: vand 4, 4, 5
8955 ; PWR5-NEXT: lvx 5, 0, 3
8956 ; PWR5-NEXT: vsubuwm 2, 2, 4
8957 ; PWR5-NEXT: vand 4, 2, 5
8958 ; PWR5-NEXT: vsrw 2, 2, 0
8959 ; PWR5-NEXT: vand 2, 2, 5
8960 ; PWR5-NEXT: vspltisw 5, 4
8961 ; PWR5-NEXT: vadduwm 2, 4, 2
8962 ; PWR5-NEXT: vsrw 4, 2, 5
8963 ; PWR5-NEXT: vspltisb 5, 15
8964 ; PWR5-NEXT: vadduwm 2, 2, 4
8965 ; PWR5-NEXT: vspltisb 4, 1
8966 ; PWR5-NEXT: vand 2, 2, 5
8967 ; PWR5-NEXT: vspltisw 5, -16
8968 ; PWR5-NEXT: vrlw 0, 4, 5
8969 ; PWR5-NEXT: vmulouh 4, 2, 4
8970 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
8971 ; PWR5-NEXT: vspltisw 3, 12
8972 ; PWR5-NEXT: vadduwm 3, 3, 3
8973 ; PWR5-NEXT: vslw 2, 2, 5
8974 ; PWR5-NEXT: vadduwm 2, 4, 2
8975 ; PWR5-NEXT: vsrw 2, 2, 3
8976 ; PWR5-NEXT: vspltisw 3, 10
8977 ; PWR5-NEXT: vadduwm 3, 3, 3
8978 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
8979 ; PWR5-NEXT: blr
8983 ; PWR6-NEXT: addis 3, 2, .LCPI78_0@toc@ha
8984 ; PWR6-NEXT: vspltisw 4, 1
8985 ; PWR6-NEXT: vxor 3, 3, 3
8986 ; PWR6-NEXT: addi 3, 3, .LCPI78_0@toc@l
8987 ; PWR6-NEXT: lvx 5, 0, 3
8988 ; PWR6-NEXT: addis 3, 2, .LCPI78_1@toc@ha
8989 ; PWR6-NEXT: addi 3, 3, .LCPI78_1@toc@l
8990 ; PWR6-NEXT: vspltisw 0, 2
8991 ; PWR6-NEXT: vsrw 4, 2, 4
8992 ; PWR6-NEXT: vand 4, 4, 5
8993 ; PWR6-NEXT: lvx 5, 0, 3
8994 ; PWR6-NEXT: vsubuwm 2, 2, 4
8995 ; PWR6-NEXT: vand 4, 2, 5
8996 ; PWR6-NEXT: vsrw 2, 2, 0
8997 ; PWR6-NEXT: vand 2, 2, 5
8998 ; PWR6-NEXT: vspltisw 5, 4
8999 ; PWR6-NEXT: vadduwm 2, 4, 2
9000 ; PWR6-NEXT: vsrw 4, 2, 5
9001 ; PWR6-NEXT: vspltisb 5, 15
9002 ; PWR6-NEXT: vadduwm 2, 2, 4
9003 ; PWR6-NEXT: vspltisb 4, 1
9004 ; PWR6-NEXT: vand 2, 2, 5
9005 ; PWR6-NEXT: vspltisw 5, -16
9006 ; PWR6-NEXT: vrlw 0, 4, 5
9007 ; PWR6-NEXT: vmulouh 4, 2, 4
9008 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9009 ; PWR6-NEXT: vspltisw 3, 12
9010 ; PWR6-NEXT: vadduwm 3, 3, 3
9011 ; PWR6-NEXT: vslw 2, 2, 5
9012 ; PWR6-NEXT: vadduwm 2, 4, 2
9013 ; PWR6-NEXT: vsrw 2, 2, 3
9014 ; PWR6-NEXT: vspltisw 3, 10
9015 ; PWR6-NEXT: vadduwm 3, 3, 3
9016 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
9017 ; PWR6-NEXT: blr
9021 ; PWR7-NEXT: vspltisw 3, 1
9022 ; PWR7-NEXT: addis 3, 2, .LCPI78_0@toc@ha
9023 ; PWR7-NEXT: addi 3, 3, .LCPI78_0@toc@l
9024 ; PWR7-NEXT: vspltisw 4, 2
9025 ; PWR7-NEXT: lxvw4x 0, 0, 3
9026 ; PWR7-NEXT: addis 3, 2, .LCPI78_1@toc@ha
9027 ; PWR7-NEXT: vspltisw 5, -16
9028 ; PWR7-NEXT: vsrw 3, 2, 3
9029 ; PWR7-NEXT: addi 3, 3, .LCPI78_1@toc@l
9030 ; PWR7-NEXT: vspltisb 0, 15
9031 ; PWR7-NEXT: xxland 35, 35, 0
9032 ; PWR7-NEXT: lxvw4x 0, 0, 3
9033 ; PWR7-NEXT: vsubuwm 2, 2, 3
9034 ; PWR7-NEXT: vsrw 3, 2, 4
9035 ; PWR7-NEXT: xxland 34, 34, 0
9036 ; PWR7-NEXT: vspltisw 4, 4
9037 ; PWR7-NEXT: xxland 35, 35, 0
9038 ; PWR7-NEXT: vadduwm 2, 2, 3
9039 ; PWR7-NEXT: vsrw 3, 2, 4
9040 ; PWR7-NEXT: vspltisb 4, 1
9041 ; PWR7-NEXT: vrlw 1, 4, 5
9042 ; PWR7-NEXT: vadduwm 2, 2, 3
9043 ; PWR7-NEXT: xxlxor 35, 35, 35
9044 ; PWR7-NEXT: xxland 34, 34, 32
9045 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9046 ; PWR7-NEXT: vmulouh 2, 2, 4
9047 ; PWR7-NEXT: vspltisw 4, 12
9048 ; PWR7-NEXT: vslw 3, 3, 5
9049 ; PWR7-NEXT: vadduwm 2, 2, 3
9050 ; PWR7-NEXT: vadduwm 3, 4, 4
9051 ; PWR7-NEXT: vsrw 2, 2, 3
9052 ; PWR7-NEXT: vspltisw 3, 10
9053 ; PWR7-NEXT: vadduwm 3, 3, 3
9054 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
9055 ; PWR7-NEXT: blr
9059 ; PWR8-NEXT: vspltisw 3, 10
9060 ; PWR8-NEXT: vpopcntw 2, 2
9061 ; PWR8-NEXT: vadduwm 3, 3, 3
9062 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
9063 ; PWR8-NEXT: blr
9067 ; PWR9-NEXT: vspltisw 3, 10
9068 ; PWR9-NEXT: vpopcntw 2, 2
9069 ; PWR9-NEXT: vadduwm 3, 3, 3
9070 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
9071 ; PWR9-NEXT: blr
9081 ; PWR5-NEXT: addis 3, 2, .LCPI79_0@toc@ha
9082 ; PWR5-NEXT: vspltisw 4, 1
9083 ; PWR5-NEXT: vxor 3, 3, 3
9084 ; PWR5-NEXT: addi 3, 3, .LCPI79_0@toc@l
9085 ; PWR5-NEXT: lvx 5, 0, 3
9086 ; PWR5-NEXT: addis 3, 2, .LCPI79_1@toc@ha
9087 ; PWR5-NEXT: addi 3, 3, .LCPI79_1@toc@l
9088 ; PWR5-NEXT: vspltisw 0, 2
9089 ; PWR5-NEXT: vsrw 4, 2, 4
9090 ; PWR5-NEXT: vand 4, 4, 5
9091 ; PWR5-NEXT: lvx 5, 0, 3
9092 ; PWR5-NEXT: vsubuwm 2, 2, 4
9093 ; PWR5-NEXT: vand 4, 2, 5
9094 ; PWR5-NEXT: vsrw 2, 2, 0
9095 ; PWR5-NEXT: vand 2, 2, 5
9096 ; PWR5-NEXT: vspltisw 5, 4
9097 ; PWR5-NEXT: vadduwm 2, 4, 2
9098 ; PWR5-NEXT: vsrw 4, 2, 5
9099 ; PWR5-NEXT: vspltisb 5, 15
9100 ; PWR5-NEXT: vadduwm 2, 2, 4
9101 ; PWR5-NEXT: vspltisb 4, 1
9102 ; PWR5-NEXT: vand 2, 2, 5
9103 ; PWR5-NEXT: vspltisw 5, -16
9104 ; PWR5-NEXT: vrlw 0, 4, 5
9105 ; PWR5-NEXT: vmulouh 4, 2, 4
9106 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9107 ; PWR5-NEXT: vspltisw 3, 12
9108 ; PWR5-NEXT: vadduwm 3, 3, 3
9109 ; PWR5-NEXT: vslw 2, 2, 5
9110 ; PWR5-NEXT: vadduwm 2, 4, 2
9111 ; PWR5-NEXT: vsrw 2, 2, 3
9112 ; PWR5-NEXT: vspltisw 3, 5
9113 ; PWR5-NEXT: vsubuwm 3, 3, 5
9114 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
9115 ; PWR5-NEXT: blr
9119 ; PWR6-NEXT: addis 3, 2, .LCPI79_0@toc@ha
9120 ; PWR6-NEXT: vspltisw 4, 1
9121 ; PWR6-NEXT: vxor 3, 3, 3
9122 ; PWR6-NEXT: addi 3, 3, .LCPI79_0@toc@l
9123 ; PWR6-NEXT: lvx 5, 0, 3
9124 ; PWR6-NEXT: addis 3, 2, .LCPI79_1@toc@ha
9125 ; PWR6-NEXT: addi 3, 3, .LCPI79_1@toc@l
9126 ; PWR6-NEXT: vspltisw 0, 2
9127 ; PWR6-NEXT: vsrw 4, 2, 4
9128 ; PWR6-NEXT: vand 4, 4, 5
9129 ; PWR6-NEXT: lvx 5, 0, 3
9130 ; PWR6-NEXT: vsubuwm 2, 2, 4
9131 ; PWR6-NEXT: vand 4, 2, 5
9132 ; PWR6-NEXT: vsrw 2, 2, 0
9133 ; PWR6-NEXT: vand 2, 2, 5
9134 ; PWR6-NEXT: vspltisw 5, 4
9135 ; PWR6-NEXT: vadduwm 2, 4, 2
9136 ; PWR6-NEXT: vsrw 4, 2, 5
9137 ; PWR6-NEXT: vspltisb 5, 15
9138 ; PWR6-NEXT: vadduwm 2, 2, 4
9139 ; PWR6-NEXT: vspltisb 4, 1
9140 ; PWR6-NEXT: vand 2, 2, 5
9141 ; PWR6-NEXT: vspltisw 5, -16
9142 ; PWR6-NEXT: vrlw 0, 4, 5
9143 ; PWR6-NEXT: vmulouh 4, 2, 4
9144 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9145 ; PWR6-NEXT: vspltisw 3, 12
9146 ; PWR6-NEXT: vadduwm 3, 3, 3
9147 ; PWR6-NEXT: vslw 2, 2, 5
9148 ; PWR6-NEXT: vadduwm 2, 4, 2
9149 ; PWR6-NEXT: vsrw 2, 2, 3
9150 ; PWR6-NEXT: vspltisw 3, 5
9151 ; PWR6-NEXT: vsubuwm 3, 3, 5
9152 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
9153 ; PWR6-NEXT: blr
9157 ; PWR7-NEXT: vspltisw 3, 1
9158 ; PWR7-NEXT: addis 3, 2, .LCPI79_0@toc@ha
9159 ; PWR7-NEXT: addi 3, 3, .LCPI79_0@toc@l
9160 ; PWR7-NEXT: vspltisw 4, 2
9161 ; PWR7-NEXT: lxvw4x 0, 0, 3
9162 ; PWR7-NEXT: addis 3, 2, .LCPI79_1@toc@ha
9163 ; PWR7-NEXT: vspltisw 5, -16
9164 ; PWR7-NEXT: vsrw 3, 2, 3
9165 ; PWR7-NEXT: addi 3, 3, .LCPI79_1@toc@l
9166 ; PWR7-NEXT: vspltisb 0, 15
9167 ; PWR7-NEXT: xxland 35, 35, 0
9168 ; PWR7-NEXT: lxvw4x 0, 0, 3
9169 ; PWR7-NEXT: vsubuwm 2, 2, 3
9170 ; PWR7-NEXT: vsrw 3, 2, 4
9171 ; PWR7-NEXT: xxland 34, 34, 0
9172 ; PWR7-NEXT: vspltisw 4, 4
9173 ; PWR7-NEXT: xxland 35, 35, 0
9174 ; PWR7-NEXT: vadduwm 2, 2, 3
9175 ; PWR7-NEXT: vsrw 3, 2, 4
9176 ; PWR7-NEXT: vspltisb 4, 1
9177 ; PWR7-NEXT: vrlw 1, 4, 5
9178 ; PWR7-NEXT: vadduwm 2, 2, 3
9179 ; PWR7-NEXT: xxlxor 35, 35, 35
9180 ; PWR7-NEXT: xxland 34, 34, 32
9181 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9182 ; PWR7-NEXT: vmulouh 2, 2, 4
9183 ; PWR7-NEXT: vspltisw 4, 12
9184 ; PWR7-NEXT: vslw 3, 3, 5
9185 ; PWR7-NEXT: vadduwm 2, 2, 3
9186 ; PWR7-NEXT: vadduwm 3, 4, 4
9187 ; PWR7-NEXT: vsrw 2, 2, 3
9188 ; PWR7-NEXT: vspltisw 3, 5
9189 ; PWR7-NEXT: vsubuwm 3, 3, 5
9190 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
9191 ; PWR7-NEXT: blr
9195 ; PWR8-NEXT: vspltisw 3, -16
9196 ; PWR8-NEXT: vspltisw 4, 5
9197 ; PWR8-NEXT: vpopcntw 2, 2
9198 ; PWR8-NEXT: vsubuwm 3, 4, 3
9199 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
9200 ; PWR8-NEXT: blr
9204 ; PWR9-NEXT: vspltisw 3, -16
9205 ; PWR9-NEXT: vspltisw 4, 5
9206 ; PWR9-NEXT: vpopcntw 2, 2
9207 ; PWR9-NEXT: vsubuwm 3, 4, 3
9208 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
9209 ; PWR9-NEXT: blr
9219 ; PWR5-NEXT: addis 3, 2, .LCPI80_0@toc@ha
9220 ; PWR5-NEXT: vspltisw 4, 1
9221 ; PWR5-NEXT: vxor 3, 3, 3
9222 ; PWR5-NEXT: addi 3, 3, .LCPI80_0@toc@l
9223 ; PWR5-NEXT: lvx 5, 0, 3
9224 ; PWR5-NEXT: addis 3, 2, .LCPI80_1@toc@ha
9225 ; PWR5-NEXT: addi 3, 3, .LCPI80_1@toc@l
9226 ; PWR5-NEXT: vspltisw 0, 2
9227 ; PWR5-NEXT: vsrw 4, 2, 4
9228 ; PWR5-NEXT: vand 4, 4, 5
9229 ; PWR5-NEXT: lvx 5, 0, 3
9230 ; PWR5-NEXT: vsubuwm 2, 2, 4
9231 ; PWR5-NEXT: vand 4, 2, 5
9232 ; PWR5-NEXT: vsrw 2, 2, 0
9233 ; PWR5-NEXT: vand 2, 2, 5
9234 ; PWR5-NEXT: vspltisw 5, 4
9235 ; PWR5-NEXT: vadduwm 2, 4, 2
9236 ; PWR5-NEXT: vsrw 4, 2, 5
9237 ; PWR5-NEXT: vspltisb 5, 15
9238 ; PWR5-NEXT: vadduwm 2, 2, 4
9239 ; PWR5-NEXT: vspltisb 4, 1
9240 ; PWR5-NEXT: vand 2, 2, 5
9241 ; PWR5-NEXT: vspltisw 5, -16
9242 ; PWR5-NEXT: vrlw 0, 4, 5
9243 ; PWR5-NEXT: vmulouh 4, 2, 4
9244 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9245 ; PWR5-NEXT: vspltisw 3, 12
9246 ; PWR5-NEXT: vadduwm 3, 3, 3
9247 ; PWR5-NEXT: vslw 2, 2, 5
9248 ; PWR5-NEXT: vadduwm 2, 4, 2
9249 ; PWR5-NEXT: vsrw 2, 2, 3
9250 ; PWR5-NEXT: vspltisw 3, 5
9251 ; PWR5-NEXT: vsubuwm 3, 3, 5
9252 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
9253 ; PWR5-NEXT: blr
9257 ; PWR6-NEXT: addis 3, 2, .LCPI80_0@toc@ha
9258 ; PWR6-NEXT: vspltisw 4, 1
9259 ; PWR6-NEXT: vxor 3, 3, 3
9260 ; PWR6-NEXT: addi 3, 3, .LCPI80_0@toc@l
9261 ; PWR6-NEXT: lvx 5, 0, 3
9262 ; PWR6-NEXT: addis 3, 2, .LCPI80_1@toc@ha
9263 ; PWR6-NEXT: addi 3, 3, .LCPI80_1@toc@l
9264 ; PWR6-NEXT: vspltisw 0, 2
9265 ; PWR6-NEXT: vsrw 4, 2, 4
9266 ; PWR6-NEXT: vand 4, 4, 5
9267 ; PWR6-NEXT: lvx 5, 0, 3
9268 ; PWR6-NEXT: vsubuwm 2, 2, 4
9269 ; PWR6-NEXT: vand 4, 2, 5
9270 ; PWR6-NEXT: vsrw 2, 2, 0
9271 ; PWR6-NEXT: vand 2, 2, 5
9272 ; PWR6-NEXT: vspltisw 5, 4
9273 ; PWR6-NEXT: vadduwm 2, 4, 2
9274 ; PWR6-NEXT: vsrw 4, 2, 5
9275 ; PWR6-NEXT: vspltisb 5, 15
9276 ; PWR6-NEXT: vadduwm 2, 2, 4
9277 ; PWR6-NEXT: vspltisb 4, 1
9278 ; PWR6-NEXT: vand 2, 2, 5
9279 ; PWR6-NEXT: vspltisw 5, -16
9280 ; PWR6-NEXT: vrlw 0, 4, 5
9281 ; PWR6-NEXT: vmulouh 4, 2, 4
9282 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9283 ; PWR6-NEXT: vspltisw 3, 12
9284 ; PWR6-NEXT: vadduwm 3, 3, 3
9285 ; PWR6-NEXT: vslw 2, 2, 5
9286 ; PWR6-NEXT: vadduwm 2, 4, 2
9287 ; PWR6-NEXT: vsrw 2, 2, 3
9288 ; PWR6-NEXT: vspltisw 3, 5
9289 ; PWR6-NEXT: vsubuwm 3, 3, 5
9290 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
9291 ; PWR6-NEXT: blr
9295 ; PWR7-NEXT: vspltisw 3, 1
9296 ; PWR7-NEXT: addis 3, 2, .LCPI80_0@toc@ha
9297 ; PWR7-NEXT: addi 3, 3, .LCPI80_0@toc@l
9298 ; PWR7-NEXT: vspltisw 4, 2
9299 ; PWR7-NEXT: lxvw4x 0, 0, 3
9300 ; PWR7-NEXT: addis 3, 2, .LCPI80_1@toc@ha
9301 ; PWR7-NEXT: vspltisw 5, -16
9302 ; PWR7-NEXT: vsrw 3, 2, 3
9303 ; PWR7-NEXT: addi 3, 3, .LCPI80_1@toc@l
9304 ; PWR7-NEXT: vspltisb 0, 15
9305 ; PWR7-NEXT: xxland 35, 35, 0
9306 ; PWR7-NEXT: lxvw4x 0, 0, 3
9307 ; PWR7-NEXT: vsubuwm 2, 2, 3
9308 ; PWR7-NEXT: vsrw 3, 2, 4
9309 ; PWR7-NEXT: xxland 34, 34, 0
9310 ; PWR7-NEXT: vspltisw 4, 4
9311 ; PWR7-NEXT: xxland 35, 35, 0
9312 ; PWR7-NEXT: vadduwm 2, 2, 3
9313 ; PWR7-NEXT: vsrw 3, 2, 4
9314 ; PWR7-NEXT: vspltisb 4, 1
9315 ; PWR7-NEXT: vrlw 1, 4, 5
9316 ; PWR7-NEXT: vadduwm 2, 2, 3
9317 ; PWR7-NEXT: xxlxor 35, 35, 35
9318 ; PWR7-NEXT: xxland 34, 34, 32
9319 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9320 ; PWR7-NEXT: vmulouh 2, 2, 4
9321 ; PWR7-NEXT: vspltisw 4, 12
9322 ; PWR7-NEXT: vslw 3, 3, 5
9323 ; PWR7-NEXT: vadduwm 2, 2, 3
9324 ; PWR7-NEXT: vadduwm 3, 4, 4
9325 ; PWR7-NEXT: vsrw 2, 2, 3
9326 ; PWR7-NEXT: vspltisw 3, 5
9327 ; PWR7-NEXT: vsubuwm 3, 3, 5
9328 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
9329 ; PWR7-NEXT: blr
9333 ; PWR8-NEXT: vspltisw 3, -16
9334 ; PWR8-NEXT: vspltisw 4, 5
9335 ; PWR8-NEXT: vpopcntw 2, 2
9336 ; PWR8-NEXT: vsubuwm 3, 4, 3
9337 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
9338 ; PWR8-NEXT: blr
9342 ; PWR9-NEXT: vspltisw 3, -16
9343 ; PWR9-NEXT: vspltisw 4, 5
9344 ; PWR9-NEXT: vpopcntw 2, 2
9345 ; PWR9-NEXT: vsubuwm 3, 4, 3
9346 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
9347 ; PWR9-NEXT: blr
9357 ; PWR5-NEXT: addis 3, 2, .LCPI81_0@toc@ha
9358 ; PWR5-NEXT: vspltisw 4, 1
9359 ; PWR5-NEXT: vxor 3, 3, 3
9360 ; PWR5-NEXT: addi 3, 3, .LCPI81_0@toc@l
9361 ; PWR5-NEXT: lvx 5, 0, 3
9362 ; PWR5-NEXT: addis 3, 2, .LCPI81_1@toc@ha
9363 ; PWR5-NEXT: addi 3, 3, .LCPI81_1@toc@l
9364 ; PWR5-NEXT: vspltisw 0, 2
9365 ; PWR5-NEXT: vsrw 4, 2, 4
9366 ; PWR5-NEXT: vand 4, 4, 5
9367 ; PWR5-NEXT: lvx 5, 0, 3
9368 ; PWR5-NEXT: vsubuwm 2, 2, 4
9369 ; PWR5-NEXT: vand 4, 2, 5
9370 ; PWR5-NEXT: vsrw 2, 2, 0
9371 ; PWR5-NEXT: vand 2, 2, 5
9372 ; PWR5-NEXT: vspltisw 5, 4
9373 ; PWR5-NEXT: vadduwm 2, 4, 2
9374 ; PWR5-NEXT: vsrw 4, 2, 5
9375 ; PWR5-NEXT: vspltisb 5, 15
9376 ; PWR5-NEXT: vadduwm 2, 2, 4
9377 ; PWR5-NEXT: vspltisb 4, 1
9378 ; PWR5-NEXT: vand 2, 2, 5
9379 ; PWR5-NEXT: vspltisw 5, -16
9380 ; PWR5-NEXT: vrlw 0, 4, 5
9381 ; PWR5-NEXT: vmulouh 4, 2, 4
9382 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9383 ; PWR5-NEXT: vspltisw 3, 12
9384 ; PWR5-NEXT: vadduwm 3, 3, 3
9385 ; PWR5-NEXT: vslw 2, 2, 5
9386 ; PWR5-NEXT: vadduwm 2, 4, 2
9387 ; PWR5-NEXT: vsrw 2, 2, 3
9388 ; PWR5-NEXT: vspltisw 3, 11
9389 ; PWR5-NEXT: vadduwm 3, 3, 3
9390 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
9391 ; PWR5-NEXT: blr
9395 ; PWR6-NEXT: addis 3, 2, .LCPI81_0@toc@ha
9396 ; PWR6-NEXT: vspltisw 4, 1
9397 ; PWR6-NEXT: vxor 3, 3, 3
9398 ; PWR6-NEXT: addi 3, 3, .LCPI81_0@toc@l
9399 ; PWR6-NEXT: lvx 5, 0, 3
9400 ; PWR6-NEXT: addis 3, 2, .LCPI81_1@toc@ha
9401 ; PWR6-NEXT: addi 3, 3, .LCPI81_1@toc@l
9402 ; PWR6-NEXT: vspltisw 0, 2
9403 ; PWR6-NEXT: vsrw 4, 2, 4
9404 ; PWR6-NEXT: vand 4, 4, 5
9405 ; PWR6-NEXT: lvx 5, 0, 3
9406 ; PWR6-NEXT: vsubuwm 2, 2, 4
9407 ; PWR6-NEXT: vand 4, 2, 5
9408 ; PWR6-NEXT: vsrw 2, 2, 0
9409 ; PWR6-NEXT: vand 2, 2, 5
9410 ; PWR6-NEXT: vspltisw 5, 4
9411 ; PWR6-NEXT: vadduwm 2, 4, 2
9412 ; PWR6-NEXT: vsrw 4, 2, 5
9413 ; PWR6-NEXT: vspltisb 5, 15
9414 ; PWR6-NEXT: vadduwm 2, 2, 4
9415 ; PWR6-NEXT: vspltisb 4, 1
9416 ; PWR6-NEXT: vand 2, 2, 5
9417 ; PWR6-NEXT: vspltisw 5, -16
9418 ; PWR6-NEXT: vrlw 0, 4, 5
9419 ; PWR6-NEXT: vmulouh 4, 2, 4
9420 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9421 ; PWR6-NEXT: vspltisw 3, 12
9422 ; PWR6-NEXT: vadduwm 3, 3, 3
9423 ; PWR6-NEXT: vslw 2, 2, 5
9424 ; PWR6-NEXT: vadduwm 2, 4, 2
9425 ; PWR6-NEXT: vsrw 2, 2, 3
9426 ; PWR6-NEXT: vspltisw 3, 11
9427 ; PWR6-NEXT: vadduwm 3, 3, 3
9428 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
9429 ; PWR6-NEXT: blr
9433 ; PWR7-NEXT: vspltisw 3, 1
9434 ; PWR7-NEXT: addis 3, 2, .LCPI81_0@toc@ha
9435 ; PWR7-NEXT: addi 3, 3, .LCPI81_0@toc@l
9436 ; PWR7-NEXT: vspltisw 4, 2
9437 ; PWR7-NEXT: lxvw4x 0, 0, 3
9438 ; PWR7-NEXT: addis 3, 2, .LCPI81_1@toc@ha
9439 ; PWR7-NEXT: vspltisw 5, -16
9440 ; PWR7-NEXT: vsrw 3, 2, 3
9441 ; PWR7-NEXT: addi 3, 3, .LCPI81_1@toc@l
9442 ; PWR7-NEXT: vspltisb 0, 15
9443 ; PWR7-NEXT: xxland 35, 35, 0
9444 ; PWR7-NEXT: lxvw4x 0, 0, 3
9445 ; PWR7-NEXT: vsubuwm 2, 2, 3
9446 ; PWR7-NEXT: vsrw 3, 2, 4
9447 ; PWR7-NEXT: xxland 34, 34, 0
9448 ; PWR7-NEXT: vspltisw 4, 4
9449 ; PWR7-NEXT: xxland 35, 35, 0
9450 ; PWR7-NEXT: vadduwm 2, 2, 3
9451 ; PWR7-NEXT: vsrw 3, 2, 4
9452 ; PWR7-NEXT: vspltisb 4, 1
9453 ; PWR7-NEXT: vrlw 1, 4, 5
9454 ; PWR7-NEXT: vadduwm 2, 2, 3
9455 ; PWR7-NEXT: xxlxor 35, 35, 35
9456 ; PWR7-NEXT: xxland 34, 34, 32
9457 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9458 ; PWR7-NEXT: vmulouh 2, 2, 4
9459 ; PWR7-NEXT: vspltisw 4, 12
9460 ; PWR7-NEXT: vslw 3, 3, 5
9461 ; PWR7-NEXT: vadduwm 2, 2, 3
9462 ; PWR7-NEXT: vadduwm 3, 4, 4
9463 ; PWR7-NEXT: vsrw 2, 2, 3
9464 ; PWR7-NEXT: vspltisw 3, 11
9465 ; PWR7-NEXT: vadduwm 3, 3, 3
9466 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
9467 ; PWR7-NEXT: blr
9471 ; PWR8-NEXT: vspltisw 3, 11
9472 ; PWR8-NEXT: vpopcntw 2, 2
9473 ; PWR8-NEXT: vadduwm 3, 3, 3
9474 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
9475 ; PWR8-NEXT: blr
9479 ; PWR9-NEXT: vspltisw 3, 11
9480 ; PWR9-NEXT: vpopcntw 2, 2
9481 ; PWR9-NEXT: vadduwm 3, 3, 3
9482 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
9483 ; PWR9-NEXT: blr
9493 ; PWR5-NEXT: addis 3, 2, .LCPI82_0@toc@ha
9494 ; PWR5-NEXT: vspltisw 4, 1
9495 ; PWR5-NEXT: vxor 3, 3, 3
9496 ; PWR5-NEXT: addi 3, 3, .LCPI82_0@toc@l
9497 ; PWR5-NEXT: lvx 5, 0, 3
9498 ; PWR5-NEXT: addis 3, 2, .LCPI82_1@toc@ha
9499 ; PWR5-NEXT: addi 3, 3, .LCPI82_1@toc@l
9500 ; PWR5-NEXT: vspltisw 0, 2
9501 ; PWR5-NEXT: vsrw 4, 2, 4
9502 ; PWR5-NEXT: vand 4, 4, 5
9503 ; PWR5-NEXT: lvx 5, 0, 3
9504 ; PWR5-NEXT: vsubuwm 2, 2, 4
9505 ; PWR5-NEXT: vand 4, 2, 5
9506 ; PWR5-NEXT: vsrw 2, 2, 0
9507 ; PWR5-NEXT: vand 2, 2, 5
9508 ; PWR5-NEXT: vspltisw 5, 4
9509 ; PWR5-NEXT: vadduwm 2, 4, 2
9510 ; PWR5-NEXT: vsrw 4, 2, 5
9511 ; PWR5-NEXT: vspltisb 5, 15
9512 ; PWR5-NEXT: vadduwm 2, 2, 4
9513 ; PWR5-NEXT: vspltisb 4, 1
9514 ; PWR5-NEXT: vand 2, 2, 5
9515 ; PWR5-NEXT: vspltisw 5, -16
9516 ; PWR5-NEXT: vrlw 0, 4, 5
9517 ; PWR5-NEXT: vmulouh 4, 2, 4
9518 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9519 ; PWR5-NEXT: vspltisw 3, 12
9520 ; PWR5-NEXT: vadduwm 3, 3, 3
9521 ; PWR5-NEXT: vslw 2, 2, 5
9522 ; PWR5-NEXT: vadduwm 2, 4, 2
9523 ; PWR5-NEXT: vsrw 2, 2, 3
9524 ; PWR5-NEXT: vspltisw 3, 11
9525 ; PWR5-NEXT: vadduwm 3, 3, 3
9526 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
9527 ; PWR5-NEXT: blr
9531 ; PWR6-NEXT: addis 3, 2, .LCPI82_0@toc@ha
9532 ; PWR6-NEXT: vspltisw 4, 1
9533 ; PWR6-NEXT: vxor 3, 3, 3
9534 ; PWR6-NEXT: addi 3, 3, .LCPI82_0@toc@l
9535 ; PWR6-NEXT: lvx 5, 0, 3
9536 ; PWR6-NEXT: addis 3, 2, .LCPI82_1@toc@ha
9537 ; PWR6-NEXT: addi 3, 3, .LCPI82_1@toc@l
9538 ; PWR6-NEXT: vspltisw 0, 2
9539 ; PWR6-NEXT: vsrw 4, 2, 4
9540 ; PWR6-NEXT: vand 4, 4, 5
9541 ; PWR6-NEXT: lvx 5, 0, 3
9542 ; PWR6-NEXT: vsubuwm 2, 2, 4
9543 ; PWR6-NEXT: vand 4, 2, 5
9544 ; PWR6-NEXT: vsrw 2, 2, 0
9545 ; PWR6-NEXT: vand 2, 2, 5
9546 ; PWR6-NEXT: vspltisw 5, 4
9547 ; PWR6-NEXT: vadduwm 2, 4, 2
9548 ; PWR6-NEXT: vsrw 4, 2, 5
9549 ; PWR6-NEXT: vspltisb 5, 15
9550 ; PWR6-NEXT: vadduwm 2, 2, 4
9551 ; PWR6-NEXT: vspltisb 4, 1
9552 ; PWR6-NEXT: vand 2, 2, 5
9553 ; PWR6-NEXT: vspltisw 5, -16
9554 ; PWR6-NEXT: vrlw 0, 4, 5
9555 ; PWR6-NEXT: vmulouh 4, 2, 4
9556 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9557 ; PWR6-NEXT: vspltisw 3, 12
9558 ; PWR6-NEXT: vadduwm 3, 3, 3
9559 ; PWR6-NEXT: vslw 2, 2, 5
9560 ; PWR6-NEXT: vadduwm 2, 4, 2
9561 ; PWR6-NEXT: vsrw 2, 2, 3
9562 ; PWR6-NEXT: vspltisw 3, 11
9563 ; PWR6-NEXT: vadduwm 3, 3, 3
9564 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
9565 ; PWR6-NEXT: blr
9569 ; PWR7-NEXT: vspltisw 3, 1
9570 ; PWR7-NEXT: addis 3, 2, .LCPI82_0@toc@ha
9571 ; PWR7-NEXT: addi 3, 3, .LCPI82_0@toc@l
9572 ; PWR7-NEXT: vspltisw 4, 2
9573 ; PWR7-NEXT: lxvw4x 0, 0, 3
9574 ; PWR7-NEXT: addis 3, 2, .LCPI82_1@toc@ha
9575 ; PWR7-NEXT: vspltisw 5, -16
9576 ; PWR7-NEXT: vsrw 3, 2, 3
9577 ; PWR7-NEXT: addi 3, 3, .LCPI82_1@toc@l
9578 ; PWR7-NEXT: vspltisb 0, 15
9579 ; PWR7-NEXT: xxland 35, 35, 0
9580 ; PWR7-NEXT: lxvw4x 0, 0, 3
9581 ; PWR7-NEXT: vsubuwm 2, 2, 3
9582 ; PWR7-NEXT: vsrw 3, 2, 4
9583 ; PWR7-NEXT: xxland 34, 34, 0
9584 ; PWR7-NEXT: vspltisw 4, 4
9585 ; PWR7-NEXT: xxland 35, 35, 0
9586 ; PWR7-NEXT: vadduwm 2, 2, 3
9587 ; PWR7-NEXT: vsrw 3, 2, 4
9588 ; PWR7-NEXT: vspltisb 4, 1
9589 ; PWR7-NEXT: vrlw 1, 4, 5
9590 ; PWR7-NEXT: vadduwm 2, 2, 3
9591 ; PWR7-NEXT: xxlxor 35, 35, 35
9592 ; PWR7-NEXT: xxland 34, 34, 32
9593 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9594 ; PWR7-NEXT: vmulouh 2, 2, 4
9595 ; PWR7-NEXT: vspltisw 4, 12
9596 ; PWR7-NEXT: vslw 3, 3, 5
9597 ; PWR7-NEXT: vadduwm 2, 2, 3
9598 ; PWR7-NEXT: vadduwm 3, 4, 4
9599 ; PWR7-NEXT: vsrw 2, 2, 3
9600 ; PWR7-NEXT: vspltisw 3, 11
9601 ; PWR7-NEXT: vadduwm 3, 3, 3
9602 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
9603 ; PWR7-NEXT: blr
9607 ; PWR8-NEXT: vspltisw 3, 11
9608 ; PWR8-NEXT: vpopcntw 2, 2
9609 ; PWR8-NEXT: vadduwm 3, 3, 3
9610 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
9611 ; PWR8-NEXT: blr
9615 ; PWR9-NEXT: vspltisw 3, 11
9616 ; PWR9-NEXT: vpopcntw 2, 2
9617 ; PWR9-NEXT: vadduwm 3, 3, 3
9618 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
9619 ; PWR9-NEXT: blr
9629 ; PWR5-NEXT: addis 3, 2, .LCPI83_0@toc@ha
9630 ; PWR5-NEXT: vspltisw 4, 1
9631 ; PWR5-NEXT: vxor 3, 3, 3
9632 ; PWR5-NEXT: addi 3, 3, .LCPI83_0@toc@l
9633 ; PWR5-NEXT: lvx 5, 0, 3
9634 ; PWR5-NEXT: addis 3, 2, .LCPI83_1@toc@ha
9635 ; PWR5-NEXT: addi 3, 3, .LCPI83_1@toc@l
9636 ; PWR5-NEXT: vspltisw 0, 2
9637 ; PWR5-NEXT: vsrw 4, 2, 4
9638 ; PWR5-NEXT: vand 4, 4, 5
9639 ; PWR5-NEXT: lvx 5, 0, 3
9640 ; PWR5-NEXT: vsubuwm 2, 2, 4
9641 ; PWR5-NEXT: vand 4, 2, 5
9642 ; PWR5-NEXT: vsrw 2, 2, 0
9643 ; PWR5-NEXT: vand 2, 2, 5
9644 ; PWR5-NEXT: vspltisw 5, 4
9645 ; PWR5-NEXT: vadduwm 2, 4, 2
9646 ; PWR5-NEXT: vsrw 4, 2, 5
9647 ; PWR5-NEXT: vspltisb 5, 15
9648 ; PWR5-NEXT: vadduwm 2, 2, 4
9649 ; PWR5-NEXT: vspltisb 4, 1
9650 ; PWR5-NEXT: vand 2, 2, 5
9651 ; PWR5-NEXT: vspltisw 5, -16
9652 ; PWR5-NEXT: vrlw 0, 4, 5
9653 ; PWR5-NEXT: vmulouh 4, 2, 4
9654 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9655 ; PWR5-NEXT: vspltisw 3, 12
9656 ; PWR5-NEXT: vadduwm 3, 3, 3
9657 ; PWR5-NEXT: vslw 2, 2, 5
9658 ; PWR5-NEXT: vadduwm 2, 4, 2
9659 ; PWR5-NEXT: vsrw 2, 2, 3
9660 ; PWR5-NEXT: vspltisw 3, 7
9661 ; PWR5-NEXT: vsubuwm 3, 3, 5
9662 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
9663 ; PWR5-NEXT: blr
9667 ; PWR6-NEXT: addis 3, 2, .LCPI83_0@toc@ha
9668 ; PWR6-NEXT: vspltisw 4, 1
9669 ; PWR6-NEXT: vxor 3, 3, 3
9670 ; PWR6-NEXT: addi 3, 3, .LCPI83_0@toc@l
9671 ; PWR6-NEXT: lvx 5, 0, 3
9672 ; PWR6-NEXT: addis 3, 2, .LCPI83_1@toc@ha
9673 ; PWR6-NEXT: addi 3, 3, .LCPI83_1@toc@l
9674 ; PWR6-NEXT: vspltisw 0, 2
9675 ; PWR6-NEXT: vsrw 4, 2, 4
9676 ; PWR6-NEXT: vand 4, 4, 5
9677 ; PWR6-NEXT: lvx 5, 0, 3
9678 ; PWR6-NEXT: vsubuwm 2, 2, 4
9679 ; PWR6-NEXT: vand 4, 2, 5
9680 ; PWR6-NEXT: vsrw 2, 2, 0
9681 ; PWR6-NEXT: vand 2, 2, 5
9682 ; PWR6-NEXT: vspltisw 5, 4
9683 ; PWR6-NEXT: vadduwm 2, 4, 2
9684 ; PWR6-NEXT: vsrw 4, 2, 5
9685 ; PWR6-NEXT: vspltisb 5, 15
9686 ; PWR6-NEXT: vadduwm 2, 2, 4
9687 ; PWR6-NEXT: vspltisb 4, 1
9688 ; PWR6-NEXT: vand 2, 2, 5
9689 ; PWR6-NEXT: vspltisw 5, -16
9690 ; PWR6-NEXT: vrlw 0, 4, 5
9691 ; PWR6-NEXT: vmulouh 4, 2, 4
9692 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9693 ; PWR6-NEXT: vspltisw 3, 12
9694 ; PWR6-NEXT: vadduwm 3, 3, 3
9695 ; PWR6-NEXT: vslw 2, 2, 5
9696 ; PWR6-NEXT: vadduwm 2, 4, 2
9697 ; PWR6-NEXT: vsrw 2, 2, 3
9698 ; PWR6-NEXT: vspltisw 3, 7
9699 ; PWR6-NEXT: vsubuwm 3, 3, 5
9700 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
9701 ; PWR6-NEXT: blr
9705 ; PWR7-NEXT: vspltisw 3, 1
9706 ; PWR7-NEXT: addis 3, 2, .LCPI83_0@toc@ha
9707 ; PWR7-NEXT: addi 3, 3, .LCPI83_0@toc@l
9708 ; PWR7-NEXT: vspltisw 4, 2
9709 ; PWR7-NEXT: lxvw4x 0, 0, 3
9710 ; PWR7-NEXT: addis 3, 2, .LCPI83_1@toc@ha
9711 ; PWR7-NEXT: vspltisw 5, -16
9712 ; PWR7-NEXT: vsrw 3, 2, 3
9713 ; PWR7-NEXT: addi 3, 3, .LCPI83_1@toc@l
9714 ; PWR7-NEXT: vspltisb 0, 15
9715 ; PWR7-NEXT: xxland 35, 35, 0
9716 ; PWR7-NEXT: lxvw4x 0, 0, 3
9717 ; PWR7-NEXT: vsubuwm 2, 2, 3
9718 ; PWR7-NEXT: vsrw 3, 2, 4
9719 ; PWR7-NEXT: xxland 34, 34, 0
9720 ; PWR7-NEXT: vspltisw 4, 4
9721 ; PWR7-NEXT: xxland 35, 35, 0
9722 ; PWR7-NEXT: vadduwm 2, 2, 3
9723 ; PWR7-NEXT: vsrw 3, 2, 4
9724 ; PWR7-NEXT: vspltisb 4, 1
9725 ; PWR7-NEXT: vrlw 1, 4, 5
9726 ; PWR7-NEXT: vadduwm 2, 2, 3
9727 ; PWR7-NEXT: xxlxor 35, 35, 35
9728 ; PWR7-NEXT: xxland 34, 34, 32
9729 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9730 ; PWR7-NEXT: vmulouh 2, 2, 4
9731 ; PWR7-NEXT: vspltisw 4, 12
9732 ; PWR7-NEXT: vslw 3, 3, 5
9733 ; PWR7-NEXT: vadduwm 2, 2, 3
9734 ; PWR7-NEXT: vadduwm 3, 4, 4
9735 ; PWR7-NEXT: vsrw 2, 2, 3
9736 ; PWR7-NEXT: vspltisw 3, 7
9737 ; PWR7-NEXT: vsubuwm 3, 3, 5
9738 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
9739 ; PWR7-NEXT: blr
9743 ; PWR8-NEXT: vspltisw 3, -16
9744 ; PWR8-NEXT: vspltisw 4, 7
9745 ; PWR8-NEXT: vpopcntw 2, 2
9746 ; PWR8-NEXT: vsubuwm 3, 4, 3
9747 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
9748 ; PWR8-NEXT: blr
9752 ; PWR9-NEXT: vspltisw 3, -16
9753 ; PWR9-NEXT: vspltisw 4, 7
9754 ; PWR9-NEXT: vpopcntw 2, 2
9755 ; PWR9-NEXT: vsubuwm 3, 4, 3
9756 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
9757 ; PWR9-NEXT: blr
9767 ; PWR5-NEXT: addis 3, 2, .LCPI84_0@toc@ha
9768 ; PWR5-NEXT: vspltisw 4, 1
9769 ; PWR5-NEXT: vxor 3, 3, 3
9770 ; PWR5-NEXT: addi 3, 3, .LCPI84_0@toc@l
9771 ; PWR5-NEXT: lvx 5, 0, 3
9772 ; PWR5-NEXT: addis 3, 2, .LCPI84_1@toc@ha
9773 ; PWR5-NEXT: addi 3, 3, .LCPI84_1@toc@l
9774 ; PWR5-NEXT: vspltisw 0, 2
9775 ; PWR5-NEXT: vsrw 4, 2, 4
9776 ; PWR5-NEXT: vand 4, 4, 5
9777 ; PWR5-NEXT: lvx 5, 0, 3
9778 ; PWR5-NEXT: vsubuwm 2, 2, 4
9779 ; PWR5-NEXT: vand 4, 2, 5
9780 ; PWR5-NEXT: vsrw 2, 2, 0
9781 ; PWR5-NEXT: vand 2, 2, 5
9782 ; PWR5-NEXT: vspltisw 5, 4
9783 ; PWR5-NEXT: vadduwm 2, 4, 2
9784 ; PWR5-NEXT: vsrw 4, 2, 5
9785 ; PWR5-NEXT: vspltisb 5, 15
9786 ; PWR5-NEXT: vadduwm 2, 2, 4
9787 ; PWR5-NEXT: vspltisb 4, 1
9788 ; PWR5-NEXT: vand 2, 2, 5
9789 ; PWR5-NEXT: vspltisw 5, -16
9790 ; PWR5-NEXT: vrlw 0, 4, 5
9791 ; PWR5-NEXT: vmulouh 4, 2, 4
9792 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9793 ; PWR5-NEXT: vspltisw 3, 12
9794 ; PWR5-NEXT: vadduwm 3, 3, 3
9795 ; PWR5-NEXT: vslw 2, 2, 5
9796 ; PWR5-NEXT: vadduwm 2, 4, 2
9797 ; PWR5-NEXT: vsrw 2, 2, 3
9798 ; PWR5-NEXT: vspltisw 3, 7
9799 ; PWR5-NEXT: vsubuwm 3, 3, 5
9800 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
9801 ; PWR5-NEXT: blr
9805 ; PWR6-NEXT: addis 3, 2, .LCPI84_0@toc@ha
9806 ; PWR6-NEXT: vspltisw 4, 1
9807 ; PWR6-NEXT: vxor 3, 3, 3
9808 ; PWR6-NEXT: addi 3, 3, .LCPI84_0@toc@l
9809 ; PWR6-NEXT: lvx 5, 0, 3
9810 ; PWR6-NEXT: addis 3, 2, .LCPI84_1@toc@ha
9811 ; PWR6-NEXT: addi 3, 3, .LCPI84_1@toc@l
9812 ; PWR6-NEXT: vspltisw 0, 2
9813 ; PWR6-NEXT: vsrw 4, 2, 4
9814 ; PWR6-NEXT: vand 4, 4, 5
9815 ; PWR6-NEXT: lvx 5, 0, 3
9816 ; PWR6-NEXT: vsubuwm 2, 2, 4
9817 ; PWR6-NEXT: vand 4, 2, 5
9818 ; PWR6-NEXT: vsrw 2, 2, 0
9819 ; PWR6-NEXT: vand 2, 2, 5
9820 ; PWR6-NEXT: vspltisw 5, 4
9821 ; PWR6-NEXT: vadduwm 2, 4, 2
9822 ; PWR6-NEXT: vsrw 4, 2, 5
9823 ; PWR6-NEXT: vspltisb 5, 15
9824 ; PWR6-NEXT: vadduwm 2, 2, 4
9825 ; PWR6-NEXT: vspltisb 4, 1
9826 ; PWR6-NEXT: vand 2, 2, 5
9827 ; PWR6-NEXT: vspltisw 5, -16
9828 ; PWR6-NEXT: vrlw 0, 4, 5
9829 ; PWR6-NEXT: vmulouh 4, 2, 4
9830 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9831 ; PWR6-NEXT: vspltisw 3, 12
9832 ; PWR6-NEXT: vadduwm 3, 3, 3
9833 ; PWR6-NEXT: vslw 2, 2, 5
9834 ; PWR6-NEXT: vadduwm 2, 4, 2
9835 ; PWR6-NEXT: vsrw 2, 2, 3
9836 ; PWR6-NEXT: vspltisw 3, 7
9837 ; PWR6-NEXT: vsubuwm 3, 3, 5
9838 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
9839 ; PWR6-NEXT: blr
9843 ; PWR7-NEXT: vspltisw 3, 1
9844 ; PWR7-NEXT: addis 3, 2, .LCPI84_0@toc@ha
9845 ; PWR7-NEXT: addi 3, 3, .LCPI84_0@toc@l
9846 ; PWR7-NEXT: vspltisw 4, 2
9847 ; PWR7-NEXT: lxvw4x 0, 0, 3
9848 ; PWR7-NEXT: addis 3, 2, .LCPI84_1@toc@ha
9849 ; PWR7-NEXT: vspltisw 5, -16
9850 ; PWR7-NEXT: vsrw 3, 2, 3
9851 ; PWR7-NEXT: addi 3, 3, .LCPI84_1@toc@l
9852 ; PWR7-NEXT: vspltisb 0, 15
9853 ; PWR7-NEXT: xxland 35, 35, 0
9854 ; PWR7-NEXT: lxvw4x 0, 0, 3
9855 ; PWR7-NEXT: vsubuwm 2, 2, 3
9856 ; PWR7-NEXT: vsrw 3, 2, 4
9857 ; PWR7-NEXT: xxland 34, 34, 0
9858 ; PWR7-NEXT: vspltisw 4, 4
9859 ; PWR7-NEXT: xxland 35, 35, 0
9860 ; PWR7-NEXT: vadduwm 2, 2, 3
9861 ; PWR7-NEXT: vsrw 3, 2, 4
9862 ; PWR7-NEXT: vspltisb 4, 1
9863 ; PWR7-NEXT: vrlw 1, 4, 5
9864 ; PWR7-NEXT: vadduwm 2, 2, 3
9865 ; PWR7-NEXT: xxlxor 35, 35, 35
9866 ; PWR7-NEXT: xxland 34, 34, 32
9867 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
9868 ; PWR7-NEXT: vmulouh 2, 2, 4
9869 ; PWR7-NEXT: vspltisw 4, 12
9870 ; PWR7-NEXT: vslw 3, 3, 5
9871 ; PWR7-NEXT: vadduwm 2, 2, 3
9872 ; PWR7-NEXT: vadduwm 3, 4, 4
9873 ; PWR7-NEXT: vsrw 2, 2, 3
9874 ; PWR7-NEXT: vspltisw 3, 7
9875 ; PWR7-NEXT: vsubuwm 3, 3, 5
9876 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
9877 ; PWR7-NEXT: blr
9881 ; PWR8-NEXT: vspltisw 3, -16
9882 ; PWR8-NEXT: vspltisw 4, 7
9883 ; PWR8-NEXT: vpopcntw 2, 2
9884 ; PWR8-NEXT: vsubuwm 3, 4, 3
9885 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
9886 ; PWR8-NEXT: blr
9890 ; PWR9-NEXT: vspltisw 3, -16
9891 ; PWR9-NEXT: vspltisw 4, 7
9892 ; PWR9-NEXT: vpopcntw 2, 2
9893 ; PWR9-NEXT: vsubuwm 3, 4, 3
9894 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
9895 ; PWR9-NEXT: blr
9905 ; PWR5-NEXT: addis 3, 2, .LCPI85_0@toc@ha
9906 ; PWR5-NEXT: vspltisw 4, 1
9907 ; PWR5-NEXT: vxor 3, 3, 3
9908 ; PWR5-NEXT: addi 3, 3, .LCPI85_0@toc@l
9909 ; PWR5-NEXT: lvx 5, 0, 3
9910 ; PWR5-NEXT: addis 3, 2, .LCPI85_1@toc@ha
9911 ; PWR5-NEXT: addi 3, 3, .LCPI85_1@toc@l
9912 ; PWR5-NEXT: vspltisw 0, 2
9913 ; PWR5-NEXT: vsrw 4, 2, 4
9914 ; PWR5-NEXT: vand 4, 4, 5
9915 ; PWR5-NEXT: lvx 5, 0, 3
9916 ; PWR5-NEXT: vsubuwm 2, 2, 4
9917 ; PWR5-NEXT: vand 4, 2, 5
9918 ; PWR5-NEXT: vsrw 2, 2, 0
9919 ; PWR5-NEXT: vand 2, 2, 5
9920 ; PWR5-NEXT: vspltisw 5, 4
9921 ; PWR5-NEXT: vadduwm 2, 4, 2
9922 ; PWR5-NEXT: vsrw 4, 2, 5
9923 ; PWR5-NEXT: vspltisb 5, 15
9924 ; PWR5-NEXT: vadduwm 2, 2, 4
9925 ; PWR5-NEXT: vspltisb 4, 1
9926 ; PWR5-NEXT: vand 2, 2, 5
9927 ; PWR5-NEXT: vspltisw 5, -16
9928 ; PWR5-NEXT: vrlw 0, 4, 5
9929 ; PWR5-NEXT: vmulouh 4, 2, 4
9930 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
9931 ; PWR5-NEXT: vspltisw 3, 12
9932 ; PWR5-NEXT: vadduwm 3, 3, 3
9933 ; PWR5-NEXT: vslw 2, 2, 5
9934 ; PWR5-NEXT: vadduwm 2, 4, 2
9935 ; PWR5-NEXT: vsrw 2, 2, 3
9936 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
9937 ; PWR5-NEXT: blr
9941 ; PWR6-NEXT: addis 3, 2, .LCPI85_0@toc@ha
9942 ; PWR6-NEXT: vspltisw 4, 1
9943 ; PWR6-NEXT: vxor 3, 3, 3
9944 ; PWR6-NEXT: addi 3, 3, .LCPI85_0@toc@l
9945 ; PWR6-NEXT: lvx 5, 0, 3
9946 ; PWR6-NEXT: addis 3, 2, .LCPI85_1@toc@ha
9947 ; PWR6-NEXT: addi 3, 3, .LCPI85_1@toc@l
9948 ; PWR6-NEXT: vspltisw 0, 2
9949 ; PWR6-NEXT: vsrw 4, 2, 4
9950 ; PWR6-NEXT: vand 4, 4, 5
9951 ; PWR6-NEXT: lvx 5, 0, 3
9952 ; PWR6-NEXT: vsubuwm 2, 2, 4
9953 ; PWR6-NEXT: vand 4, 2, 5
9954 ; PWR6-NEXT: vsrw 2, 2, 0
9955 ; PWR6-NEXT: vand 2, 2, 5
9956 ; PWR6-NEXT: vspltisw 5, 4
9957 ; PWR6-NEXT: vadduwm 2, 4, 2
9958 ; PWR6-NEXT: vsrw 4, 2, 5
9959 ; PWR6-NEXT: vspltisb 5, 15
9960 ; PWR6-NEXT: vadduwm 2, 2, 4
9961 ; PWR6-NEXT: vspltisb 4, 1
9962 ; PWR6-NEXT: vand 2, 2, 5
9963 ; PWR6-NEXT: vspltisw 5, -16
9964 ; PWR6-NEXT: vrlw 0, 4, 5
9965 ; PWR6-NEXT: vmulouh 4, 2, 4
9966 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
9967 ; PWR6-NEXT: vspltisw 3, 12
9968 ; PWR6-NEXT: vadduwm 3, 3, 3
9969 ; PWR6-NEXT: vslw 2, 2, 5
9970 ; PWR6-NEXT: vadduwm 2, 4, 2
9971 ; PWR6-NEXT: vsrw 2, 2, 3
9972 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
9973 ; PWR6-NEXT: blr
9977 ; PWR7-NEXT: vspltisw 3, 1
9978 ; PWR7-NEXT: addis 3, 2, .LCPI85_0@toc@ha
9979 ; PWR7-NEXT: addi 3, 3, .LCPI85_0@toc@l
9980 ; PWR7-NEXT: vspltisw 4, 2
9981 ; PWR7-NEXT: lxvw4x 0, 0, 3
9982 ; PWR7-NEXT: addis 3, 2, .LCPI85_1@toc@ha
9983 ; PWR7-NEXT: vspltisw 5, -16
9984 ; PWR7-NEXT: vsrw 3, 2, 3
9985 ; PWR7-NEXT: addi 3, 3, .LCPI85_1@toc@l
9986 ; PWR7-NEXT: vspltisb 0, 15
9987 ; PWR7-NEXT: xxland 35, 35, 0
9988 ; PWR7-NEXT: lxvw4x 0, 0, 3
9989 ; PWR7-NEXT: vsubuwm 2, 2, 3
9990 ; PWR7-NEXT: vsrw 3, 2, 4
9991 ; PWR7-NEXT: xxland 34, 34, 0
9992 ; PWR7-NEXT: vspltisw 4, 4
9993 ; PWR7-NEXT: xxland 35, 35, 0
9994 ; PWR7-NEXT: vadduwm 2, 2, 3
9995 ; PWR7-NEXT: vsrw 3, 2, 4
9996 ; PWR7-NEXT: vspltisb 4, 1
9997 ; PWR7-NEXT: vrlw 1, 4, 5
9998 ; PWR7-NEXT: vadduwm 2, 2, 3
9999 ; PWR7-NEXT: xxlxor 35, 35, 35
10000 ; PWR7-NEXT: xxland 34, 34, 32
10001 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10002 ; PWR7-NEXT: vmulouh 2, 2, 4
10003 ; PWR7-NEXT: vspltisw 4, 12
10004 ; PWR7-NEXT: vslw 3, 3, 5
10005 ; PWR7-NEXT: vadduwm 2, 2, 3
10006 ; PWR7-NEXT: vadduwm 3, 4, 4
10007 ; PWR7-NEXT: vsrw 2, 2, 3
10008 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
10009 ; PWR7-NEXT: blr
10013 ; PWR8-NEXT: vspltisw 3, 12
10014 ; PWR8-NEXT: vpopcntw 2, 2
10015 ; PWR8-NEXT: vadduwm 3, 3, 3
10016 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
10017 ; PWR8-NEXT: blr
10021 ; PWR9-NEXT: vspltisw 3, 12
10022 ; PWR9-NEXT: vpopcntw 2, 2
10023 ; PWR9-NEXT: vadduwm 3, 3, 3
10024 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
10025 ; PWR9-NEXT: blr
10035 ; PWR5-NEXT: addis 3, 2, .LCPI86_0@toc@ha
10036 ; PWR5-NEXT: vspltisw 4, 1
10037 ; PWR5-NEXT: vxor 3, 3, 3
10038 ; PWR5-NEXT: addi 3, 3, .LCPI86_0@toc@l
10039 ; PWR5-NEXT: lvx 5, 0, 3
10040 ; PWR5-NEXT: addis 3, 2, .LCPI86_1@toc@ha
10041 ; PWR5-NEXT: addi 3, 3, .LCPI86_1@toc@l
10042 ; PWR5-NEXT: vspltisw 0, 2
10043 ; PWR5-NEXT: vsrw 4, 2, 4
10044 ; PWR5-NEXT: vand 4, 4, 5
10045 ; PWR5-NEXT: lvx 5, 0, 3
10046 ; PWR5-NEXT: vsubuwm 2, 2, 4
10047 ; PWR5-NEXT: vand 4, 2, 5
10048 ; PWR5-NEXT: vsrw 2, 2, 0
10049 ; PWR5-NEXT: vand 2, 2, 5
10050 ; PWR5-NEXT: vspltisw 5, 4
10051 ; PWR5-NEXT: vadduwm 2, 4, 2
10052 ; PWR5-NEXT: vsrw 4, 2, 5
10053 ; PWR5-NEXT: vspltisb 5, 15
10054 ; PWR5-NEXT: vadduwm 2, 2, 4
10055 ; PWR5-NEXT: vspltisb 4, 1
10056 ; PWR5-NEXT: vand 2, 2, 5
10057 ; PWR5-NEXT: vspltisw 5, -16
10058 ; PWR5-NEXT: vrlw 0, 4, 5
10059 ; PWR5-NEXT: vmulouh 4, 2, 4
10060 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10061 ; PWR5-NEXT: vspltisw 3, 12
10062 ; PWR5-NEXT: vadduwm 3, 3, 3
10063 ; PWR5-NEXT: vslw 2, 2, 5
10064 ; PWR5-NEXT: vadduwm 2, 4, 2
10065 ; PWR5-NEXT: vsrw 2, 2, 3
10066 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
10067 ; PWR5-NEXT: blr
10071 ; PWR6-NEXT: addis 3, 2, .LCPI86_0@toc@ha
10072 ; PWR6-NEXT: vspltisw 4, 1
10073 ; PWR6-NEXT: vxor 3, 3, 3
10074 ; PWR6-NEXT: addi 3, 3, .LCPI86_0@toc@l
10075 ; PWR6-NEXT: lvx 5, 0, 3
10076 ; PWR6-NEXT: addis 3, 2, .LCPI86_1@toc@ha
10077 ; PWR6-NEXT: addi 3, 3, .LCPI86_1@toc@l
10078 ; PWR6-NEXT: vspltisw 0, 2
10079 ; PWR6-NEXT: vsrw 4, 2, 4
10080 ; PWR6-NEXT: vand 4, 4, 5
10081 ; PWR6-NEXT: lvx 5, 0, 3
10082 ; PWR6-NEXT: vsubuwm 2, 2, 4
10083 ; PWR6-NEXT: vand 4, 2, 5
10084 ; PWR6-NEXT: vsrw 2, 2, 0
10085 ; PWR6-NEXT: vand 2, 2, 5
10086 ; PWR6-NEXT: vspltisw 5, 4
10087 ; PWR6-NEXT: vadduwm 2, 4, 2
10088 ; PWR6-NEXT: vsrw 4, 2, 5
10089 ; PWR6-NEXT: vspltisb 5, 15
10090 ; PWR6-NEXT: vadduwm 2, 2, 4
10091 ; PWR6-NEXT: vspltisb 4, 1
10092 ; PWR6-NEXT: vand 2, 2, 5
10093 ; PWR6-NEXT: vspltisw 5, -16
10094 ; PWR6-NEXT: vrlw 0, 4, 5
10095 ; PWR6-NEXT: vmulouh 4, 2, 4
10096 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10097 ; PWR6-NEXT: vspltisw 3, 12
10098 ; PWR6-NEXT: vadduwm 3, 3, 3
10099 ; PWR6-NEXT: vslw 2, 2, 5
10100 ; PWR6-NEXT: vadduwm 2, 4, 2
10101 ; PWR6-NEXT: vsrw 2, 2, 3
10102 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
10103 ; PWR6-NEXT: blr
10107 ; PWR7-NEXT: vspltisw 3, 1
10108 ; PWR7-NEXT: addis 3, 2, .LCPI86_0@toc@ha
10109 ; PWR7-NEXT: addi 3, 3, .LCPI86_0@toc@l
10110 ; PWR7-NEXT: vspltisw 4, 2
10111 ; PWR7-NEXT: lxvw4x 0, 0, 3
10112 ; PWR7-NEXT: addis 3, 2, .LCPI86_1@toc@ha
10113 ; PWR7-NEXT: vspltisw 5, -16
10114 ; PWR7-NEXT: vsrw 3, 2, 3
10115 ; PWR7-NEXT: addi 3, 3, .LCPI86_1@toc@l
10116 ; PWR7-NEXT: vspltisb 0, 15
10117 ; PWR7-NEXT: xxland 35, 35, 0
10118 ; PWR7-NEXT: lxvw4x 0, 0, 3
10119 ; PWR7-NEXT: vsubuwm 2, 2, 3
10120 ; PWR7-NEXT: vsrw 3, 2, 4
10121 ; PWR7-NEXT: xxland 34, 34, 0
10122 ; PWR7-NEXT: vspltisw 4, 4
10123 ; PWR7-NEXT: xxland 35, 35, 0
10124 ; PWR7-NEXT: vadduwm 2, 2, 3
10125 ; PWR7-NEXT: vsrw 3, 2, 4
10126 ; PWR7-NEXT: vspltisb 4, 1
10127 ; PWR7-NEXT: vrlw 1, 4, 5
10128 ; PWR7-NEXT: vadduwm 2, 2, 3
10129 ; PWR7-NEXT: xxlxor 35, 35, 35
10130 ; PWR7-NEXT: xxland 34, 34, 32
10131 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10132 ; PWR7-NEXT: vmulouh 2, 2, 4
10133 ; PWR7-NEXT: vspltisw 4, 12
10134 ; PWR7-NEXT: vslw 3, 3, 5
10135 ; PWR7-NEXT: vadduwm 2, 2, 3
10136 ; PWR7-NEXT: vadduwm 3, 4, 4
10137 ; PWR7-NEXT: vsrw 2, 2, 3
10138 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
10139 ; PWR7-NEXT: blr
10143 ; PWR8-NEXT: vspltisw 3, 12
10144 ; PWR8-NEXT: vpopcntw 2, 2
10145 ; PWR8-NEXT: vadduwm 3, 3, 3
10146 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
10147 ; PWR8-NEXT: blr
10151 ; PWR9-NEXT: vspltisw 3, 12
10152 ; PWR9-NEXT: vpopcntw 2, 2
10153 ; PWR9-NEXT: vadduwm 3, 3, 3
10154 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
10155 ; PWR9-NEXT: blr
10165 ; PWR5-NEXT: addis 3, 2, .LCPI87_0@toc@ha
10166 ; PWR5-NEXT: vspltisw 4, 1
10167 ; PWR5-NEXT: vxor 3, 3, 3
10168 ; PWR5-NEXT: addi 3, 3, .LCPI87_0@toc@l
10169 ; PWR5-NEXT: lvx 5, 0, 3
10170 ; PWR5-NEXT: addis 3, 2, .LCPI87_1@toc@ha
10171 ; PWR5-NEXT: addi 3, 3, .LCPI87_1@toc@l
10172 ; PWR5-NEXT: vspltisw 0, 2
10173 ; PWR5-NEXT: vsrw 4, 2, 4
10174 ; PWR5-NEXT: vand 4, 4, 5
10175 ; PWR5-NEXT: lvx 5, 0, 3
10176 ; PWR5-NEXT: vsubuwm 2, 2, 4
10177 ; PWR5-NEXT: vand 4, 2, 5
10178 ; PWR5-NEXT: vsrw 2, 2, 0
10179 ; PWR5-NEXT: vand 2, 2, 5
10180 ; PWR5-NEXT: vspltisw 5, 4
10181 ; PWR5-NEXT: vadduwm 2, 4, 2
10182 ; PWR5-NEXT: vsrw 4, 2, 5
10183 ; PWR5-NEXT: vspltisb 5, 15
10184 ; PWR5-NEXT: vadduwm 2, 2, 4
10185 ; PWR5-NEXT: vspltisb 4, 1
10186 ; PWR5-NEXT: vand 2, 2, 5
10187 ; PWR5-NEXT: vspltisw 5, -16
10188 ; PWR5-NEXT: vrlw 0, 4, 5
10189 ; PWR5-NEXT: vmulouh 4, 2, 4
10190 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10191 ; PWR5-NEXT: vspltisw 3, 12
10192 ; PWR5-NEXT: vadduwm 3, 3, 3
10193 ; PWR5-NEXT: vslw 2, 2, 5
10194 ; PWR5-NEXT: vadduwm 2, 4, 2
10195 ; PWR5-NEXT: vsrw 2, 2, 3
10196 ; PWR5-NEXT: vspltisw 3, 9
10197 ; PWR5-NEXT: vsubuwm 3, 3, 5
10198 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
10199 ; PWR5-NEXT: blr
10203 ; PWR6-NEXT: addis 3, 2, .LCPI87_0@toc@ha
10204 ; PWR6-NEXT: vspltisw 4, 1
10205 ; PWR6-NEXT: vxor 3, 3, 3
10206 ; PWR6-NEXT: addi 3, 3, .LCPI87_0@toc@l
10207 ; PWR6-NEXT: lvx 5, 0, 3
10208 ; PWR6-NEXT: addis 3, 2, .LCPI87_1@toc@ha
10209 ; PWR6-NEXT: addi 3, 3, .LCPI87_1@toc@l
10210 ; PWR6-NEXT: vspltisw 0, 2
10211 ; PWR6-NEXT: vsrw 4, 2, 4
10212 ; PWR6-NEXT: vand 4, 4, 5
10213 ; PWR6-NEXT: lvx 5, 0, 3
10214 ; PWR6-NEXT: vsubuwm 2, 2, 4
10215 ; PWR6-NEXT: vand 4, 2, 5
10216 ; PWR6-NEXT: vsrw 2, 2, 0
10217 ; PWR6-NEXT: vand 2, 2, 5
10218 ; PWR6-NEXT: vspltisw 5, 4
10219 ; PWR6-NEXT: vadduwm 2, 4, 2
10220 ; PWR6-NEXT: vsrw 4, 2, 5
10221 ; PWR6-NEXT: vspltisb 5, 15
10222 ; PWR6-NEXT: vadduwm 2, 2, 4
10223 ; PWR6-NEXT: vspltisb 4, 1
10224 ; PWR6-NEXT: vand 2, 2, 5
10225 ; PWR6-NEXT: vspltisw 5, -16
10226 ; PWR6-NEXT: vrlw 0, 4, 5
10227 ; PWR6-NEXT: vmulouh 4, 2, 4
10228 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10229 ; PWR6-NEXT: vspltisw 3, 12
10230 ; PWR6-NEXT: vadduwm 3, 3, 3
10231 ; PWR6-NEXT: vslw 2, 2, 5
10232 ; PWR6-NEXT: vadduwm 2, 4, 2
10233 ; PWR6-NEXT: vsrw 2, 2, 3
10234 ; PWR6-NEXT: vspltisw 3, 9
10235 ; PWR6-NEXT: vsubuwm 3, 3, 5
10236 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
10237 ; PWR6-NEXT: blr
10241 ; PWR7-NEXT: vspltisw 3, 1
10242 ; PWR7-NEXT: addis 3, 2, .LCPI87_0@toc@ha
10243 ; PWR7-NEXT: addi 3, 3, .LCPI87_0@toc@l
10244 ; PWR7-NEXT: vspltisw 4, 2
10245 ; PWR7-NEXT: lxvw4x 0, 0, 3
10246 ; PWR7-NEXT: addis 3, 2, .LCPI87_1@toc@ha
10247 ; PWR7-NEXT: vspltisw 5, -16
10248 ; PWR7-NEXT: vsrw 3, 2, 3
10249 ; PWR7-NEXT: addi 3, 3, .LCPI87_1@toc@l
10250 ; PWR7-NEXT: vspltisb 0, 15
10251 ; PWR7-NEXT: xxland 35, 35, 0
10252 ; PWR7-NEXT: lxvw4x 0, 0, 3
10253 ; PWR7-NEXT: vsubuwm 2, 2, 3
10254 ; PWR7-NEXT: vsrw 3, 2, 4
10255 ; PWR7-NEXT: xxland 34, 34, 0
10256 ; PWR7-NEXT: vspltisw 4, 4
10257 ; PWR7-NEXT: xxland 35, 35, 0
10258 ; PWR7-NEXT: vadduwm 2, 2, 3
10259 ; PWR7-NEXT: vsrw 3, 2, 4
10260 ; PWR7-NEXT: vspltisb 4, 1
10261 ; PWR7-NEXT: vrlw 1, 4, 5
10262 ; PWR7-NEXT: vadduwm 2, 2, 3
10263 ; PWR7-NEXT: xxlxor 35, 35, 35
10264 ; PWR7-NEXT: xxland 34, 34, 32
10265 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10266 ; PWR7-NEXT: vmulouh 2, 2, 4
10267 ; PWR7-NEXT: vspltisw 4, 12
10268 ; PWR7-NEXT: vslw 3, 3, 5
10269 ; PWR7-NEXT: vadduwm 2, 2, 3
10270 ; PWR7-NEXT: vadduwm 3, 4, 4
10271 ; PWR7-NEXT: vsrw 2, 2, 3
10272 ; PWR7-NEXT: vspltisw 3, 9
10273 ; PWR7-NEXT: vsubuwm 3, 3, 5
10274 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
10275 ; PWR7-NEXT: blr
10279 ; PWR8-NEXT: vspltisw 3, -16
10280 ; PWR8-NEXT: vspltisw 4, 9
10281 ; PWR8-NEXT: vpopcntw 2, 2
10282 ; PWR8-NEXT: vsubuwm 3, 4, 3
10283 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
10284 ; PWR8-NEXT: blr
10288 ; PWR9-NEXT: vspltisw 3, -16
10289 ; PWR9-NEXT: vspltisw 4, 9
10290 ; PWR9-NEXT: vpopcntw 2, 2
10291 ; PWR9-NEXT: vsubuwm 3, 4, 3
10292 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
10293 ; PWR9-NEXT: blr
10303 ; PWR5-NEXT: addis 3, 2, .LCPI88_0@toc@ha
10304 ; PWR5-NEXT: vspltisw 4, 1
10305 ; PWR5-NEXT: vxor 3, 3, 3
10306 ; PWR5-NEXT: addi 3, 3, .LCPI88_0@toc@l
10307 ; PWR5-NEXT: lvx 5, 0, 3
10308 ; PWR5-NEXT: addis 3, 2, .LCPI88_1@toc@ha
10309 ; PWR5-NEXT: addi 3, 3, .LCPI88_1@toc@l
10310 ; PWR5-NEXT: vspltisw 0, 2
10311 ; PWR5-NEXT: vsrw 4, 2, 4
10312 ; PWR5-NEXT: vand 4, 4, 5
10313 ; PWR5-NEXT: lvx 5, 0, 3
10314 ; PWR5-NEXT: vsubuwm 2, 2, 4
10315 ; PWR5-NEXT: vand 4, 2, 5
10316 ; PWR5-NEXT: vsrw 2, 2, 0
10317 ; PWR5-NEXT: vand 2, 2, 5
10318 ; PWR5-NEXT: vspltisw 5, 4
10319 ; PWR5-NEXT: vadduwm 2, 4, 2
10320 ; PWR5-NEXT: vsrw 4, 2, 5
10321 ; PWR5-NEXT: vspltisb 5, 15
10322 ; PWR5-NEXT: vadduwm 2, 2, 4
10323 ; PWR5-NEXT: vspltisb 4, 1
10324 ; PWR5-NEXT: vand 2, 2, 5
10325 ; PWR5-NEXT: vspltisw 5, -16
10326 ; PWR5-NEXT: vrlw 0, 4, 5
10327 ; PWR5-NEXT: vmulouh 4, 2, 4
10328 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10329 ; PWR5-NEXT: vspltisw 3, 12
10330 ; PWR5-NEXT: vadduwm 3, 3, 3
10331 ; PWR5-NEXT: vslw 2, 2, 5
10332 ; PWR5-NEXT: vadduwm 2, 4, 2
10333 ; PWR5-NEXT: vsrw 2, 2, 3
10334 ; PWR5-NEXT: vspltisw 3, 9
10335 ; PWR5-NEXT: vsubuwm 3, 3, 5
10336 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
10337 ; PWR5-NEXT: blr
10341 ; PWR6-NEXT: addis 3, 2, .LCPI88_0@toc@ha
10342 ; PWR6-NEXT: vspltisw 4, 1
10343 ; PWR6-NEXT: vxor 3, 3, 3
10344 ; PWR6-NEXT: addi 3, 3, .LCPI88_0@toc@l
10345 ; PWR6-NEXT: lvx 5, 0, 3
10346 ; PWR6-NEXT: addis 3, 2, .LCPI88_1@toc@ha
10347 ; PWR6-NEXT: addi 3, 3, .LCPI88_1@toc@l
10348 ; PWR6-NEXT: vspltisw 0, 2
10349 ; PWR6-NEXT: vsrw 4, 2, 4
10350 ; PWR6-NEXT: vand 4, 4, 5
10351 ; PWR6-NEXT: lvx 5, 0, 3
10352 ; PWR6-NEXT: vsubuwm 2, 2, 4
10353 ; PWR6-NEXT: vand 4, 2, 5
10354 ; PWR6-NEXT: vsrw 2, 2, 0
10355 ; PWR6-NEXT: vand 2, 2, 5
10356 ; PWR6-NEXT: vspltisw 5, 4
10357 ; PWR6-NEXT: vadduwm 2, 4, 2
10358 ; PWR6-NEXT: vsrw 4, 2, 5
10359 ; PWR6-NEXT: vspltisb 5, 15
10360 ; PWR6-NEXT: vadduwm 2, 2, 4
10361 ; PWR6-NEXT: vspltisb 4, 1
10362 ; PWR6-NEXT: vand 2, 2, 5
10363 ; PWR6-NEXT: vspltisw 5, -16
10364 ; PWR6-NEXT: vrlw 0, 4, 5
10365 ; PWR6-NEXT: vmulouh 4, 2, 4
10366 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10367 ; PWR6-NEXT: vspltisw 3, 12
10368 ; PWR6-NEXT: vadduwm 3, 3, 3
10369 ; PWR6-NEXT: vslw 2, 2, 5
10370 ; PWR6-NEXT: vadduwm 2, 4, 2
10371 ; PWR6-NEXT: vsrw 2, 2, 3
10372 ; PWR6-NEXT: vspltisw 3, 9
10373 ; PWR6-NEXT: vsubuwm 3, 3, 5
10374 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
10375 ; PWR6-NEXT: blr
10379 ; PWR7-NEXT: vspltisw 3, 1
10380 ; PWR7-NEXT: addis 3, 2, .LCPI88_0@toc@ha
10381 ; PWR7-NEXT: addi 3, 3, .LCPI88_0@toc@l
10382 ; PWR7-NEXT: vspltisw 4, 2
10383 ; PWR7-NEXT: lxvw4x 0, 0, 3
10384 ; PWR7-NEXT: addis 3, 2, .LCPI88_1@toc@ha
10385 ; PWR7-NEXT: vspltisw 5, -16
10386 ; PWR7-NEXT: vsrw 3, 2, 3
10387 ; PWR7-NEXT: addi 3, 3, .LCPI88_1@toc@l
10388 ; PWR7-NEXT: vspltisb 0, 15
10389 ; PWR7-NEXT: xxland 35, 35, 0
10390 ; PWR7-NEXT: lxvw4x 0, 0, 3
10391 ; PWR7-NEXT: vsubuwm 2, 2, 3
10392 ; PWR7-NEXT: vsrw 3, 2, 4
10393 ; PWR7-NEXT: xxland 34, 34, 0
10394 ; PWR7-NEXT: vspltisw 4, 4
10395 ; PWR7-NEXT: xxland 35, 35, 0
10396 ; PWR7-NEXT: vadduwm 2, 2, 3
10397 ; PWR7-NEXT: vsrw 3, 2, 4
10398 ; PWR7-NEXT: vspltisb 4, 1
10399 ; PWR7-NEXT: vrlw 1, 4, 5
10400 ; PWR7-NEXT: vadduwm 2, 2, 3
10401 ; PWR7-NEXT: xxlxor 35, 35, 35
10402 ; PWR7-NEXT: xxland 34, 34, 32
10403 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10404 ; PWR7-NEXT: vmulouh 2, 2, 4
10405 ; PWR7-NEXT: vspltisw 4, 12
10406 ; PWR7-NEXT: vslw 3, 3, 5
10407 ; PWR7-NEXT: vadduwm 2, 2, 3
10408 ; PWR7-NEXT: vadduwm 3, 4, 4
10409 ; PWR7-NEXT: vsrw 2, 2, 3
10410 ; PWR7-NEXT: vspltisw 3, 9
10411 ; PWR7-NEXT: vsubuwm 3, 3, 5
10412 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
10413 ; PWR7-NEXT: blr
10417 ; PWR8-NEXT: vspltisw 3, -16
10418 ; PWR8-NEXT: vspltisw 4, 9
10419 ; PWR8-NEXT: vpopcntw 2, 2
10420 ; PWR8-NEXT: vsubuwm 3, 4, 3
10421 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
10422 ; PWR8-NEXT: blr
10426 ; PWR9-NEXT: vspltisw 3, -16
10427 ; PWR9-NEXT: vspltisw 4, 9
10428 ; PWR9-NEXT: vpopcntw 2, 2
10429 ; PWR9-NEXT: vsubuwm 3, 4, 3
10430 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
10431 ; PWR9-NEXT: blr
10441 ; PWR5-NEXT: addis 3, 2, .LCPI89_0@toc@ha
10442 ; PWR5-NEXT: vspltisw 4, 1
10443 ; PWR5-NEXT: vxor 3, 3, 3
10444 ; PWR5-NEXT: addi 3, 3, .LCPI89_0@toc@l
10445 ; PWR5-NEXT: lvx 5, 0, 3
10446 ; PWR5-NEXT: addis 3, 2, .LCPI89_1@toc@ha
10447 ; PWR5-NEXT: addi 3, 3, .LCPI89_1@toc@l
10448 ; PWR5-NEXT: vspltisw 0, 2
10449 ; PWR5-NEXT: vsrw 4, 2, 4
10450 ; PWR5-NEXT: vand 4, 4, 5
10451 ; PWR5-NEXT: lvx 5, 0, 3
10452 ; PWR5-NEXT: vsubuwm 2, 2, 4
10453 ; PWR5-NEXT: vand 4, 2, 5
10454 ; PWR5-NEXT: vsrw 2, 2, 0
10455 ; PWR5-NEXT: vand 2, 2, 5
10456 ; PWR5-NEXT: vspltisw 5, 4
10457 ; PWR5-NEXT: vadduwm 2, 4, 2
10458 ; PWR5-NEXT: vsrw 4, 2, 5
10459 ; PWR5-NEXT: vspltisb 5, 15
10460 ; PWR5-NEXT: vadduwm 2, 2, 4
10461 ; PWR5-NEXT: vspltisb 4, 1
10462 ; PWR5-NEXT: vand 2, 2, 5
10463 ; PWR5-NEXT: vspltisw 5, -16
10464 ; PWR5-NEXT: vrlw 0, 4, 5
10465 ; PWR5-NEXT: vmulouh 4, 2, 4
10466 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10467 ; PWR5-NEXT: vspltisw 3, 12
10468 ; PWR5-NEXT: vadduwm 3, 3, 3
10469 ; PWR5-NEXT: vslw 2, 2, 5
10470 ; PWR5-NEXT: vadduwm 2, 4, 2
10471 ; PWR5-NEXT: vsrw 2, 2, 3
10472 ; PWR5-NEXT: vspltisw 3, 13
10473 ; PWR5-NEXT: vadduwm 3, 3, 3
10474 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
10475 ; PWR5-NEXT: blr
10479 ; PWR6-NEXT: addis 3, 2, .LCPI89_0@toc@ha
10480 ; PWR6-NEXT: vspltisw 4, 1
10481 ; PWR6-NEXT: vxor 3, 3, 3
10482 ; PWR6-NEXT: addi 3, 3, .LCPI89_0@toc@l
10483 ; PWR6-NEXT: lvx 5, 0, 3
10484 ; PWR6-NEXT: addis 3, 2, .LCPI89_1@toc@ha
10485 ; PWR6-NEXT: addi 3, 3, .LCPI89_1@toc@l
10486 ; PWR6-NEXT: vspltisw 0, 2
10487 ; PWR6-NEXT: vsrw 4, 2, 4
10488 ; PWR6-NEXT: vand 4, 4, 5
10489 ; PWR6-NEXT: lvx 5, 0, 3
10490 ; PWR6-NEXT: vsubuwm 2, 2, 4
10491 ; PWR6-NEXT: vand 4, 2, 5
10492 ; PWR6-NEXT: vsrw 2, 2, 0
10493 ; PWR6-NEXT: vand 2, 2, 5
10494 ; PWR6-NEXT: vspltisw 5, 4
10495 ; PWR6-NEXT: vadduwm 2, 4, 2
10496 ; PWR6-NEXT: vsrw 4, 2, 5
10497 ; PWR6-NEXT: vspltisb 5, 15
10498 ; PWR6-NEXT: vadduwm 2, 2, 4
10499 ; PWR6-NEXT: vspltisb 4, 1
10500 ; PWR6-NEXT: vand 2, 2, 5
10501 ; PWR6-NEXT: vspltisw 5, -16
10502 ; PWR6-NEXT: vrlw 0, 4, 5
10503 ; PWR6-NEXT: vmulouh 4, 2, 4
10504 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10505 ; PWR6-NEXT: vspltisw 3, 12
10506 ; PWR6-NEXT: vadduwm 3, 3, 3
10507 ; PWR6-NEXT: vslw 2, 2, 5
10508 ; PWR6-NEXT: vadduwm 2, 4, 2
10509 ; PWR6-NEXT: vsrw 2, 2, 3
10510 ; PWR6-NEXT: vspltisw 3, 13
10511 ; PWR6-NEXT: vadduwm 3, 3, 3
10512 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
10513 ; PWR6-NEXT: blr
10517 ; PWR7-NEXT: vspltisw 3, 1
10518 ; PWR7-NEXT: addis 3, 2, .LCPI89_0@toc@ha
10519 ; PWR7-NEXT: addi 3, 3, .LCPI89_0@toc@l
10520 ; PWR7-NEXT: vspltisw 4, 2
10521 ; PWR7-NEXT: lxvw4x 0, 0, 3
10522 ; PWR7-NEXT: addis 3, 2, .LCPI89_1@toc@ha
10523 ; PWR7-NEXT: vspltisw 5, -16
10524 ; PWR7-NEXT: vsrw 3, 2, 3
10525 ; PWR7-NEXT: addi 3, 3, .LCPI89_1@toc@l
10526 ; PWR7-NEXT: vspltisb 0, 15
10527 ; PWR7-NEXT: xxland 35, 35, 0
10528 ; PWR7-NEXT: lxvw4x 0, 0, 3
10529 ; PWR7-NEXT: vsubuwm 2, 2, 3
10530 ; PWR7-NEXT: vsrw 3, 2, 4
10531 ; PWR7-NEXT: xxland 34, 34, 0
10532 ; PWR7-NEXT: vspltisw 4, 4
10533 ; PWR7-NEXT: xxland 35, 35, 0
10534 ; PWR7-NEXT: vadduwm 2, 2, 3
10535 ; PWR7-NEXT: vsrw 3, 2, 4
10536 ; PWR7-NEXT: vspltisb 4, 1
10537 ; PWR7-NEXT: vrlw 1, 4, 5
10538 ; PWR7-NEXT: vadduwm 2, 2, 3
10539 ; PWR7-NEXT: xxlxor 35, 35, 35
10540 ; PWR7-NEXT: xxland 34, 34, 32
10541 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10542 ; PWR7-NEXT: vmulouh 2, 2, 4
10543 ; PWR7-NEXT: vspltisw 4, 12
10544 ; PWR7-NEXT: vslw 3, 3, 5
10545 ; PWR7-NEXT: vadduwm 2, 2, 3
10546 ; PWR7-NEXT: vadduwm 3, 4, 4
10547 ; PWR7-NEXT: vsrw 2, 2, 3
10548 ; PWR7-NEXT: vspltisw 3, 13
10549 ; PWR7-NEXT: vadduwm 3, 3, 3
10550 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
10551 ; PWR7-NEXT: blr
10555 ; PWR8-NEXT: vspltisw 3, 13
10556 ; PWR8-NEXT: vpopcntw 2, 2
10557 ; PWR8-NEXT: vadduwm 3, 3, 3
10558 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
10559 ; PWR8-NEXT: blr
10563 ; PWR9-NEXT: vspltisw 3, 13
10564 ; PWR9-NEXT: vpopcntw 2, 2
10565 ; PWR9-NEXT: vadduwm 3, 3, 3
10566 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
10567 ; PWR9-NEXT: blr
10577 ; PWR5-NEXT: addis 3, 2, .LCPI90_0@toc@ha
10578 ; PWR5-NEXT: vspltisw 4, 1
10579 ; PWR5-NEXT: vxor 3, 3, 3
10580 ; PWR5-NEXT: addi 3, 3, .LCPI90_0@toc@l
10581 ; PWR5-NEXT: lvx 5, 0, 3
10582 ; PWR5-NEXT: addis 3, 2, .LCPI90_1@toc@ha
10583 ; PWR5-NEXT: addi 3, 3, .LCPI90_1@toc@l
10584 ; PWR5-NEXT: vspltisw 0, 2
10585 ; PWR5-NEXT: vsrw 4, 2, 4
10586 ; PWR5-NEXT: vand 4, 4, 5
10587 ; PWR5-NEXT: lvx 5, 0, 3
10588 ; PWR5-NEXT: vsubuwm 2, 2, 4
10589 ; PWR5-NEXT: vand 4, 2, 5
10590 ; PWR5-NEXT: vsrw 2, 2, 0
10591 ; PWR5-NEXT: vand 2, 2, 5
10592 ; PWR5-NEXT: vspltisw 5, 4
10593 ; PWR5-NEXT: vadduwm 2, 4, 2
10594 ; PWR5-NEXT: vsrw 4, 2, 5
10595 ; PWR5-NEXT: vspltisb 5, 15
10596 ; PWR5-NEXT: vadduwm 2, 2, 4
10597 ; PWR5-NEXT: vspltisb 4, 1
10598 ; PWR5-NEXT: vand 2, 2, 5
10599 ; PWR5-NEXT: vspltisw 5, -16
10600 ; PWR5-NEXT: vrlw 0, 4, 5
10601 ; PWR5-NEXT: vmulouh 4, 2, 4
10602 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10603 ; PWR5-NEXT: vspltisw 3, 12
10604 ; PWR5-NEXT: vadduwm 3, 3, 3
10605 ; PWR5-NEXT: vslw 2, 2, 5
10606 ; PWR5-NEXT: vadduwm 2, 4, 2
10607 ; PWR5-NEXT: vsrw 2, 2, 3
10608 ; PWR5-NEXT: vspltisw 3, 13
10609 ; PWR5-NEXT: vadduwm 3, 3, 3
10610 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
10611 ; PWR5-NEXT: blr
10615 ; PWR6-NEXT: addis 3, 2, .LCPI90_0@toc@ha
10616 ; PWR6-NEXT: vspltisw 4, 1
10617 ; PWR6-NEXT: vxor 3, 3, 3
10618 ; PWR6-NEXT: addi 3, 3, .LCPI90_0@toc@l
10619 ; PWR6-NEXT: lvx 5, 0, 3
10620 ; PWR6-NEXT: addis 3, 2, .LCPI90_1@toc@ha
10621 ; PWR6-NEXT: addi 3, 3, .LCPI90_1@toc@l
10622 ; PWR6-NEXT: vspltisw 0, 2
10623 ; PWR6-NEXT: vsrw 4, 2, 4
10624 ; PWR6-NEXT: vand 4, 4, 5
10625 ; PWR6-NEXT: lvx 5, 0, 3
10626 ; PWR6-NEXT: vsubuwm 2, 2, 4
10627 ; PWR6-NEXT: vand 4, 2, 5
10628 ; PWR6-NEXT: vsrw 2, 2, 0
10629 ; PWR6-NEXT: vand 2, 2, 5
10630 ; PWR6-NEXT: vspltisw 5, 4
10631 ; PWR6-NEXT: vadduwm 2, 4, 2
10632 ; PWR6-NEXT: vsrw 4, 2, 5
10633 ; PWR6-NEXT: vspltisb 5, 15
10634 ; PWR6-NEXT: vadduwm 2, 2, 4
10635 ; PWR6-NEXT: vspltisb 4, 1
10636 ; PWR6-NEXT: vand 2, 2, 5
10637 ; PWR6-NEXT: vspltisw 5, -16
10638 ; PWR6-NEXT: vrlw 0, 4, 5
10639 ; PWR6-NEXT: vmulouh 4, 2, 4
10640 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10641 ; PWR6-NEXT: vspltisw 3, 12
10642 ; PWR6-NEXT: vadduwm 3, 3, 3
10643 ; PWR6-NEXT: vslw 2, 2, 5
10644 ; PWR6-NEXT: vadduwm 2, 4, 2
10645 ; PWR6-NEXT: vsrw 2, 2, 3
10646 ; PWR6-NEXT: vspltisw 3, 13
10647 ; PWR6-NEXT: vadduwm 3, 3, 3
10648 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
10649 ; PWR6-NEXT: blr
10653 ; PWR7-NEXT: vspltisw 3, 1
10654 ; PWR7-NEXT: addis 3, 2, .LCPI90_0@toc@ha
10655 ; PWR7-NEXT: addi 3, 3, .LCPI90_0@toc@l
10656 ; PWR7-NEXT: vspltisw 4, 2
10657 ; PWR7-NEXT: lxvw4x 0, 0, 3
10658 ; PWR7-NEXT: addis 3, 2, .LCPI90_1@toc@ha
10659 ; PWR7-NEXT: vspltisw 5, -16
10660 ; PWR7-NEXT: vsrw 3, 2, 3
10661 ; PWR7-NEXT: addi 3, 3, .LCPI90_1@toc@l
10662 ; PWR7-NEXT: vspltisb 0, 15
10663 ; PWR7-NEXT: xxland 35, 35, 0
10664 ; PWR7-NEXT: lxvw4x 0, 0, 3
10665 ; PWR7-NEXT: vsubuwm 2, 2, 3
10666 ; PWR7-NEXT: vsrw 3, 2, 4
10667 ; PWR7-NEXT: xxland 34, 34, 0
10668 ; PWR7-NEXT: vspltisw 4, 4
10669 ; PWR7-NEXT: xxland 35, 35, 0
10670 ; PWR7-NEXT: vadduwm 2, 2, 3
10671 ; PWR7-NEXT: vsrw 3, 2, 4
10672 ; PWR7-NEXT: vspltisb 4, 1
10673 ; PWR7-NEXT: vrlw 1, 4, 5
10674 ; PWR7-NEXT: vadduwm 2, 2, 3
10675 ; PWR7-NEXT: xxlxor 35, 35, 35
10676 ; PWR7-NEXT: xxland 34, 34, 32
10677 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10678 ; PWR7-NEXT: vmulouh 2, 2, 4
10679 ; PWR7-NEXT: vspltisw 4, 12
10680 ; PWR7-NEXT: vslw 3, 3, 5
10681 ; PWR7-NEXT: vadduwm 2, 2, 3
10682 ; PWR7-NEXT: vadduwm 3, 4, 4
10683 ; PWR7-NEXT: vsrw 2, 2, 3
10684 ; PWR7-NEXT: vspltisw 3, 13
10685 ; PWR7-NEXT: vadduwm 3, 3, 3
10686 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
10687 ; PWR7-NEXT: blr
10691 ; PWR8-NEXT: vspltisw 3, 13
10692 ; PWR8-NEXT: vpopcntw 2, 2
10693 ; PWR8-NEXT: vadduwm 3, 3, 3
10694 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
10695 ; PWR8-NEXT: blr
10699 ; PWR9-NEXT: vspltisw 3, 13
10700 ; PWR9-NEXT: vpopcntw 2, 2
10701 ; PWR9-NEXT: vadduwm 3, 3, 3
10702 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
10703 ; PWR9-NEXT: blr
10713 ; PWR5-NEXT: addis 3, 2, .LCPI91_0@toc@ha
10714 ; PWR5-NEXT: vspltisw 4, 1
10715 ; PWR5-NEXT: vxor 3, 3, 3
10716 ; PWR5-NEXT: addi 3, 3, .LCPI91_0@toc@l
10717 ; PWR5-NEXT: lvx 5, 0, 3
10718 ; PWR5-NEXT: addis 3, 2, .LCPI91_1@toc@ha
10719 ; PWR5-NEXT: addi 3, 3, .LCPI91_1@toc@l
10720 ; PWR5-NEXT: vspltisw 0, 2
10721 ; PWR5-NEXT: vsrw 4, 2, 4
10722 ; PWR5-NEXT: vand 4, 4, 5
10723 ; PWR5-NEXT: lvx 5, 0, 3
10724 ; PWR5-NEXT: vsubuwm 2, 2, 4
10725 ; PWR5-NEXT: vand 4, 2, 5
10726 ; PWR5-NEXT: vsrw 2, 2, 0
10727 ; PWR5-NEXT: vand 2, 2, 5
10728 ; PWR5-NEXT: vspltisw 5, 4
10729 ; PWR5-NEXT: vadduwm 2, 4, 2
10730 ; PWR5-NEXT: vsrw 4, 2, 5
10731 ; PWR5-NEXT: vspltisb 5, 15
10732 ; PWR5-NEXT: vadduwm 2, 2, 4
10733 ; PWR5-NEXT: vspltisb 4, 1
10734 ; PWR5-NEXT: vand 2, 2, 5
10735 ; PWR5-NEXT: vspltisw 5, -16
10736 ; PWR5-NEXT: vrlw 0, 4, 5
10737 ; PWR5-NEXT: vmulouh 4, 2, 4
10738 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10739 ; PWR5-NEXT: vspltisw 3, 12
10740 ; PWR5-NEXT: vadduwm 3, 3, 3
10741 ; PWR5-NEXT: vslw 2, 2, 5
10742 ; PWR5-NEXT: vadduwm 2, 4, 2
10743 ; PWR5-NEXT: vsrw 2, 2, 3
10744 ; PWR5-NEXT: vspltisw 3, 11
10745 ; PWR5-NEXT: vsubuwm 3, 3, 5
10746 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
10747 ; PWR5-NEXT: blr
10751 ; PWR6-NEXT: addis 3, 2, .LCPI91_0@toc@ha
10752 ; PWR6-NEXT: vspltisw 4, 1
10753 ; PWR6-NEXT: vxor 3, 3, 3
10754 ; PWR6-NEXT: addi 3, 3, .LCPI91_0@toc@l
10755 ; PWR6-NEXT: lvx 5, 0, 3
10756 ; PWR6-NEXT: addis 3, 2, .LCPI91_1@toc@ha
10757 ; PWR6-NEXT: addi 3, 3, .LCPI91_1@toc@l
10758 ; PWR6-NEXT: vspltisw 0, 2
10759 ; PWR6-NEXT: vsrw 4, 2, 4
10760 ; PWR6-NEXT: vand 4, 4, 5
10761 ; PWR6-NEXT: lvx 5, 0, 3
10762 ; PWR6-NEXT: vsubuwm 2, 2, 4
10763 ; PWR6-NEXT: vand 4, 2, 5
10764 ; PWR6-NEXT: vsrw 2, 2, 0
10765 ; PWR6-NEXT: vand 2, 2, 5
10766 ; PWR6-NEXT: vspltisw 5, 4
10767 ; PWR6-NEXT: vadduwm 2, 4, 2
10768 ; PWR6-NEXT: vsrw 4, 2, 5
10769 ; PWR6-NEXT: vspltisb 5, 15
10770 ; PWR6-NEXT: vadduwm 2, 2, 4
10771 ; PWR6-NEXT: vspltisb 4, 1
10772 ; PWR6-NEXT: vand 2, 2, 5
10773 ; PWR6-NEXT: vspltisw 5, -16
10774 ; PWR6-NEXT: vrlw 0, 4, 5
10775 ; PWR6-NEXT: vmulouh 4, 2, 4
10776 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10777 ; PWR6-NEXT: vspltisw 3, 12
10778 ; PWR6-NEXT: vadduwm 3, 3, 3
10779 ; PWR6-NEXT: vslw 2, 2, 5
10780 ; PWR6-NEXT: vadduwm 2, 4, 2
10781 ; PWR6-NEXT: vsrw 2, 2, 3
10782 ; PWR6-NEXT: vspltisw 3, 11
10783 ; PWR6-NEXT: vsubuwm 3, 3, 5
10784 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
10785 ; PWR6-NEXT: blr
10789 ; PWR7-NEXT: vspltisw 3, 1
10790 ; PWR7-NEXT: addis 3, 2, .LCPI91_0@toc@ha
10791 ; PWR7-NEXT: addi 3, 3, .LCPI91_0@toc@l
10792 ; PWR7-NEXT: vspltisw 4, 2
10793 ; PWR7-NEXT: lxvw4x 0, 0, 3
10794 ; PWR7-NEXT: addis 3, 2, .LCPI91_1@toc@ha
10795 ; PWR7-NEXT: vspltisw 5, -16
10796 ; PWR7-NEXT: vsrw 3, 2, 3
10797 ; PWR7-NEXT: addi 3, 3, .LCPI91_1@toc@l
10798 ; PWR7-NEXT: vspltisb 0, 15
10799 ; PWR7-NEXT: xxland 35, 35, 0
10800 ; PWR7-NEXT: lxvw4x 0, 0, 3
10801 ; PWR7-NEXT: vsubuwm 2, 2, 3
10802 ; PWR7-NEXT: vsrw 3, 2, 4
10803 ; PWR7-NEXT: xxland 34, 34, 0
10804 ; PWR7-NEXT: vspltisw 4, 4
10805 ; PWR7-NEXT: xxland 35, 35, 0
10806 ; PWR7-NEXT: vadduwm 2, 2, 3
10807 ; PWR7-NEXT: vsrw 3, 2, 4
10808 ; PWR7-NEXT: vspltisb 4, 1
10809 ; PWR7-NEXT: vrlw 1, 4, 5
10810 ; PWR7-NEXT: vadduwm 2, 2, 3
10811 ; PWR7-NEXT: xxlxor 35, 35, 35
10812 ; PWR7-NEXT: xxland 34, 34, 32
10813 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10814 ; PWR7-NEXT: vmulouh 2, 2, 4
10815 ; PWR7-NEXT: vspltisw 4, 12
10816 ; PWR7-NEXT: vslw 3, 3, 5
10817 ; PWR7-NEXT: vadduwm 2, 2, 3
10818 ; PWR7-NEXT: vadduwm 3, 4, 4
10819 ; PWR7-NEXT: vsrw 2, 2, 3
10820 ; PWR7-NEXT: vspltisw 3, 11
10821 ; PWR7-NEXT: vsubuwm 3, 3, 5
10822 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
10823 ; PWR7-NEXT: blr
10827 ; PWR8-NEXT: vspltisw 3, -16
10828 ; PWR8-NEXT: vspltisw 4, 11
10829 ; PWR8-NEXT: vpopcntw 2, 2
10830 ; PWR8-NEXT: vsubuwm 3, 4, 3
10831 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
10832 ; PWR8-NEXT: blr
10836 ; PWR9-NEXT: vspltisw 3, -16
10837 ; PWR9-NEXT: vspltisw 4, 11
10838 ; PWR9-NEXT: vpopcntw 2, 2
10839 ; PWR9-NEXT: vsubuwm 3, 4, 3
10840 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
10841 ; PWR9-NEXT: blr
10851 ; PWR5-NEXT: addis 3, 2, .LCPI92_0@toc@ha
10852 ; PWR5-NEXT: vspltisw 4, 1
10853 ; PWR5-NEXT: vxor 3, 3, 3
10854 ; PWR5-NEXT: addi 3, 3, .LCPI92_0@toc@l
10855 ; PWR5-NEXT: lvx 5, 0, 3
10856 ; PWR5-NEXT: addis 3, 2, .LCPI92_1@toc@ha
10857 ; PWR5-NEXT: addi 3, 3, .LCPI92_1@toc@l
10858 ; PWR5-NEXT: vspltisw 0, 2
10859 ; PWR5-NEXT: vsrw 4, 2, 4
10860 ; PWR5-NEXT: vand 4, 4, 5
10861 ; PWR5-NEXT: lvx 5, 0, 3
10862 ; PWR5-NEXT: vsubuwm 2, 2, 4
10863 ; PWR5-NEXT: vand 4, 2, 5
10864 ; PWR5-NEXT: vsrw 2, 2, 0
10865 ; PWR5-NEXT: vand 2, 2, 5
10866 ; PWR5-NEXT: vspltisw 5, 4
10867 ; PWR5-NEXT: vadduwm 2, 4, 2
10868 ; PWR5-NEXT: vsrw 4, 2, 5
10869 ; PWR5-NEXT: vspltisb 5, 15
10870 ; PWR5-NEXT: vadduwm 2, 2, 4
10871 ; PWR5-NEXT: vspltisb 4, 1
10872 ; PWR5-NEXT: vand 2, 2, 5
10873 ; PWR5-NEXT: vspltisw 5, -16
10874 ; PWR5-NEXT: vrlw 0, 4, 5
10875 ; PWR5-NEXT: vmulouh 4, 2, 4
10876 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
10877 ; PWR5-NEXT: vspltisw 3, 12
10878 ; PWR5-NEXT: vadduwm 3, 3, 3
10879 ; PWR5-NEXT: vslw 2, 2, 5
10880 ; PWR5-NEXT: vadduwm 2, 4, 2
10881 ; PWR5-NEXT: vsrw 2, 2, 3
10882 ; PWR5-NEXT: vspltisw 3, 11
10883 ; PWR5-NEXT: vsubuwm 3, 3, 5
10884 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
10885 ; PWR5-NEXT: blr
10889 ; PWR6-NEXT: addis 3, 2, .LCPI92_0@toc@ha
10890 ; PWR6-NEXT: vspltisw 4, 1
10891 ; PWR6-NEXT: vxor 3, 3, 3
10892 ; PWR6-NEXT: addi 3, 3, .LCPI92_0@toc@l
10893 ; PWR6-NEXT: lvx 5, 0, 3
10894 ; PWR6-NEXT: addis 3, 2, .LCPI92_1@toc@ha
10895 ; PWR6-NEXT: addi 3, 3, .LCPI92_1@toc@l
10896 ; PWR6-NEXT: vspltisw 0, 2
10897 ; PWR6-NEXT: vsrw 4, 2, 4
10898 ; PWR6-NEXT: vand 4, 4, 5
10899 ; PWR6-NEXT: lvx 5, 0, 3
10900 ; PWR6-NEXT: vsubuwm 2, 2, 4
10901 ; PWR6-NEXT: vand 4, 2, 5
10902 ; PWR6-NEXT: vsrw 2, 2, 0
10903 ; PWR6-NEXT: vand 2, 2, 5
10904 ; PWR6-NEXT: vspltisw 5, 4
10905 ; PWR6-NEXT: vadduwm 2, 4, 2
10906 ; PWR6-NEXT: vsrw 4, 2, 5
10907 ; PWR6-NEXT: vspltisb 5, 15
10908 ; PWR6-NEXT: vadduwm 2, 2, 4
10909 ; PWR6-NEXT: vspltisb 4, 1
10910 ; PWR6-NEXT: vand 2, 2, 5
10911 ; PWR6-NEXT: vspltisw 5, -16
10912 ; PWR6-NEXT: vrlw 0, 4, 5
10913 ; PWR6-NEXT: vmulouh 4, 2, 4
10914 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
10915 ; PWR6-NEXT: vspltisw 3, 12
10916 ; PWR6-NEXT: vadduwm 3, 3, 3
10917 ; PWR6-NEXT: vslw 2, 2, 5
10918 ; PWR6-NEXT: vadduwm 2, 4, 2
10919 ; PWR6-NEXT: vsrw 2, 2, 3
10920 ; PWR6-NEXT: vspltisw 3, 11
10921 ; PWR6-NEXT: vsubuwm 3, 3, 5
10922 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
10923 ; PWR6-NEXT: blr
10927 ; PWR7-NEXT: vspltisw 3, 1
10928 ; PWR7-NEXT: addis 3, 2, .LCPI92_0@toc@ha
10929 ; PWR7-NEXT: addi 3, 3, .LCPI92_0@toc@l
10930 ; PWR7-NEXT: vspltisw 4, 2
10931 ; PWR7-NEXT: lxvw4x 0, 0, 3
10932 ; PWR7-NEXT: addis 3, 2, .LCPI92_1@toc@ha
10933 ; PWR7-NEXT: vspltisw 5, -16
10934 ; PWR7-NEXT: vsrw 3, 2, 3
10935 ; PWR7-NEXT: addi 3, 3, .LCPI92_1@toc@l
10936 ; PWR7-NEXT: vspltisb 0, 15
10937 ; PWR7-NEXT: xxland 35, 35, 0
10938 ; PWR7-NEXT: lxvw4x 0, 0, 3
10939 ; PWR7-NEXT: vsubuwm 2, 2, 3
10940 ; PWR7-NEXT: vsrw 3, 2, 4
10941 ; PWR7-NEXT: xxland 34, 34, 0
10942 ; PWR7-NEXT: vspltisw 4, 4
10943 ; PWR7-NEXT: xxland 35, 35, 0
10944 ; PWR7-NEXT: vadduwm 2, 2, 3
10945 ; PWR7-NEXT: vsrw 3, 2, 4
10946 ; PWR7-NEXT: vspltisb 4, 1
10947 ; PWR7-NEXT: vrlw 1, 4, 5
10948 ; PWR7-NEXT: vadduwm 2, 2, 3
10949 ; PWR7-NEXT: xxlxor 35, 35, 35
10950 ; PWR7-NEXT: xxland 34, 34, 32
10951 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
10952 ; PWR7-NEXT: vmulouh 2, 2, 4
10953 ; PWR7-NEXT: vspltisw 4, 12
10954 ; PWR7-NEXT: vslw 3, 3, 5
10955 ; PWR7-NEXT: vadduwm 2, 2, 3
10956 ; PWR7-NEXT: vadduwm 3, 4, 4
10957 ; PWR7-NEXT: vsrw 2, 2, 3
10958 ; PWR7-NEXT: vspltisw 3, 11
10959 ; PWR7-NEXT: vsubuwm 3, 3, 5
10960 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
10961 ; PWR7-NEXT: blr
10965 ; PWR8-NEXT: vspltisw 3, -16
10966 ; PWR8-NEXT: vspltisw 4, 11
10967 ; PWR8-NEXT: vpopcntw 2, 2
10968 ; PWR8-NEXT: vsubuwm 3, 4, 3
10969 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
10970 ; PWR8-NEXT: blr
10974 ; PWR9-NEXT: vspltisw 3, -16
10975 ; PWR9-NEXT: vspltisw 4, 11
10976 ; PWR9-NEXT: vpopcntw 2, 2
10977 ; PWR9-NEXT: vsubuwm 3, 4, 3
10978 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
10979 ; PWR9-NEXT: blr
10989 ; PWR5-NEXT: addis 3, 2, .LCPI93_0@toc@ha
10990 ; PWR5-NEXT: vspltisw 4, 1
10991 ; PWR5-NEXT: vxor 3, 3, 3
10992 ; PWR5-NEXT: addi 3, 3, .LCPI93_0@toc@l
10993 ; PWR5-NEXT: lvx 5, 0, 3
10994 ; PWR5-NEXT: addis 3, 2, .LCPI93_1@toc@ha
10995 ; PWR5-NEXT: addi 3, 3, .LCPI93_1@toc@l
10996 ; PWR5-NEXT: vspltisw 0, 2
10997 ; PWR5-NEXT: vsrw 4, 2, 4
10998 ; PWR5-NEXT: vand 4, 4, 5
10999 ; PWR5-NEXT: lvx 5, 0, 3
11000 ; PWR5-NEXT: vsubuwm 2, 2, 4
11001 ; PWR5-NEXT: vand 4, 2, 5
11002 ; PWR5-NEXT: vsrw 2, 2, 0
11003 ; PWR5-NEXT: vand 2, 2, 5
11004 ; PWR5-NEXT: vspltisw 5, 4
11005 ; PWR5-NEXT: vadduwm 2, 4, 2
11006 ; PWR5-NEXT: vsrw 4, 2, 5
11007 ; PWR5-NEXT: vspltisb 5, 15
11008 ; PWR5-NEXT: vadduwm 2, 2, 4
11009 ; PWR5-NEXT: vspltisb 4, 1
11010 ; PWR5-NEXT: vand 2, 2, 5
11011 ; PWR5-NEXT: vspltisw 5, -16
11012 ; PWR5-NEXT: vrlw 0, 4, 5
11013 ; PWR5-NEXT: vmulouh 4, 2, 4
11014 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11015 ; PWR5-NEXT: vspltisw 3, 12
11016 ; PWR5-NEXT: vadduwm 3, 3, 3
11017 ; PWR5-NEXT: vslw 2, 2, 5
11018 ; PWR5-NEXT: vadduwm 2, 4, 2
11019 ; PWR5-NEXT: vsrw 2, 2, 3
11020 ; PWR5-NEXT: vspltisw 3, 14
11021 ; PWR5-NEXT: vadduwm 3, 3, 3
11022 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
11023 ; PWR5-NEXT: blr
11027 ; PWR6-NEXT: addis 3, 2, .LCPI93_0@toc@ha
11028 ; PWR6-NEXT: vspltisw 4, 1
11029 ; PWR6-NEXT: vxor 3, 3, 3
11030 ; PWR6-NEXT: addi 3, 3, .LCPI93_0@toc@l
11031 ; PWR6-NEXT: lvx 5, 0, 3
11032 ; PWR6-NEXT: addis 3, 2, .LCPI93_1@toc@ha
11033 ; PWR6-NEXT: addi 3, 3, .LCPI93_1@toc@l
11034 ; PWR6-NEXT: vspltisw 0, 2
11035 ; PWR6-NEXT: vsrw 4, 2, 4
11036 ; PWR6-NEXT: vand 4, 4, 5
11037 ; PWR6-NEXT: lvx 5, 0, 3
11038 ; PWR6-NEXT: vsubuwm 2, 2, 4
11039 ; PWR6-NEXT: vand 4, 2, 5
11040 ; PWR6-NEXT: vsrw 2, 2, 0
11041 ; PWR6-NEXT: vand 2, 2, 5
11042 ; PWR6-NEXT: vspltisw 5, 4
11043 ; PWR6-NEXT: vadduwm 2, 4, 2
11044 ; PWR6-NEXT: vsrw 4, 2, 5
11045 ; PWR6-NEXT: vspltisb 5, 15
11046 ; PWR6-NEXT: vadduwm 2, 2, 4
11047 ; PWR6-NEXT: vspltisb 4, 1
11048 ; PWR6-NEXT: vand 2, 2, 5
11049 ; PWR6-NEXT: vspltisw 5, -16
11050 ; PWR6-NEXT: vrlw 0, 4, 5
11051 ; PWR6-NEXT: vmulouh 4, 2, 4
11052 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11053 ; PWR6-NEXT: vspltisw 3, 12
11054 ; PWR6-NEXT: vadduwm 3, 3, 3
11055 ; PWR6-NEXT: vslw 2, 2, 5
11056 ; PWR6-NEXT: vadduwm 2, 4, 2
11057 ; PWR6-NEXT: vsrw 2, 2, 3
11058 ; PWR6-NEXT: vspltisw 3, 14
11059 ; PWR6-NEXT: vadduwm 3, 3, 3
11060 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
11061 ; PWR6-NEXT: blr
11065 ; PWR7-NEXT: vspltisw 3, 1
11066 ; PWR7-NEXT: addis 3, 2, .LCPI93_0@toc@ha
11067 ; PWR7-NEXT: addi 3, 3, .LCPI93_0@toc@l
11068 ; PWR7-NEXT: vspltisw 4, 2
11069 ; PWR7-NEXT: lxvw4x 0, 0, 3
11070 ; PWR7-NEXT: addis 3, 2, .LCPI93_1@toc@ha
11071 ; PWR7-NEXT: vspltisw 5, -16
11072 ; PWR7-NEXT: vsrw 3, 2, 3
11073 ; PWR7-NEXT: addi 3, 3, .LCPI93_1@toc@l
11074 ; PWR7-NEXT: vspltisb 0, 15
11075 ; PWR7-NEXT: xxland 35, 35, 0
11076 ; PWR7-NEXT: lxvw4x 0, 0, 3
11077 ; PWR7-NEXT: vsubuwm 2, 2, 3
11078 ; PWR7-NEXT: vsrw 3, 2, 4
11079 ; PWR7-NEXT: xxland 34, 34, 0
11080 ; PWR7-NEXT: vspltisw 4, 4
11081 ; PWR7-NEXT: xxland 35, 35, 0
11082 ; PWR7-NEXT: vadduwm 2, 2, 3
11083 ; PWR7-NEXT: vsrw 3, 2, 4
11084 ; PWR7-NEXT: vspltisb 4, 1
11085 ; PWR7-NEXT: vrlw 1, 4, 5
11086 ; PWR7-NEXT: vadduwm 2, 2, 3
11087 ; PWR7-NEXT: xxlxor 35, 35, 35
11088 ; PWR7-NEXT: xxland 34, 34, 32
11089 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11090 ; PWR7-NEXT: vmulouh 2, 2, 4
11091 ; PWR7-NEXT: vspltisw 4, 12
11092 ; PWR7-NEXT: vslw 3, 3, 5
11093 ; PWR7-NEXT: vadduwm 2, 2, 3
11094 ; PWR7-NEXT: vadduwm 3, 4, 4
11095 ; PWR7-NEXT: vsrw 2, 2, 3
11096 ; PWR7-NEXT: vspltisw 3, 14
11097 ; PWR7-NEXT: vadduwm 3, 3, 3
11098 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
11099 ; PWR7-NEXT: blr
11103 ; PWR8-NEXT: vspltisw 3, 14
11104 ; PWR8-NEXT: vpopcntw 2, 2
11105 ; PWR8-NEXT: vadduwm 3, 3, 3
11106 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
11107 ; PWR8-NEXT: blr
11111 ; PWR9-NEXT: vspltisw 3, 14
11112 ; PWR9-NEXT: vpopcntw 2, 2
11113 ; PWR9-NEXT: vadduwm 3, 3, 3
11114 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
11115 ; PWR9-NEXT: blr
11125 ; PWR5-NEXT: addis 3, 2, .LCPI94_0@toc@ha
11126 ; PWR5-NEXT: vspltisw 4, 1
11127 ; PWR5-NEXT: vxor 3, 3, 3
11128 ; PWR5-NEXT: addi 3, 3, .LCPI94_0@toc@l
11129 ; PWR5-NEXT: lvx 5, 0, 3
11130 ; PWR5-NEXT: addis 3, 2, .LCPI94_1@toc@ha
11131 ; PWR5-NEXT: addi 3, 3, .LCPI94_1@toc@l
11132 ; PWR5-NEXT: vspltisw 0, 2
11133 ; PWR5-NEXT: vsrw 4, 2, 4
11134 ; PWR5-NEXT: vand 4, 4, 5
11135 ; PWR5-NEXT: lvx 5, 0, 3
11136 ; PWR5-NEXT: vsubuwm 2, 2, 4
11137 ; PWR5-NEXT: vand 4, 2, 5
11138 ; PWR5-NEXT: vsrw 2, 2, 0
11139 ; PWR5-NEXT: vand 2, 2, 5
11140 ; PWR5-NEXT: vspltisw 5, 4
11141 ; PWR5-NEXT: vadduwm 2, 4, 2
11142 ; PWR5-NEXT: vsrw 4, 2, 5
11143 ; PWR5-NEXT: vspltisb 5, 15
11144 ; PWR5-NEXT: vadduwm 2, 2, 4
11145 ; PWR5-NEXT: vspltisb 4, 1
11146 ; PWR5-NEXT: vand 2, 2, 5
11147 ; PWR5-NEXT: vspltisw 5, -16
11148 ; PWR5-NEXT: vrlw 0, 4, 5
11149 ; PWR5-NEXT: vmulouh 4, 2, 4
11150 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11151 ; PWR5-NEXT: vspltisw 3, 12
11152 ; PWR5-NEXT: vadduwm 3, 3, 3
11153 ; PWR5-NEXT: vslw 2, 2, 5
11154 ; PWR5-NEXT: vadduwm 2, 4, 2
11155 ; PWR5-NEXT: vsrw 2, 2, 3
11156 ; PWR5-NEXT: vspltisw 3, 14
11157 ; PWR5-NEXT: vadduwm 3, 3, 3
11158 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
11159 ; PWR5-NEXT: blr
11163 ; PWR6-NEXT: addis 3, 2, .LCPI94_0@toc@ha
11164 ; PWR6-NEXT: vspltisw 4, 1
11165 ; PWR6-NEXT: vxor 3, 3, 3
11166 ; PWR6-NEXT: addi 3, 3, .LCPI94_0@toc@l
11167 ; PWR6-NEXT: lvx 5, 0, 3
11168 ; PWR6-NEXT: addis 3, 2, .LCPI94_1@toc@ha
11169 ; PWR6-NEXT: addi 3, 3, .LCPI94_1@toc@l
11170 ; PWR6-NEXT: vspltisw 0, 2
11171 ; PWR6-NEXT: vsrw 4, 2, 4
11172 ; PWR6-NEXT: vand 4, 4, 5
11173 ; PWR6-NEXT: lvx 5, 0, 3
11174 ; PWR6-NEXT: vsubuwm 2, 2, 4
11175 ; PWR6-NEXT: vand 4, 2, 5
11176 ; PWR6-NEXT: vsrw 2, 2, 0
11177 ; PWR6-NEXT: vand 2, 2, 5
11178 ; PWR6-NEXT: vspltisw 5, 4
11179 ; PWR6-NEXT: vadduwm 2, 4, 2
11180 ; PWR6-NEXT: vsrw 4, 2, 5
11181 ; PWR6-NEXT: vspltisb 5, 15
11182 ; PWR6-NEXT: vadduwm 2, 2, 4
11183 ; PWR6-NEXT: vspltisb 4, 1
11184 ; PWR6-NEXT: vand 2, 2, 5
11185 ; PWR6-NEXT: vspltisw 5, -16
11186 ; PWR6-NEXT: vrlw 0, 4, 5
11187 ; PWR6-NEXT: vmulouh 4, 2, 4
11188 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11189 ; PWR6-NEXT: vspltisw 3, 12
11190 ; PWR6-NEXT: vadduwm 3, 3, 3
11191 ; PWR6-NEXT: vslw 2, 2, 5
11192 ; PWR6-NEXT: vadduwm 2, 4, 2
11193 ; PWR6-NEXT: vsrw 2, 2, 3
11194 ; PWR6-NEXT: vspltisw 3, 14
11195 ; PWR6-NEXT: vadduwm 3, 3, 3
11196 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
11197 ; PWR6-NEXT: blr
11201 ; PWR7-NEXT: vspltisw 3, 1
11202 ; PWR7-NEXT: addis 3, 2, .LCPI94_0@toc@ha
11203 ; PWR7-NEXT: addi 3, 3, .LCPI94_0@toc@l
11204 ; PWR7-NEXT: vspltisw 4, 2
11205 ; PWR7-NEXT: lxvw4x 0, 0, 3
11206 ; PWR7-NEXT: addis 3, 2, .LCPI94_1@toc@ha
11207 ; PWR7-NEXT: vspltisw 5, -16
11208 ; PWR7-NEXT: vsrw 3, 2, 3
11209 ; PWR7-NEXT: addi 3, 3, .LCPI94_1@toc@l
11210 ; PWR7-NEXT: vspltisb 0, 15
11211 ; PWR7-NEXT: xxland 35, 35, 0
11212 ; PWR7-NEXT: lxvw4x 0, 0, 3
11213 ; PWR7-NEXT: vsubuwm 2, 2, 3
11214 ; PWR7-NEXT: vsrw 3, 2, 4
11215 ; PWR7-NEXT: xxland 34, 34, 0
11216 ; PWR7-NEXT: vspltisw 4, 4
11217 ; PWR7-NEXT: xxland 35, 35, 0
11218 ; PWR7-NEXT: vadduwm 2, 2, 3
11219 ; PWR7-NEXT: vsrw 3, 2, 4
11220 ; PWR7-NEXT: vspltisb 4, 1
11221 ; PWR7-NEXT: vrlw 1, 4, 5
11222 ; PWR7-NEXT: vadduwm 2, 2, 3
11223 ; PWR7-NEXT: xxlxor 35, 35, 35
11224 ; PWR7-NEXT: xxland 34, 34, 32
11225 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11226 ; PWR7-NEXT: vmulouh 2, 2, 4
11227 ; PWR7-NEXT: vspltisw 4, 12
11228 ; PWR7-NEXT: vslw 3, 3, 5
11229 ; PWR7-NEXT: vadduwm 2, 2, 3
11230 ; PWR7-NEXT: vadduwm 3, 4, 4
11231 ; PWR7-NEXT: vsrw 2, 2, 3
11232 ; PWR7-NEXT: vspltisw 3, 14
11233 ; PWR7-NEXT: vadduwm 3, 3, 3
11234 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
11235 ; PWR7-NEXT: blr
11239 ; PWR8-NEXT: vspltisw 3, 14
11240 ; PWR8-NEXT: vpopcntw 2, 2
11241 ; PWR8-NEXT: vadduwm 3, 3, 3
11242 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
11243 ; PWR8-NEXT: blr
11247 ; PWR9-NEXT: vspltisw 3, 14
11248 ; PWR9-NEXT: vpopcntw 2, 2
11249 ; PWR9-NEXT: vadduwm 3, 3, 3
11250 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
11251 ; PWR9-NEXT: blr
11261 ; PWR5-NEXT: addis 3, 2, .LCPI95_0@toc@ha
11262 ; PWR5-NEXT: vspltisw 4, 1
11263 ; PWR5-NEXT: vxor 3, 3, 3
11264 ; PWR5-NEXT: addi 3, 3, .LCPI95_0@toc@l
11265 ; PWR5-NEXT: lvx 5, 0, 3
11266 ; PWR5-NEXT: addis 3, 2, .LCPI95_1@toc@ha
11267 ; PWR5-NEXT: addi 3, 3, .LCPI95_1@toc@l
11268 ; PWR5-NEXT: vspltisw 0, 2
11269 ; PWR5-NEXT: vsrw 4, 2, 4
11270 ; PWR5-NEXT: vand 4, 4, 5
11271 ; PWR5-NEXT: lvx 5, 0, 3
11272 ; PWR5-NEXT: vsubuwm 2, 2, 4
11273 ; PWR5-NEXT: vand 4, 2, 5
11274 ; PWR5-NEXT: vsrw 2, 2, 0
11275 ; PWR5-NEXT: vand 2, 2, 5
11276 ; PWR5-NEXT: vspltisw 5, 4
11277 ; PWR5-NEXT: vadduwm 2, 4, 2
11278 ; PWR5-NEXT: vsrw 4, 2, 5
11279 ; PWR5-NEXT: vspltisb 5, 15
11280 ; PWR5-NEXT: vadduwm 2, 2, 4
11281 ; PWR5-NEXT: vspltisb 4, 1
11282 ; PWR5-NEXT: vand 2, 2, 5
11283 ; PWR5-NEXT: vspltisw 5, -16
11284 ; PWR5-NEXT: vrlw 0, 4, 5
11285 ; PWR5-NEXT: vmulouh 4, 2, 4
11286 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11287 ; PWR5-NEXT: vspltisw 3, 12
11288 ; PWR5-NEXT: vadduwm 3, 3, 3
11289 ; PWR5-NEXT: vslw 2, 2, 5
11290 ; PWR5-NEXT: vadduwm 2, 4, 2
11291 ; PWR5-NEXT: vsrw 2, 2, 3
11292 ; PWR5-NEXT: vspltisw 3, 13
11293 ; PWR5-NEXT: vsubuwm 3, 3, 5
11294 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
11295 ; PWR5-NEXT: blr
11299 ; PWR6-NEXT: addis 3, 2, .LCPI95_0@toc@ha
11300 ; PWR6-NEXT: vspltisw 4, 1
11301 ; PWR6-NEXT: vxor 3, 3, 3
11302 ; PWR6-NEXT: addi 3, 3, .LCPI95_0@toc@l
11303 ; PWR6-NEXT: lvx 5, 0, 3
11304 ; PWR6-NEXT: addis 3, 2, .LCPI95_1@toc@ha
11305 ; PWR6-NEXT: addi 3, 3, .LCPI95_1@toc@l
11306 ; PWR6-NEXT: vspltisw 0, 2
11307 ; PWR6-NEXT: vsrw 4, 2, 4
11308 ; PWR6-NEXT: vand 4, 4, 5
11309 ; PWR6-NEXT: lvx 5, 0, 3
11310 ; PWR6-NEXT: vsubuwm 2, 2, 4
11311 ; PWR6-NEXT: vand 4, 2, 5
11312 ; PWR6-NEXT: vsrw 2, 2, 0
11313 ; PWR6-NEXT: vand 2, 2, 5
11314 ; PWR6-NEXT: vspltisw 5, 4
11315 ; PWR6-NEXT: vadduwm 2, 4, 2
11316 ; PWR6-NEXT: vsrw 4, 2, 5
11317 ; PWR6-NEXT: vspltisb 5, 15
11318 ; PWR6-NEXT: vadduwm 2, 2, 4
11319 ; PWR6-NEXT: vspltisb 4, 1
11320 ; PWR6-NEXT: vand 2, 2, 5
11321 ; PWR6-NEXT: vspltisw 5, -16
11322 ; PWR6-NEXT: vrlw 0, 4, 5
11323 ; PWR6-NEXT: vmulouh 4, 2, 4
11324 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11325 ; PWR6-NEXT: vspltisw 3, 12
11326 ; PWR6-NEXT: vadduwm 3, 3, 3
11327 ; PWR6-NEXT: vslw 2, 2, 5
11328 ; PWR6-NEXT: vadduwm 2, 4, 2
11329 ; PWR6-NEXT: vsrw 2, 2, 3
11330 ; PWR6-NEXT: vspltisw 3, 13
11331 ; PWR6-NEXT: vsubuwm 3, 3, 5
11332 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
11333 ; PWR6-NEXT: blr
11337 ; PWR7-NEXT: vspltisw 3, 1
11338 ; PWR7-NEXT: addis 3, 2, .LCPI95_0@toc@ha
11339 ; PWR7-NEXT: addi 3, 3, .LCPI95_0@toc@l
11340 ; PWR7-NEXT: vspltisw 4, 2
11341 ; PWR7-NEXT: lxvw4x 0, 0, 3
11342 ; PWR7-NEXT: addis 3, 2, .LCPI95_1@toc@ha
11343 ; PWR7-NEXT: vspltisw 5, -16
11344 ; PWR7-NEXT: vsrw 3, 2, 3
11345 ; PWR7-NEXT: addi 3, 3, .LCPI95_1@toc@l
11346 ; PWR7-NEXT: vspltisb 0, 15
11347 ; PWR7-NEXT: xxland 35, 35, 0
11348 ; PWR7-NEXT: lxvw4x 0, 0, 3
11349 ; PWR7-NEXT: vsubuwm 2, 2, 3
11350 ; PWR7-NEXT: vsrw 3, 2, 4
11351 ; PWR7-NEXT: xxland 34, 34, 0
11352 ; PWR7-NEXT: vspltisw 4, 4
11353 ; PWR7-NEXT: xxland 35, 35, 0
11354 ; PWR7-NEXT: vadduwm 2, 2, 3
11355 ; PWR7-NEXT: vsrw 3, 2, 4
11356 ; PWR7-NEXT: vspltisb 4, 1
11357 ; PWR7-NEXT: vrlw 1, 4, 5
11358 ; PWR7-NEXT: vadduwm 2, 2, 3
11359 ; PWR7-NEXT: xxlxor 35, 35, 35
11360 ; PWR7-NEXT: xxland 34, 34, 32
11361 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11362 ; PWR7-NEXT: vmulouh 2, 2, 4
11363 ; PWR7-NEXT: vspltisw 4, 12
11364 ; PWR7-NEXT: vslw 3, 3, 5
11365 ; PWR7-NEXT: vadduwm 2, 2, 3
11366 ; PWR7-NEXT: vadduwm 3, 4, 4
11367 ; PWR7-NEXT: vsrw 2, 2, 3
11368 ; PWR7-NEXT: vspltisw 3, 13
11369 ; PWR7-NEXT: vsubuwm 3, 3, 5
11370 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
11371 ; PWR7-NEXT: blr
11375 ; PWR8-NEXT: vspltisw 3, -16
11376 ; PWR8-NEXT: vspltisw 4, 13
11377 ; PWR8-NEXT: vpopcntw 2, 2
11378 ; PWR8-NEXT: vsubuwm 3, 4, 3
11379 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
11380 ; PWR8-NEXT: blr
11384 ; PWR9-NEXT: vspltisw 3, -16
11385 ; PWR9-NEXT: vspltisw 4, 13
11386 ; PWR9-NEXT: vpopcntw 2, 2
11387 ; PWR9-NEXT: vsubuwm 3, 4, 3
11388 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
11389 ; PWR9-NEXT: blr
11399 ; PWR5-NEXT: addis 3, 2, .LCPI96_0@toc@ha
11400 ; PWR5-NEXT: vspltisw 4, 1
11401 ; PWR5-NEXT: vxor 3, 3, 3
11402 ; PWR5-NEXT: addi 3, 3, .LCPI96_0@toc@l
11403 ; PWR5-NEXT: lvx 5, 0, 3
11404 ; PWR5-NEXT: addis 3, 2, .LCPI96_1@toc@ha
11405 ; PWR5-NEXT: addi 3, 3, .LCPI96_1@toc@l
11406 ; PWR5-NEXT: vspltisw 0, 2
11407 ; PWR5-NEXT: vsrw 4, 2, 4
11408 ; PWR5-NEXT: vand 4, 4, 5
11409 ; PWR5-NEXT: lvx 5, 0, 3
11410 ; PWR5-NEXT: vsubuwm 2, 2, 4
11411 ; PWR5-NEXT: vand 4, 2, 5
11412 ; PWR5-NEXT: vsrw 2, 2, 0
11413 ; PWR5-NEXT: vand 2, 2, 5
11414 ; PWR5-NEXT: vspltisw 5, 4
11415 ; PWR5-NEXT: vadduwm 2, 4, 2
11416 ; PWR5-NEXT: vsrw 4, 2, 5
11417 ; PWR5-NEXT: vspltisb 5, 15
11418 ; PWR5-NEXT: vadduwm 2, 2, 4
11419 ; PWR5-NEXT: vspltisb 4, 1
11420 ; PWR5-NEXT: vand 2, 2, 5
11421 ; PWR5-NEXT: vspltisw 5, -16
11422 ; PWR5-NEXT: vrlw 0, 4, 5
11423 ; PWR5-NEXT: vmulouh 4, 2, 4
11424 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11425 ; PWR5-NEXT: vspltisw 3, 12
11426 ; PWR5-NEXT: vadduwm 3, 3, 3
11427 ; PWR5-NEXT: vslw 2, 2, 5
11428 ; PWR5-NEXT: vadduwm 2, 4, 2
11429 ; PWR5-NEXT: vsrw 2, 2, 3
11430 ; PWR5-NEXT: vspltisw 3, 13
11431 ; PWR5-NEXT: vsubuwm 3, 3, 5
11432 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
11433 ; PWR5-NEXT: blr
11437 ; PWR6-NEXT: addis 3, 2, .LCPI96_0@toc@ha
11438 ; PWR6-NEXT: vspltisw 4, 1
11439 ; PWR6-NEXT: vxor 3, 3, 3
11440 ; PWR6-NEXT: addi 3, 3, .LCPI96_0@toc@l
11441 ; PWR6-NEXT: lvx 5, 0, 3
11442 ; PWR6-NEXT: addis 3, 2, .LCPI96_1@toc@ha
11443 ; PWR6-NEXT: addi 3, 3, .LCPI96_1@toc@l
11444 ; PWR6-NEXT: vspltisw 0, 2
11445 ; PWR6-NEXT: vsrw 4, 2, 4
11446 ; PWR6-NEXT: vand 4, 4, 5
11447 ; PWR6-NEXT: lvx 5, 0, 3
11448 ; PWR6-NEXT: vsubuwm 2, 2, 4
11449 ; PWR6-NEXT: vand 4, 2, 5
11450 ; PWR6-NEXT: vsrw 2, 2, 0
11451 ; PWR6-NEXT: vand 2, 2, 5
11452 ; PWR6-NEXT: vspltisw 5, 4
11453 ; PWR6-NEXT: vadduwm 2, 4, 2
11454 ; PWR6-NEXT: vsrw 4, 2, 5
11455 ; PWR6-NEXT: vspltisb 5, 15
11456 ; PWR6-NEXT: vadduwm 2, 2, 4
11457 ; PWR6-NEXT: vspltisb 4, 1
11458 ; PWR6-NEXT: vand 2, 2, 5
11459 ; PWR6-NEXT: vspltisw 5, -16
11460 ; PWR6-NEXT: vrlw 0, 4, 5
11461 ; PWR6-NEXT: vmulouh 4, 2, 4
11462 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11463 ; PWR6-NEXT: vspltisw 3, 12
11464 ; PWR6-NEXT: vadduwm 3, 3, 3
11465 ; PWR6-NEXT: vslw 2, 2, 5
11466 ; PWR6-NEXT: vadduwm 2, 4, 2
11467 ; PWR6-NEXT: vsrw 2, 2, 3
11468 ; PWR6-NEXT: vspltisw 3, 13
11469 ; PWR6-NEXT: vsubuwm 3, 3, 5
11470 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
11471 ; PWR6-NEXT: blr
11475 ; PWR7-NEXT: vspltisw 3, 1
11476 ; PWR7-NEXT: addis 3, 2, .LCPI96_0@toc@ha
11477 ; PWR7-NEXT: addi 3, 3, .LCPI96_0@toc@l
11478 ; PWR7-NEXT: vspltisw 4, 2
11479 ; PWR7-NEXT: lxvw4x 0, 0, 3
11480 ; PWR7-NEXT: addis 3, 2, .LCPI96_1@toc@ha
11481 ; PWR7-NEXT: vspltisw 5, -16
11482 ; PWR7-NEXT: vsrw 3, 2, 3
11483 ; PWR7-NEXT: addi 3, 3, .LCPI96_1@toc@l
11484 ; PWR7-NEXT: vspltisb 0, 15
11485 ; PWR7-NEXT: xxland 35, 35, 0
11486 ; PWR7-NEXT: lxvw4x 0, 0, 3
11487 ; PWR7-NEXT: vsubuwm 2, 2, 3
11488 ; PWR7-NEXT: vsrw 3, 2, 4
11489 ; PWR7-NEXT: xxland 34, 34, 0
11490 ; PWR7-NEXT: vspltisw 4, 4
11491 ; PWR7-NEXT: xxland 35, 35, 0
11492 ; PWR7-NEXT: vadduwm 2, 2, 3
11493 ; PWR7-NEXT: vsrw 3, 2, 4
11494 ; PWR7-NEXT: vspltisb 4, 1
11495 ; PWR7-NEXT: vrlw 1, 4, 5
11496 ; PWR7-NEXT: vadduwm 2, 2, 3
11497 ; PWR7-NEXT: xxlxor 35, 35, 35
11498 ; PWR7-NEXT: xxland 34, 34, 32
11499 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11500 ; PWR7-NEXT: vmulouh 2, 2, 4
11501 ; PWR7-NEXT: vspltisw 4, 12
11502 ; PWR7-NEXT: vslw 3, 3, 5
11503 ; PWR7-NEXT: vadduwm 2, 2, 3
11504 ; PWR7-NEXT: vadduwm 3, 4, 4
11505 ; PWR7-NEXT: vsrw 2, 2, 3
11506 ; PWR7-NEXT: vspltisw 3, 13
11507 ; PWR7-NEXT: vsubuwm 3, 3, 5
11508 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
11509 ; PWR7-NEXT: blr
11513 ; PWR8-NEXT: vspltisw 3, -16
11514 ; PWR8-NEXT: vspltisw 4, 13
11515 ; PWR8-NEXT: vpopcntw 2, 2
11516 ; PWR8-NEXT: vsubuwm 3, 4, 3
11517 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
11518 ; PWR8-NEXT: blr
11522 ; PWR9-NEXT: vspltisw 3, -16
11523 ; PWR9-NEXT: vspltisw 4, 13
11524 ; PWR9-NEXT: vpopcntw 2, 2
11525 ; PWR9-NEXT: vsubuwm 3, 4, 3
11526 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
11527 ; PWR9-NEXT: blr
11537 ; PWR5-NEXT: addis 3, 2, .LCPI97_0@toc@ha
11538 ; PWR5-NEXT: vspltisw 4, 1
11539 ; PWR5-NEXT: vxor 3, 3, 3
11540 ; PWR5-NEXT: addi 3, 3, .LCPI97_0@toc@l
11541 ; PWR5-NEXT: lvx 5, 0, 3
11542 ; PWR5-NEXT: addis 3, 2, .LCPI97_1@toc@ha
11543 ; PWR5-NEXT: addi 3, 3, .LCPI97_1@toc@l
11544 ; PWR5-NEXT: vspltisw 0, 2
11545 ; PWR5-NEXT: vsrw 4, 2, 4
11546 ; PWR5-NEXT: vand 4, 4, 5
11547 ; PWR5-NEXT: lvx 5, 0, 3
11548 ; PWR5-NEXT: vsubuwm 2, 2, 4
11549 ; PWR5-NEXT: vand 4, 2, 5
11550 ; PWR5-NEXT: vsrw 2, 2, 0
11551 ; PWR5-NEXT: vand 2, 2, 5
11552 ; PWR5-NEXT: vspltisw 5, 4
11553 ; PWR5-NEXT: vadduwm 2, 4, 2
11554 ; PWR5-NEXT: vsrw 4, 2, 5
11555 ; PWR5-NEXT: vspltisb 5, 15
11556 ; PWR5-NEXT: vadduwm 2, 2, 4
11557 ; PWR5-NEXT: vspltisb 4, 1
11558 ; PWR5-NEXT: vand 2, 2, 5
11559 ; PWR5-NEXT: vspltisw 5, -16
11560 ; PWR5-NEXT: vrlw 0, 4, 5
11561 ; PWR5-NEXT: vmulouh 4, 2, 4
11562 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11563 ; PWR5-NEXT: vspltisw 3, 12
11564 ; PWR5-NEXT: vadduwm 3, 3, 3
11565 ; PWR5-NEXT: vslw 2, 2, 5
11566 ; PWR5-NEXT: vadduwm 2, 4, 2
11567 ; PWR5-NEXT: vsrw 2, 2, 3
11568 ; PWR5-NEXT: vspltisw 3, 15
11569 ; PWR5-NEXT: vadduwm 3, 3, 3
11570 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
11571 ; PWR5-NEXT: blr
11575 ; PWR6-NEXT: addis 3, 2, .LCPI97_0@toc@ha
11576 ; PWR6-NEXT: vspltisw 4, 1
11577 ; PWR6-NEXT: vxor 3, 3, 3
11578 ; PWR6-NEXT: addi 3, 3, .LCPI97_0@toc@l
11579 ; PWR6-NEXT: lvx 5, 0, 3
11580 ; PWR6-NEXT: addis 3, 2, .LCPI97_1@toc@ha
11581 ; PWR6-NEXT: addi 3, 3, .LCPI97_1@toc@l
11582 ; PWR6-NEXT: vspltisw 0, 2
11583 ; PWR6-NEXT: vsrw 4, 2, 4
11584 ; PWR6-NEXT: vand 4, 4, 5
11585 ; PWR6-NEXT: lvx 5, 0, 3
11586 ; PWR6-NEXT: vsubuwm 2, 2, 4
11587 ; PWR6-NEXT: vand 4, 2, 5
11588 ; PWR6-NEXT: vsrw 2, 2, 0
11589 ; PWR6-NEXT: vand 2, 2, 5
11590 ; PWR6-NEXT: vspltisw 5, 4
11591 ; PWR6-NEXT: vadduwm 2, 4, 2
11592 ; PWR6-NEXT: vsrw 4, 2, 5
11593 ; PWR6-NEXT: vspltisb 5, 15
11594 ; PWR6-NEXT: vadduwm 2, 2, 4
11595 ; PWR6-NEXT: vspltisb 4, 1
11596 ; PWR6-NEXT: vand 2, 2, 5
11597 ; PWR6-NEXT: vspltisw 5, -16
11598 ; PWR6-NEXT: vrlw 0, 4, 5
11599 ; PWR6-NEXT: vmulouh 4, 2, 4
11600 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11601 ; PWR6-NEXT: vspltisw 3, 12
11602 ; PWR6-NEXT: vadduwm 3, 3, 3
11603 ; PWR6-NEXT: vslw 2, 2, 5
11604 ; PWR6-NEXT: vadduwm 2, 4, 2
11605 ; PWR6-NEXT: vsrw 2, 2, 3
11606 ; PWR6-NEXT: vspltisw 3, 15
11607 ; PWR6-NEXT: vadduwm 3, 3, 3
11608 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
11609 ; PWR6-NEXT: blr
11613 ; PWR7-NEXT: vspltisw 3, 1
11614 ; PWR7-NEXT: addis 3, 2, .LCPI97_0@toc@ha
11615 ; PWR7-NEXT: addi 3, 3, .LCPI97_0@toc@l
11616 ; PWR7-NEXT: vspltisw 4, 2
11617 ; PWR7-NEXT: lxvw4x 0, 0, 3
11618 ; PWR7-NEXT: addis 3, 2, .LCPI97_1@toc@ha
11619 ; PWR7-NEXT: vspltisw 5, -16
11620 ; PWR7-NEXT: vsrw 3, 2, 3
11621 ; PWR7-NEXT: addi 3, 3, .LCPI97_1@toc@l
11622 ; PWR7-NEXT: vspltisb 0, 15
11623 ; PWR7-NEXT: xxland 35, 35, 0
11624 ; PWR7-NEXT: lxvw4x 0, 0, 3
11625 ; PWR7-NEXT: vsubuwm 2, 2, 3
11626 ; PWR7-NEXT: vsrw 3, 2, 4
11627 ; PWR7-NEXT: xxland 34, 34, 0
11628 ; PWR7-NEXT: vspltisw 4, 4
11629 ; PWR7-NEXT: xxland 35, 35, 0
11630 ; PWR7-NEXT: vadduwm 2, 2, 3
11631 ; PWR7-NEXT: vsrw 3, 2, 4
11632 ; PWR7-NEXT: vspltisb 4, 1
11633 ; PWR7-NEXT: vrlw 1, 4, 5
11634 ; PWR7-NEXT: vadduwm 2, 2, 3
11635 ; PWR7-NEXT: xxlxor 35, 35, 35
11636 ; PWR7-NEXT: xxland 34, 34, 32
11637 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11638 ; PWR7-NEXT: vmulouh 2, 2, 4
11639 ; PWR7-NEXT: vspltisw 4, 12
11640 ; PWR7-NEXT: vslw 3, 3, 5
11641 ; PWR7-NEXT: vadduwm 2, 2, 3
11642 ; PWR7-NEXT: vadduwm 3, 4, 4
11643 ; PWR7-NEXT: vsrw 2, 2, 3
11644 ; PWR7-NEXT: vspltisw 3, 15
11645 ; PWR7-NEXT: vadduwm 3, 3, 3
11646 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
11647 ; PWR7-NEXT: blr
11651 ; PWR8-NEXT: vspltisw 3, 15
11652 ; PWR8-NEXT: vpopcntw 2, 2
11653 ; PWR8-NEXT: vadduwm 3, 3, 3
11654 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
11655 ; PWR8-NEXT: blr
11659 ; PWR9-NEXT: vspltisw 3, 15
11660 ; PWR9-NEXT: vpopcntw 2, 2
11661 ; PWR9-NEXT: vadduwm 3, 3, 3
11662 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
11663 ; PWR9-NEXT: blr
11673 ; PWR5-NEXT: addis 3, 2, .LCPI98_0@toc@ha
11674 ; PWR5-NEXT: vspltisw 4, 1
11675 ; PWR5-NEXT: vxor 3, 3, 3
11676 ; PWR5-NEXT: addi 3, 3, .LCPI98_0@toc@l
11677 ; PWR5-NEXT: lvx 5, 0, 3
11678 ; PWR5-NEXT: addis 3, 2, .LCPI98_1@toc@ha
11679 ; PWR5-NEXT: addi 3, 3, .LCPI98_1@toc@l
11680 ; PWR5-NEXT: vspltisw 0, 2
11681 ; PWR5-NEXT: vsrw 4, 2, 4
11682 ; PWR5-NEXT: vand 4, 4, 5
11683 ; PWR5-NEXT: lvx 5, 0, 3
11684 ; PWR5-NEXT: vsubuwm 2, 2, 4
11685 ; PWR5-NEXT: vand 4, 2, 5
11686 ; PWR5-NEXT: vsrw 2, 2, 0
11687 ; PWR5-NEXT: vand 2, 2, 5
11688 ; PWR5-NEXT: vspltisw 5, 4
11689 ; PWR5-NEXT: vadduwm 2, 4, 2
11690 ; PWR5-NEXT: vsrw 4, 2, 5
11691 ; PWR5-NEXT: vspltisb 5, 15
11692 ; PWR5-NEXT: vadduwm 2, 2, 4
11693 ; PWR5-NEXT: vspltisb 4, 1
11694 ; PWR5-NEXT: vand 2, 2, 5
11695 ; PWR5-NEXT: vspltisw 5, -16
11696 ; PWR5-NEXT: vrlw 0, 4, 5
11697 ; PWR5-NEXT: vmulouh 4, 2, 4
11698 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11699 ; PWR5-NEXT: vspltisw 3, 12
11700 ; PWR5-NEXT: vadduwm 3, 3, 3
11701 ; PWR5-NEXT: vslw 2, 2, 5
11702 ; PWR5-NEXT: vadduwm 2, 4, 2
11703 ; PWR5-NEXT: vsrw 2, 2, 3
11704 ; PWR5-NEXT: vspltisw 3, 15
11705 ; PWR5-NEXT: vadduwm 3, 3, 3
11706 ; PWR5-NEXT: vcmpgtuw 2, 2, 3
11707 ; PWR5-NEXT: blr
11711 ; PWR6-NEXT: addis 3, 2, .LCPI98_0@toc@ha
11712 ; PWR6-NEXT: vspltisw 4, 1
11713 ; PWR6-NEXT: vxor 3, 3, 3
11714 ; PWR6-NEXT: addi 3, 3, .LCPI98_0@toc@l
11715 ; PWR6-NEXT: lvx 5, 0, 3
11716 ; PWR6-NEXT: addis 3, 2, .LCPI98_1@toc@ha
11717 ; PWR6-NEXT: addi 3, 3, .LCPI98_1@toc@l
11718 ; PWR6-NEXT: vspltisw 0, 2
11719 ; PWR6-NEXT: vsrw 4, 2, 4
11720 ; PWR6-NEXT: vand 4, 4, 5
11721 ; PWR6-NEXT: lvx 5, 0, 3
11722 ; PWR6-NEXT: vsubuwm 2, 2, 4
11723 ; PWR6-NEXT: vand 4, 2, 5
11724 ; PWR6-NEXT: vsrw 2, 2, 0
11725 ; PWR6-NEXT: vand 2, 2, 5
11726 ; PWR6-NEXT: vspltisw 5, 4
11727 ; PWR6-NEXT: vadduwm 2, 4, 2
11728 ; PWR6-NEXT: vsrw 4, 2, 5
11729 ; PWR6-NEXT: vspltisb 5, 15
11730 ; PWR6-NEXT: vadduwm 2, 2, 4
11731 ; PWR6-NEXT: vspltisb 4, 1
11732 ; PWR6-NEXT: vand 2, 2, 5
11733 ; PWR6-NEXT: vspltisw 5, -16
11734 ; PWR6-NEXT: vrlw 0, 4, 5
11735 ; PWR6-NEXT: vmulouh 4, 2, 4
11736 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11737 ; PWR6-NEXT: vspltisw 3, 12
11738 ; PWR6-NEXT: vadduwm 3, 3, 3
11739 ; PWR6-NEXT: vslw 2, 2, 5
11740 ; PWR6-NEXT: vadduwm 2, 4, 2
11741 ; PWR6-NEXT: vsrw 2, 2, 3
11742 ; PWR6-NEXT: vspltisw 3, 15
11743 ; PWR6-NEXT: vadduwm 3, 3, 3
11744 ; PWR6-NEXT: vcmpgtuw 2, 2, 3
11745 ; PWR6-NEXT: blr
11749 ; PWR7-NEXT: vspltisw 3, 1
11750 ; PWR7-NEXT: addis 3, 2, .LCPI98_0@toc@ha
11751 ; PWR7-NEXT: addi 3, 3, .LCPI98_0@toc@l
11752 ; PWR7-NEXT: vspltisw 4, 2
11753 ; PWR7-NEXT: lxvw4x 0, 0, 3
11754 ; PWR7-NEXT: addis 3, 2, .LCPI98_1@toc@ha
11755 ; PWR7-NEXT: vspltisw 5, -16
11756 ; PWR7-NEXT: vsrw 3, 2, 3
11757 ; PWR7-NEXT: addi 3, 3, .LCPI98_1@toc@l
11758 ; PWR7-NEXT: vspltisb 0, 15
11759 ; PWR7-NEXT: xxland 35, 35, 0
11760 ; PWR7-NEXT: lxvw4x 0, 0, 3
11761 ; PWR7-NEXT: vsubuwm 2, 2, 3
11762 ; PWR7-NEXT: vsrw 3, 2, 4
11763 ; PWR7-NEXT: xxland 34, 34, 0
11764 ; PWR7-NEXT: vspltisw 4, 4
11765 ; PWR7-NEXT: xxland 35, 35, 0
11766 ; PWR7-NEXT: vadduwm 2, 2, 3
11767 ; PWR7-NEXT: vsrw 3, 2, 4
11768 ; PWR7-NEXT: vspltisb 4, 1
11769 ; PWR7-NEXT: vrlw 1, 4, 5
11770 ; PWR7-NEXT: vadduwm 2, 2, 3
11771 ; PWR7-NEXT: xxlxor 35, 35, 35
11772 ; PWR7-NEXT: xxland 34, 34, 32
11773 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11774 ; PWR7-NEXT: vmulouh 2, 2, 4
11775 ; PWR7-NEXT: vspltisw 4, 12
11776 ; PWR7-NEXT: vslw 3, 3, 5
11777 ; PWR7-NEXT: vadduwm 2, 2, 3
11778 ; PWR7-NEXT: vadduwm 3, 4, 4
11779 ; PWR7-NEXT: vsrw 2, 2, 3
11780 ; PWR7-NEXT: vspltisw 3, 15
11781 ; PWR7-NEXT: vadduwm 3, 3, 3
11782 ; PWR7-NEXT: vcmpgtuw 2, 2, 3
11783 ; PWR7-NEXT: blr
11787 ; PWR8-NEXT: vspltisw 3, 15
11788 ; PWR8-NEXT: vpopcntw 2, 2
11789 ; PWR8-NEXT: vadduwm 3, 3, 3
11790 ; PWR8-NEXT: vcmpgtuw 2, 2, 3
11791 ; PWR8-NEXT: blr
11795 ; PWR9-NEXT: vspltisw 3, 15
11796 ; PWR9-NEXT: vpopcntw 2, 2
11797 ; PWR9-NEXT: vadduwm 3, 3, 3
11798 ; PWR9-NEXT: vcmpgtuw 2, 2, 3
11799 ; PWR9-NEXT: blr
11809 ; PWR5-NEXT: addis 3, 2, .LCPI99_0@toc@ha
11810 ; PWR5-NEXT: vspltisw 4, 1
11811 ; PWR5-NEXT: vxor 3, 3, 3
11812 ; PWR5-NEXT: addi 3, 3, .LCPI99_0@toc@l
11813 ; PWR5-NEXT: lvx 5, 0, 3
11814 ; PWR5-NEXT: addis 3, 2, .LCPI99_1@toc@ha
11815 ; PWR5-NEXT: addi 3, 3, .LCPI99_1@toc@l
11816 ; PWR5-NEXT: vspltisw 0, 2
11817 ; PWR5-NEXT: vsrw 4, 2, 4
11818 ; PWR5-NEXT: vand 4, 4, 5
11819 ; PWR5-NEXT: lvx 5, 0, 3
11820 ; PWR5-NEXT: vsubuwm 2, 2, 4
11821 ; PWR5-NEXT: vand 4, 2, 5
11822 ; PWR5-NEXT: vsrw 2, 2, 0
11823 ; PWR5-NEXT: vand 2, 2, 5
11824 ; PWR5-NEXT: vspltisw 5, 4
11825 ; PWR5-NEXT: vadduwm 2, 4, 2
11826 ; PWR5-NEXT: vsrw 4, 2, 5
11827 ; PWR5-NEXT: vspltisb 5, 15
11828 ; PWR5-NEXT: vadduwm 2, 2, 4
11829 ; PWR5-NEXT: vspltisb 4, 1
11830 ; PWR5-NEXT: vand 2, 2, 5
11831 ; PWR5-NEXT: vspltisw 5, -16
11832 ; PWR5-NEXT: vrlw 0, 4, 5
11833 ; PWR5-NEXT: vmulouh 4, 2, 4
11834 ; PWR5-NEXT: vmsumuhm 2, 2, 0, 3
11835 ; PWR5-NEXT: vspltisw 3, 12
11836 ; PWR5-NEXT: vadduwm 3, 3, 3
11837 ; PWR5-NEXT: vslw 2, 2, 5
11838 ; PWR5-NEXT: vadduwm 2, 4, 2
11839 ; PWR5-NEXT: vsrw 2, 2, 3
11840 ; PWR5-NEXT: vspltisw 3, 15
11841 ; PWR5-NEXT: vsubuwm 3, 3, 5
11842 ; PWR5-NEXT: vcmpgtuw 2, 3, 2
11843 ; PWR5-NEXT: blr
11847 ; PWR6-NEXT: addis 3, 2, .LCPI99_0@toc@ha
11848 ; PWR6-NEXT: vspltisw 4, 1
11849 ; PWR6-NEXT: vxor 3, 3, 3
11850 ; PWR6-NEXT: addi 3, 3, .LCPI99_0@toc@l
11851 ; PWR6-NEXT: lvx 5, 0, 3
11852 ; PWR6-NEXT: addis 3, 2, .LCPI99_1@toc@ha
11853 ; PWR6-NEXT: addi 3, 3, .LCPI99_1@toc@l
11854 ; PWR6-NEXT: vspltisw 0, 2
11855 ; PWR6-NEXT: vsrw 4, 2, 4
11856 ; PWR6-NEXT: vand 4, 4, 5
11857 ; PWR6-NEXT: lvx 5, 0, 3
11858 ; PWR6-NEXT: vsubuwm 2, 2, 4
11859 ; PWR6-NEXT: vand 4, 2, 5
11860 ; PWR6-NEXT: vsrw 2, 2, 0
11861 ; PWR6-NEXT: vand 2, 2, 5
11862 ; PWR6-NEXT: vspltisw 5, 4
11863 ; PWR6-NEXT: vadduwm 2, 4, 2
11864 ; PWR6-NEXT: vsrw 4, 2, 5
11865 ; PWR6-NEXT: vspltisb 5, 15
11866 ; PWR6-NEXT: vadduwm 2, 2, 4
11867 ; PWR6-NEXT: vspltisb 4, 1
11868 ; PWR6-NEXT: vand 2, 2, 5
11869 ; PWR6-NEXT: vspltisw 5, -16
11870 ; PWR6-NEXT: vrlw 0, 4, 5
11871 ; PWR6-NEXT: vmulouh 4, 2, 4
11872 ; PWR6-NEXT: vmsumuhm 2, 2, 0, 3
11873 ; PWR6-NEXT: vspltisw 3, 12
11874 ; PWR6-NEXT: vadduwm 3, 3, 3
11875 ; PWR6-NEXT: vslw 2, 2, 5
11876 ; PWR6-NEXT: vadduwm 2, 4, 2
11877 ; PWR6-NEXT: vsrw 2, 2, 3
11878 ; PWR6-NEXT: vspltisw 3, 15
11879 ; PWR6-NEXT: vsubuwm 3, 3, 5
11880 ; PWR6-NEXT: vcmpgtuw 2, 3, 2
11881 ; PWR6-NEXT: blr
11885 ; PWR7-NEXT: vspltisw 3, 1
11886 ; PWR7-NEXT: addis 3, 2, .LCPI99_0@toc@ha
11887 ; PWR7-NEXT: addi 3, 3, .LCPI99_0@toc@l
11888 ; PWR7-NEXT: vspltisw 4, 2
11889 ; PWR7-NEXT: lxvw4x 0, 0, 3
11890 ; PWR7-NEXT: addis 3, 2, .LCPI99_1@toc@ha
11891 ; PWR7-NEXT: vspltisw 5, -16
11892 ; PWR7-NEXT: vsrw 3, 2, 3
11893 ; PWR7-NEXT: addi 3, 3, .LCPI99_1@toc@l
11894 ; PWR7-NEXT: vspltisb 0, 15
11895 ; PWR7-NEXT: xxland 35, 35, 0
11896 ; PWR7-NEXT: lxvw4x 0, 0, 3
11897 ; PWR7-NEXT: vsubuwm 2, 2, 3
11898 ; PWR7-NEXT: vsrw 3, 2, 4
11899 ; PWR7-NEXT: xxland 34, 34, 0
11900 ; PWR7-NEXT: vspltisw 4, 4
11901 ; PWR7-NEXT: xxland 35, 35, 0
11902 ; PWR7-NEXT: vadduwm 2, 2, 3
11903 ; PWR7-NEXT: vsrw 3, 2, 4
11904 ; PWR7-NEXT: vspltisb 4, 1
11905 ; PWR7-NEXT: vrlw 1, 4, 5
11906 ; PWR7-NEXT: vadduwm 2, 2, 3
11907 ; PWR7-NEXT: xxlxor 35, 35, 35
11908 ; PWR7-NEXT: xxland 34, 34, 32
11909 ; PWR7-NEXT: vmsumuhm 3, 2, 1, 3
11910 ; PWR7-NEXT: vmulouh 2, 2, 4
11911 ; PWR7-NEXT: vspltisw 4, 12
11912 ; PWR7-NEXT: vslw 3, 3, 5
11913 ; PWR7-NEXT: vadduwm 2, 2, 3
11914 ; PWR7-NEXT: vadduwm 3, 4, 4
11915 ; PWR7-NEXT: vsrw 2, 2, 3
11916 ; PWR7-NEXT: vspltisw 3, 15
11917 ; PWR7-NEXT: vsubuwm 3, 3, 5
11918 ; PWR7-NEXT: vcmpgtuw 2, 3, 2
11919 ; PWR7-NEXT: blr
11923 ; PWR8-NEXT: vspltisw 3, -16
11924 ; PWR8-NEXT: vspltisw 4, 15
11925 ; PWR8-NEXT: vpopcntw 2, 2
11926 ; PWR8-NEXT: vsubuwm 3, 4, 3
11927 ; PWR8-NEXT: vcmpgtuw 2, 3, 2
11928 ; PWR8-NEXT: blr
11932 ; PWR9-NEXT: vspltisw 3, -16
11933 ; PWR9-NEXT: vspltisw 4, 15
11934 ; PWR9-NEXT: vpopcntw 2, 2
11935 ; PWR9-NEXT: vsubuwm 3, 4, 3
11936 ; PWR9-NEXT: vcmpgtuw 2, 3, 2
11937 ; PWR9-NEXT: blr
11947 ; PWR5-NEXT: addi 5, 3, -1
11948 ; PWR5-NEXT: and 3, 3, 5
11949 ; PWR5-NEXT: addi 5, 4, -1
11950 ; PWR5-NEXT: subfic 3, 3, 0
11951 ; PWR5-NEXT: subfe 3, 3, 3
11952 ; PWR5-NEXT: and 4, 4, 5
11953 ; PWR5-NEXT: subfic 4, 4, 0
11954 ; PWR5-NEXT: subfe 4, 4, 4
11955 ; PWR5-NEXT: blr
11959 ; PWR6-NEXT: addi 5, 3, -1
11960 ; PWR6-NEXT: and 3, 3, 5
11961 ; PWR6-NEXT: addi 5, 4, -1
11962 ; PWR6-NEXT: subfic 3, 3, 0
11963 ; PWR6-NEXT: subfe 3, 3, 3
11964 ; PWR6-NEXT: and 4, 4, 5
11965 ; PWR6-NEXT: subfic 4, 4, 0
11966 ; PWR6-NEXT: subfe 4, 4, 4
11967 ; PWR6-NEXT: blr
11971 ; PWR7-NEXT: addi 3, 1, -32
11972 ; PWR7-NEXT: stxvd2x 34, 0, 3
11973 ; PWR7-NEXT: ld 3, -24(1)
11974 ; PWR7-NEXT: addi 3, 3, -1
11975 ; PWR7-NEXT: std 3, -8(1)
11976 ; PWR7-NEXT: ld 3, -32(1)
11977 ; PWR7-NEXT: addi 3, 3, -1
11978 ; PWR7-NEXT: std 3, -16(1)
11979 ; PWR7-NEXT: addi 3, 1, -16
11980 ; PWR7-NEXT: lxvw4x 0, 0, 3
11981 ; PWR7-NEXT: addis 3, 2, .LCPI100_0@toc@ha
11982 ; PWR7-NEXT: addi 3, 3, .LCPI100_0@toc@l
11983 ; PWR7-NEXT: lxvw4x 35, 0, 3
11984 ; PWR7-NEXT: xxland 34, 34, 0
11985 ; PWR7-NEXT: vcmpequw 2, 2, 3
11986 ; PWR7-NEXT: xxlnor 34, 34, 34
11987 ; PWR7-NEXT: blr
11991 ; PWR8-NEXT: addis 3, 2, .LCPI100_0@toc@ha
11992 ; PWR8-NEXT: vpopcntd 2, 2
11993 ; PWR8-NEXT: addi 3, 3, .LCPI100_0@toc@l
11994 ; PWR8-NEXT: lxvd2x 35, 0, 3
11995 ; PWR8-NEXT: vcmpgtud 2, 2, 3
11996 ; PWR8-NEXT: blr
12000 ; PWR9-NEXT: addis 3, 2, .LCPI100_0@toc@ha
12001 ; PWR9-NEXT: vpopcntd 2, 2
12002 ; PWR9-NEXT: addi 3, 3, .LCPI100_0@toc@l
12003 ; PWR9-NEXT: lxvx 35, 0, 3
12004 ; PWR9-NEXT: vcmpgtud 2, 2, 3
12005 ; PWR9-NEXT: blr
12015 ; PWR5-NEXT: addi 5, 3, -1
12016 ; PWR5-NEXT: and 3, 3, 5
12017 ; PWR5-NEXT: addi 5, 4, -1
12018 ; PWR5-NEXT: addic 3, 3, -1
12019 ; PWR5-NEXT: subfe 3, 3, 3
12020 ; PWR5-NEXT: and 4, 4, 5
12021 ; PWR5-NEXT: addic 4, 4, -1
12022 ; PWR5-NEXT: subfe 4, 4, 4
12023 ; PWR5-NEXT: blr
12027 ; PWR6-NEXT: addi 5, 3, -1
12028 ; PWR6-NEXT: and 3, 3, 5
12029 ; PWR6-NEXT: addi 5, 4, -1
12030 ; PWR6-NEXT: addic 3, 3, -1
12031 ; PWR6-NEXT: subfe 3, 3, 3
12032 ; PWR6-NEXT: and 4, 4, 5
12033 ; PWR6-NEXT: addic 4, 4, -1
12034 ; PWR6-NEXT: subfe 4, 4, 4
12035 ; PWR6-NEXT: blr
12039 ; PWR7-NEXT: addi 3, 1, -32
12040 ; PWR7-NEXT: stxvd2x 34, 0, 3
12041 ; PWR7-NEXT: ld 3, -24(1)
12042 ; PWR7-NEXT: addi 3, 3, -1
12043 ; PWR7-NEXT: std 3, -8(1)
12044 ; PWR7-NEXT: ld 3, -32(1)
12045 ; PWR7-NEXT: addi 3, 3, -1
12046 ; PWR7-NEXT: std 3, -16(1)
12047 ; PWR7-NEXT: addi 3, 1, -16
12048 ; PWR7-NEXT: lxvw4x 0, 0, 3
12049 ; PWR7-NEXT: addis 3, 2, .LCPI101_0@toc@ha
12050 ; PWR7-NEXT: addi 3, 3, .LCPI101_0@toc@l
12051 ; PWR7-NEXT: lxvw4x 35, 0, 3
12052 ; PWR7-NEXT: xxland 34, 34, 0
12053 ; PWR7-NEXT: vcmpequw 2, 2, 3
12054 ; PWR7-NEXT: blr
12058 ; PWR8-NEXT: addis 3, 2, .LCPI101_0@toc@ha
12059 ; PWR8-NEXT: vpopcntd 2, 2
12060 ; PWR8-NEXT: addi 3, 3, .LCPI101_0@toc@l
12061 ; PWR8-NEXT: lxvd2x 35, 0, 3
12062 ; PWR8-NEXT: vcmpgtud 2, 3, 2
12063 ; PWR8-NEXT: blr
12067 ; PWR9-NEXT: addis 3, 2, .LCPI101_0@toc@ha
12068 ; PWR9-NEXT: vpopcntd 2, 2
12069 ; PWR9-NEXT: addi 3, 3, .LCPI101_0@toc@l
12070 ; PWR9-NEXT: lxvx 35, 0, 3
12071 ; PWR9-NEXT: vcmpgtud 2, 3, 2
12072 ; PWR9-NEXT: blr
12082 ; PWR5-NEXT: lis 5, 21845
12083 ; PWR5-NEXT: lis 6, 13107
12084 ; PWR5-NEXT: ori 5, 5, 21845
12085 ; PWR5-NEXT: rotldi 8, 4, 63
12086 ; PWR5-NEXT: rotldi 9, 3, 63
12087 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12088 ; PWR5-NEXT: and 8, 8, 5
12089 ; PWR5-NEXT: and 5, 9, 5
12090 ; PWR5-NEXT: ori 6, 6, 13107
12091 ; PWR5-NEXT: sub 3, 3, 5
12092 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12093 ; PWR5-NEXT: sub 4, 4, 8
12094 ; PWR5-NEXT: and 8, 3, 6
12095 ; PWR5-NEXT: rotldi 3, 3, 62
12096 ; PWR5-NEXT: and 3, 3, 6
12097 ; PWR5-NEXT: lis 7, 3855
12098 ; PWR5-NEXT: and 5, 4, 6
12099 ; PWR5-NEXT: rotldi 4, 4, 62
12100 ; PWR5-NEXT: add 3, 8, 3
12101 ; PWR5-NEXT: lis 9, 257
12102 ; PWR5-NEXT: ori 7, 7, 3855
12103 ; PWR5-NEXT: and 4, 4, 6
12104 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12105 ; PWR5-NEXT: ori 9, 9, 257
12106 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12107 ; PWR5-NEXT: add 4, 5, 4
12108 ; PWR5-NEXT: add 3, 3, 6
12109 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12110 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12111 ; PWR5-NEXT: and 3, 3, 7
12112 ; PWR5-NEXT: add 4, 4, 5
12113 ; PWR5-NEXT: mulld 3, 3, 9
12114 ; PWR5-NEXT: and 4, 4, 7
12115 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12116 ; PWR5-NEXT: mulld 4, 4, 9
12117 ; PWR5-NEXT: li 5, 2
12118 ; PWR5-NEXT: subfic 3, 3, 2
12119 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12120 ; PWR5-NEXT: subfe 3, 5, 5
12121 ; PWR5-NEXT: subfic 4, 4, 2
12122 ; PWR5-NEXT: subfe 4, 5, 5
12123 ; PWR5-NEXT: blr
12127 ; PWR6-NEXT: lis 5, 21845
12128 ; PWR6-NEXT: lis 6, 13107
12129 ; PWR6-NEXT: ori 5, 5, 21845
12130 ; PWR6-NEXT: rotldi 8, 4, 63
12131 ; PWR6-NEXT: rotldi 9, 3, 63
12132 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12133 ; PWR6-NEXT: and 8, 8, 5
12134 ; PWR6-NEXT: and 5, 9, 5
12135 ; PWR6-NEXT: ori 6, 6, 13107
12136 ; PWR6-NEXT: sub 3, 3, 5
12137 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12138 ; PWR6-NEXT: sub 4, 4, 8
12139 ; PWR6-NEXT: and 8, 3, 6
12140 ; PWR6-NEXT: rotldi 3, 3, 62
12141 ; PWR6-NEXT: and 3, 3, 6
12142 ; PWR6-NEXT: lis 7, 3855
12143 ; PWR6-NEXT: and 5, 4, 6
12144 ; PWR6-NEXT: rotldi 4, 4, 62
12145 ; PWR6-NEXT: add 3, 8, 3
12146 ; PWR6-NEXT: lis 9, 257
12147 ; PWR6-NEXT: ori 7, 7, 3855
12148 ; PWR6-NEXT: and 4, 4, 6
12149 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12150 ; PWR6-NEXT: ori 9, 9, 257
12151 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12152 ; PWR6-NEXT: add 4, 5, 4
12153 ; PWR6-NEXT: add 3, 3, 6
12154 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12155 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12156 ; PWR6-NEXT: and 3, 3, 7
12157 ; PWR6-NEXT: add 4, 4, 5
12158 ; PWR6-NEXT: mulld 3, 3, 9
12159 ; PWR6-NEXT: and 4, 4, 7
12160 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12161 ; PWR6-NEXT: mulld 4, 4, 9
12162 ; PWR6-NEXT: li 5, 2
12163 ; PWR6-NEXT: subfic 3, 3, 2
12164 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12165 ; PWR6-NEXT: subfe 3, 5, 5
12166 ; PWR6-NEXT: subfic 4, 4, 2
12167 ; PWR6-NEXT: subfe 4, 5, 5
12168 ; PWR6-NEXT: blr
12172 ; PWR7-NEXT: addi 3, 1, -32
12173 ; PWR7-NEXT: li 5, 0
12174 ; PWR7-NEXT: li 6, -1
12175 ; PWR7-NEXT: stxvd2x 34, 0, 3
12176 ; PWR7-NEXT: ld 3, -24(1)
12177 ; PWR7-NEXT: ld 4, -32(1)
12178 ; PWR7-NEXT: popcntd 3, 3
12179 ; PWR7-NEXT: popcntd 4, 4
12180 ; PWR7-NEXT: cmpldi 3, 2
12181 ; PWR7-NEXT: iselgt 3, 6, 5
12182 ; PWR7-NEXT: cmpldi 4, 2
12183 ; PWR7-NEXT: iselgt 4, 6, 5
12184 ; PWR7-NEXT: std 3, -8(1)
12185 ; PWR7-NEXT: addi 3, 1, -16
12186 ; PWR7-NEXT: std 4, -16(1)
12187 ; PWR7-NEXT: lxvd2x 34, 0, 3
12188 ; PWR7-NEXT: blr
12192 ; PWR8-NEXT: addis 3, 2, .LCPI102_0@toc@ha
12193 ; PWR8-NEXT: vpopcntd 2, 2
12194 ; PWR8-NEXT: addi 3, 3, .LCPI102_0@toc@l
12195 ; PWR8-NEXT: lxvd2x 35, 0, 3
12196 ; PWR8-NEXT: vcmpgtud 2, 2, 3
12197 ; PWR8-NEXT: blr
12201 ; PWR9-NEXT: addis 3, 2, .LCPI102_0@toc@ha
12202 ; PWR9-NEXT: vpopcntd 2, 2
12203 ; PWR9-NEXT: addi 3, 3, .LCPI102_0@toc@l
12204 ; PWR9-NEXT: lxvx 35, 0, 3
12205 ; PWR9-NEXT: vcmpgtud 2, 2, 3
12206 ; PWR9-NEXT: blr
12216 ; PWR5-NEXT: lis 5, 21845
12217 ; PWR5-NEXT: lis 6, 13107
12218 ; PWR5-NEXT: ori 5, 5, 21845
12219 ; PWR5-NEXT: rotldi 8, 4, 63
12220 ; PWR5-NEXT: rotldi 9, 3, 63
12221 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12222 ; PWR5-NEXT: and 8, 8, 5
12223 ; PWR5-NEXT: and 5, 9, 5
12224 ; PWR5-NEXT: ori 6, 6, 13107
12225 ; PWR5-NEXT: sub 3, 3, 5
12226 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12227 ; PWR5-NEXT: sub 4, 4, 8
12228 ; PWR5-NEXT: and 8, 3, 6
12229 ; PWR5-NEXT: rotldi 3, 3, 62
12230 ; PWR5-NEXT: and 3, 3, 6
12231 ; PWR5-NEXT: lis 7, 3855
12232 ; PWR5-NEXT: and 5, 4, 6
12233 ; PWR5-NEXT: rotldi 4, 4, 62
12234 ; PWR5-NEXT: add 3, 8, 3
12235 ; PWR5-NEXT: lis 9, 257
12236 ; PWR5-NEXT: ori 7, 7, 3855
12237 ; PWR5-NEXT: and 4, 4, 6
12238 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12239 ; PWR5-NEXT: ori 9, 9, 257
12240 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12241 ; PWR5-NEXT: add 4, 5, 4
12242 ; PWR5-NEXT: add 3, 3, 6
12243 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12244 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12245 ; PWR5-NEXT: and 3, 3, 7
12246 ; PWR5-NEXT: add 4, 4, 5
12247 ; PWR5-NEXT: mulld 3, 3, 9
12248 ; PWR5-NEXT: and 4, 4, 7
12249 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12250 ; PWR5-NEXT: li 5, 3
12251 ; PWR5-NEXT: mulld 4, 4, 9
12252 ; PWR5-NEXT: subc 6, 3, 5
12253 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12254 ; PWR5-NEXT: subfe 3, 3, 3
12255 ; PWR5-NEXT: subc 5, 4, 5
12256 ; PWR5-NEXT: subfe 4, 4, 4
12257 ; PWR5-NEXT: blr
12261 ; PWR6-NEXT: lis 5, 21845
12262 ; PWR6-NEXT: lis 6, 13107
12263 ; PWR6-NEXT: ori 5, 5, 21845
12264 ; PWR6-NEXT: rotldi 8, 4, 63
12265 ; PWR6-NEXT: rotldi 9, 3, 63
12266 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12267 ; PWR6-NEXT: and 8, 8, 5
12268 ; PWR6-NEXT: and 5, 9, 5
12269 ; PWR6-NEXT: ori 6, 6, 13107
12270 ; PWR6-NEXT: sub 3, 3, 5
12271 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12272 ; PWR6-NEXT: sub 4, 4, 8
12273 ; PWR6-NEXT: and 8, 3, 6
12274 ; PWR6-NEXT: rotldi 3, 3, 62
12275 ; PWR6-NEXT: and 3, 3, 6
12276 ; PWR6-NEXT: lis 7, 3855
12277 ; PWR6-NEXT: and 5, 4, 6
12278 ; PWR6-NEXT: rotldi 4, 4, 62
12279 ; PWR6-NEXT: add 3, 8, 3
12280 ; PWR6-NEXT: lis 9, 257
12281 ; PWR6-NEXT: ori 7, 7, 3855
12282 ; PWR6-NEXT: and 4, 4, 6
12283 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12284 ; PWR6-NEXT: ori 9, 9, 257
12285 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12286 ; PWR6-NEXT: add 4, 5, 4
12287 ; PWR6-NEXT: add 3, 3, 6
12288 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12289 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12290 ; PWR6-NEXT: and 3, 3, 7
12291 ; PWR6-NEXT: add 4, 4, 5
12292 ; PWR6-NEXT: mulld 3, 3, 9
12293 ; PWR6-NEXT: and 4, 4, 7
12294 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12295 ; PWR6-NEXT: li 5, 3
12296 ; PWR6-NEXT: mulld 4, 4, 9
12297 ; PWR6-NEXT: subc 6, 3, 5
12298 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12299 ; PWR6-NEXT: subfe 3, 3, 3
12300 ; PWR6-NEXT: subc 5, 4, 5
12301 ; PWR6-NEXT: subfe 4, 4, 4
12302 ; PWR6-NEXT: blr
12306 ; PWR7-NEXT: addi 3, 1, -32
12307 ; PWR7-NEXT: li 5, 0
12308 ; PWR7-NEXT: li 6, -1
12309 ; PWR7-NEXT: stxvd2x 34, 0, 3
12310 ; PWR7-NEXT: ld 3, -24(1)
12311 ; PWR7-NEXT: ld 4, -32(1)
12312 ; PWR7-NEXT: popcntd 3, 3
12313 ; PWR7-NEXT: popcntd 4, 4
12314 ; PWR7-NEXT: cmpldi 3, 3
12315 ; PWR7-NEXT: isellt 3, 6, 5
12316 ; PWR7-NEXT: cmpldi 4, 3
12317 ; PWR7-NEXT: isellt 4, 6, 5
12318 ; PWR7-NEXT: std 3, -8(1)
12319 ; PWR7-NEXT: addi 3, 1, -16
12320 ; PWR7-NEXT: std 4, -16(1)
12321 ; PWR7-NEXT: lxvd2x 34, 0, 3
12322 ; PWR7-NEXT: blr
12326 ; PWR8-NEXT: addis 3, 2, .LCPI103_0@toc@ha
12327 ; PWR8-NEXT: vpopcntd 2, 2
12328 ; PWR8-NEXT: addi 3, 3, .LCPI103_0@toc@l
12329 ; PWR8-NEXT: lxvd2x 35, 0, 3
12330 ; PWR8-NEXT: vcmpgtud 2, 3, 2
12331 ; PWR8-NEXT: blr
12335 ; PWR9-NEXT: addis 3, 2, .LCPI103_0@toc@ha
12336 ; PWR9-NEXT: vpopcntd 2, 2
12337 ; PWR9-NEXT: addi 3, 3, .LCPI103_0@toc@l
12338 ; PWR9-NEXT: lxvx 35, 0, 3
12339 ; PWR9-NEXT: vcmpgtud 2, 3, 2
12340 ; PWR9-NEXT: blr
12350 ; PWR5-NEXT: lis 5, 21845
12351 ; PWR5-NEXT: lis 6, 13107
12352 ; PWR5-NEXT: ori 5, 5, 21845
12353 ; PWR5-NEXT: rotldi 8, 4, 63
12354 ; PWR5-NEXT: rotldi 9, 3, 63
12355 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12356 ; PWR5-NEXT: and 8, 8, 5
12357 ; PWR5-NEXT: and 5, 9, 5
12358 ; PWR5-NEXT: ori 6, 6, 13107
12359 ; PWR5-NEXT: sub 3, 3, 5
12360 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12361 ; PWR5-NEXT: sub 4, 4, 8
12362 ; PWR5-NEXT: and 8, 3, 6
12363 ; PWR5-NEXT: rotldi 3, 3, 62
12364 ; PWR5-NEXT: and 3, 3, 6
12365 ; PWR5-NEXT: lis 7, 3855
12366 ; PWR5-NEXT: and 5, 4, 6
12367 ; PWR5-NEXT: rotldi 4, 4, 62
12368 ; PWR5-NEXT: add 3, 8, 3
12369 ; PWR5-NEXT: lis 9, 257
12370 ; PWR5-NEXT: ori 7, 7, 3855
12371 ; PWR5-NEXT: and 4, 4, 6
12372 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12373 ; PWR5-NEXT: ori 9, 9, 257
12374 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12375 ; PWR5-NEXT: add 4, 5, 4
12376 ; PWR5-NEXT: add 3, 3, 6
12377 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12378 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12379 ; PWR5-NEXT: and 3, 3, 7
12380 ; PWR5-NEXT: add 4, 4, 5
12381 ; PWR5-NEXT: mulld 3, 3, 9
12382 ; PWR5-NEXT: and 4, 4, 7
12383 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12384 ; PWR5-NEXT: mulld 4, 4, 9
12385 ; PWR5-NEXT: li 5, 3
12386 ; PWR5-NEXT: subfic 3, 3, 3
12387 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12388 ; PWR5-NEXT: subfe 3, 5, 5
12389 ; PWR5-NEXT: subfic 4, 4, 3
12390 ; PWR5-NEXT: subfe 4, 5, 5
12391 ; PWR5-NEXT: blr
12395 ; PWR6-NEXT: lis 5, 21845
12396 ; PWR6-NEXT: lis 6, 13107
12397 ; PWR6-NEXT: ori 5, 5, 21845
12398 ; PWR6-NEXT: rotldi 8, 4, 63
12399 ; PWR6-NEXT: rotldi 9, 3, 63
12400 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12401 ; PWR6-NEXT: and 8, 8, 5
12402 ; PWR6-NEXT: and 5, 9, 5
12403 ; PWR6-NEXT: ori 6, 6, 13107
12404 ; PWR6-NEXT: sub 3, 3, 5
12405 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12406 ; PWR6-NEXT: sub 4, 4, 8
12407 ; PWR6-NEXT: and 8, 3, 6
12408 ; PWR6-NEXT: rotldi 3, 3, 62
12409 ; PWR6-NEXT: and 3, 3, 6
12410 ; PWR6-NEXT: lis 7, 3855
12411 ; PWR6-NEXT: and 5, 4, 6
12412 ; PWR6-NEXT: rotldi 4, 4, 62
12413 ; PWR6-NEXT: add 3, 8, 3
12414 ; PWR6-NEXT: lis 9, 257
12415 ; PWR6-NEXT: ori 7, 7, 3855
12416 ; PWR6-NEXT: and 4, 4, 6
12417 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12418 ; PWR6-NEXT: ori 9, 9, 257
12419 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12420 ; PWR6-NEXT: add 4, 5, 4
12421 ; PWR6-NEXT: add 3, 3, 6
12422 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12423 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12424 ; PWR6-NEXT: and 3, 3, 7
12425 ; PWR6-NEXT: add 4, 4, 5
12426 ; PWR6-NEXT: mulld 3, 3, 9
12427 ; PWR6-NEXT: and 4, 4, 7
12428 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12429 ; PWR6-NEXT: mulld 4, 4, 9
12430 ; PWR6-NEXT: li 5, 3
12431 ; PWR6-NEXT: subfic 3, 3, 3
12432 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12433 ; PWR6-NEXT: subfe 3, 5, 5
12434 ; PWR6-NEXT: subfic 4, 4, 3
12435 ; PWR6-NEXT: subfe 4, 5, 5
12436 ; PWR6-NEXT: blr
12440 ; PWR7-NEXT: addi 3, 1, -32
12441 ; PWR7-NEXT: li 5, 0
12442 ; PWR7-NEXT: li 6, -1
12443 ; PWR7-NEXT: stxvd2x 34, 0, 3
12444 ; PWR7-NEXT: ld 3, -24(1)
12445 ; PWR7-NEXT: ld 4, -32(1)
12446 ; PWR7-NEXT: popcntd 3, 3
12447 ; PWR7-NEXT: popcntd 4, 4
12448 ; PWR7-NEXT: cmpldi 3, 3
12449 ; PWR7-NEXT: iselgt 3, 6, 5
12450 ; PWR7-NEXT: cmpldi 4, 3
12451 ; PWR7-NEXT: iselgt 4, 6, 5
12452 ; PWR7-NEXT: std 3, -8(1)
12453 ; PWR7-NEXT: addi 3, 1, -16
12454 ; PWR7-NEXT: std 4, -16(1)
12455 ; PWR7-NEXT: lxvd2x 34, 0, 3
12456 ; PWR7-NEXT: blr
12460 ; PWR8-NEXT: addis 3, 2, .LCPI104_0@toc@ha
12461 ; PWR8-NEXT: vpopcntd 2, 2
12462 ; PWR8-NEXT: addi 3, 3, .LCPI104_0@toc@l
12463 ; PWR8-NEXT: lxvd2x 35, 0, 3
12464 ; PWR8-NEXT: vcmpgtud 2, 2, 3
12465 ; PWR8-NEXT: blr
12469 ; PWR9-NEXT: addis 3, 2, .LCPI104_0@toc@ha
12470 ; PWR9-NEXT: vpopcntd 2, 2
12471 ; PWR9-NEXT: addi 3, 3, .LCPI104_0@toc@l
12472 ; PWR9-NEXT: lxvx 35, 0, 3
12473 ; PWR9-NEXT: vcmpgtud 2, 2, 3
12474 ; PWR9-NEXT: blr
12484 ; PWR5-NEXT: lis 5, 21845
12485 ; PWR5-NEXT: lis 6, 13107
12486 ; PWR5-NEXT: ori 5, 5, 21845
12487 ; PWR5-NEXT: rotldi 8, 4, 63
12488 ; PWR5-NEXT: rotldi 9, 3, 63
12489 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12490 ; PWR5-NEXT: and 8, 8, 5
12491 ; PWR5-NEXT: and 5, 9, 5
12492 ; PWR5-NEXT: ori 6, 6, 13107
12493 ; PWR5-NEXT: sub 3, 3, 5
12494 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12495 ; PWR5-NEXT: sub 4, 4, 8
12496 ; PWR5-NEXT: and 8, 3, 6
12497 ; PWR5-NEXT: rotldi 3, 3, 62
12498 ; PWR5-NEXT: and 3, 3, 6
12499 ; PWR5-NEXT: lis 7, 3855
12500 ; PWR5-NEXT: and 5, 4, 6
12501 ; PWR5-NEXT: rotldi 4, 4, 62
12502 ; PWR5-NEXT: add 3, 8, 3
12503 ; PWR5-NEXT: lis 9, 257
12504 ; PWR5-NEXT: ori 7, 7, 3855
12505 ; PWR5-NEXT: and 4, 4, 6
12506 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12507 ; PWR5-NEXT: ori 9, 9, 257
12508 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12509 ; PWR5-NEXT: add 4, 5, 4
12510 ; PWR5-NEXT: add 3, 3, 6
12511 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12512 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12513 ; PWR5-NEXT: and 3, 3, 7
12514 ; PWR5-NEXT: add 4, 4, 5
12515 ; PWR5-NEXT: mulld 3, 3, 9
12516 ; PWR5-NEXT: and 4, 4, 7
12517 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12518 ; PWR5-NEXT: li 5, 4
12519 ; PWR5-NEXT: mulld 4, 4, 9
12520 ; PWR5-NEXT: subc 6, 3, 5
12521 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12522 ; PWR5-NEXT: subfe 3, 3, 3
12523 ; PWR5-NEXT: subc 5, 4, 5
12524 ; PWR5-NEXT: subfe 4, 4, 4
12525 ; PWR5-NEXT: blr
12529 ; PWR6-NEXT: lis 5, 21845
12530 ; PWR6-NEXT: lis 6, 13107
12531 ; PWR6-NEXT: ori 5, 5, 21845
12532 ; PWR6-NEXT: rotldi 8, 4, 63
12533 ; PWR6-NEXT: rotldi 9, 3, 63
12534 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12535 ; PWR6-NEXT: and 8, 8, 5
12536 ; PWR6-NEXT: and 5, 9, 5
12537 ; PWR6-NEXT: ori 6, 6, 13107
12538 ; PWR6-NEXT: sub 3, 3, 5
12539 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12540 ; PWR6-NEXT: sub 4, 4, 8
12541 ; PWR6-NEXT: and 8, 3, 6
12542 ; PWR6-NEXT: rotldi 3, 3, 62
12543 ; PWR6-NEXT: and 3, 3, 6
12544 ; PWR6-NEXT: lis 7, 3855
12545 ; PWR6-NEXT: and 5, 4, 6
12546 ; PWR6-NEXT: rotldi 4, 4, 62
12547 ; PWR6-NEXT: add 3, 8, 3
12548 ; PWR6-NEXT: lis 9, 257
12549 ; PWR6-NEXT: ori 7, 7, 3855
12550 ; PWR6-NEXT: and 4, 4, 6
12551 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12552 ; PWR6-NEXT: ori 9, 9, 257
12553 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12554 ; PWR6-NEXT: add 4, 5, 4
12555 ; PWR6-NEXT: add 3, 3, 6
12556 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12557 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12558 ; PWR6-NEXT: and 3, 3, 7
12559 ; PWR6-NEXT: add 4, 4, 5
12560 ; PWR6-NEXT: mulld 3, 3, 9
12561 ; PWR6-NEXT: and 4, 4, 7
12562 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12563 ; PWR6-NEXT: li 5, 4
12564 ; PWR6-NEXT: mulld 4, 4, 9
12565 ; PWR6-NEXT: subc 6, 3, 5
12566 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12567 ; PWR6-NEXT: subfe 3, 3, 3
12568 ; PWR6-NEXT: subc 5, 4, 5
12569 ; PWR6-NEXT: subfe 4, 4, 4
12570 ; PWR6-NEXT: blr
12574 ; PWR7-NEXT: addi 3, 1, -32
12575 ; PWR7-NEXT: li 5, 0
12576 ; PWR7-NEXT: li 6, -1
12577 ; PWR7-NEXT: stxvd2x 34, 0, 3
12578 ; PWR7-NEXT: ld 3, -24(1)
12579 ; PWR7-NEXT: ld 4, -32(1)
12580 ; PWR7-NEXT: popcntd 3, 3
12581 ; PWR7-NEXT: popcntd 4, 4
12582 ; PWR7-NEXT: cmpldi 3, 4
12583 ; PWR7-NEXT: isellt 3, 6, 5
12584 ; PWR7-NEXT: cmpldi 4, 4
12585 ; PWR7-NEXT: isellt 4, 6, 5
12586 ; PWR7-NEXT: std 3, -8(1)
12587 ; PWR7-NEXT: addi 3, 1, -16
12588 ; PWR7-NEXT: std 4, -16(1)
12589 ; PWR7-NEXT: lxvd2x 34, 0, 3
12590 ; PWR7-NEXT: blr
12594 ; PWR8-NEXT: addis 3, 2, .LCPI105_0@toc@ha
12595 ; PWR8-NEXT: vpopcntd 2, 2
12596 ; PWR8-NEXT: addi 3, 3, .LCPI105_0@toc@l
12597 ; PWR8-NEXT: lxvd2x 35, 0, 3
12598 ; PWR8-NEXT: vcmpgtud 2, 3, 2
12599 ; PWR8-NEXT: blr
12603 ; PWR9-NEXT: addis 3, 2, .LCPI105_0@toc@ha
12604 ; PWR9-NEXT: vpopcntd 2, 2
12605 ; PWR9-NEXT: addi 3, 3, .LCPI105_0@toc@l
12606 ; PWR9-NEXT: lxvx 35, 0, 3
12607 ; PWR9-NEXT: vcmpgtud 2, 3, 2
12608 ; PWR9-NEXT: blr
12618 ; PWR5-NEXT: lis 5, 21845
12619 ; PWR5-NEXT: lis 6, 13107
12620 ; PWR5-NEXT: ori 5, 5, 21845
12621 ; PWR5-NEXT: rotldi 8, 4, 63
12622 ; PWR5-NEXT: rotldi 9, 3, 63
12623 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12624 ; PWR5-NEXT: and 8, 8, 5
12625 ; PWR5-NEXT: and 5, 9, 5
12626 ; PWR5-NEXT: ori 6, 6, 13107
12627 ; PWR5-NEXT: sub 3, 3, 5
12628 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12629 ; PWR5-NEXT: sub 4, 4, 8
12630 ; PWR5-NEXT: and 8, 3, 6
12631 ; PWR5-NEXT: rotldi 3, 3, 62
12632 ; PWR5-NEXT: and 3, 3, 6
12633 ; PWR5-NEXT: lis 7, 3855
12634 ; PWR5-NEXT: and 5, 4, 6
12635 ; PWR5-NEXT: rotldi 4, 4, 62
12636 ; PWR5-NEXT: add 3, 8, 3
12637 ; PWR5-NEXT: lis 9, 257
12638 ; PWR5-NEXT: ori 7, 7, 3855
12639 ; PWR5-NEXT: and 4, 4, 6
12640 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12641 ; PWR5-NEXT: ori 9, 9, 257
12642 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12643 ; PWR5-NEXT: add 4, 5, 4
12644 ; PWR5-NEXT: add 3, 3, 6
12645 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12646 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12647 ; PWR5-NEXT: and 3, 3, 7
12648 ; PWR5-NEXT: add 4, 4, 5
12649 ; PWR5-NEXT: mulld 3, 3, 9
12650 ; PWR5-NEXT: and 4, 4, 7
12651 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12652 ; PWR5-NEXT: mulld 4, 4, 9
12653 ; PWR5-NEXT: li 5, 4
12654 ; PWR5-NEXT: subfic 3, 3, 4
12655 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12656 ; PWR5-NEXT: subfe 3, 5, 5
12657 ; PWR5-NEXT: subfic 4, 4, 4
12658 ; PWR5-NEXT: subfe 4, 5, 5
12659 ; PWR5-NEXT: blr
12663 ; PWR6-NEXT: lis 5, 21845
12664 ; PWR6-NEXT: lis 6, 13107
12665 ; PWR6-NEXT: ori 5, 5, 21845
12666 ; PWR6-NEXT: rotldi 8, 4, 63
12667 ; PWR6-NEXT: rotldi 9, 3, 63
12668 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12669 ; PWR6-NEXT: and 8, 8, 5
12670 ; PWR6-NEXT: and 5, 9, 5
12671 ; PWR6-NEXT: ori 6, 6, 13107
12672 ; PWR6-NEXT: sub 3, 3, 5
12673 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12674 ; PWR6-NEXT: sub 4, 4, 8
12675 ; PWR6-NEXT: and 8, 3, 6
12676 ; PWR6-NEXT: rotldi 3, 3, 62
12677 ; PWR6-NEXT: and 3, 3, 6
12678 ; PWR6-NEXT: lis 7, 3855
12679 ; PWR6-NEXT: and 5, 4, 6
12680 ; PWR6-NEXT: rotldi 4, 4, 62
12681 ; PWR6-NEXT: add 3, 8, 3
12682 ; PWR6-NEXT: lis 9, 257
12683 ; PWR6-NEXT: ori 7, 7, 3855
12684 ; PWR6-NEXT: and 4, 4, 6
12685 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12686 ; PWR6-NEXT: ori 9, 9, 257
12687 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12688 ; PWR6-NEXT: add 4, 5, 4
12689 ; PWR6-NEXT: add 3, 3, 6
12690 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12691 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12692 ; PWR6-NEXT: and 3, 3, 7
12693 ; PWR6-NEXT: add 4, 4, 5
12694 ; PWR6-NEXT: mulld 3, 3, 9
12695 ; PWR6-NEXT: and 4, 4, 7
12696 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12697 ; PWR6-NEXT: mulld 4, 4, 9
12698 ; PWR6-NEXT: li 5, 4
12699 ; PWR6-NEXT: subfic 3, 3, 4
12700 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12701 ; PWR6-NEXT: subfe 3, 5, 5
12702 ; PWR6-NEXT: subfic 4, 4, 4
12703 ; PWR6-NEXT: subfe 4, 5, 5
12704 ; PWR6-NEXT: blr
12708 ; PWR7-NEXT: addi 3, 1, -32
12709 ; PWR7-NEXT: li 5, 0
12710 ; PWR7-NEXT: li 6, -1
12711 ; PWR7-NEXT: stxvd2x 34, 0, 3
12712 ; PWR7-NEXT: ld 3, -24(1)
12713 ; PWR7-NEXT: ld 4, -32(1)
12714 ; PWR7-NEXT: popcntd 3, 3
12715 ; PWR7-NEXT: popcntd 4, 4
12716 ; PWR7-NEXT: cmpldi 3, 4
12717 ; PWR7-NEXT: iselgt 3, 6, 5
12718 ; PWR7-NEXT: cmpldi 4, 4
12719 ; PWR7-NEXT: iselgt 4, 6, 5
12720 ; PWR7-NEXT: std 3, -8(1)
12721 ; PWR7-NEXT: addi 3, 1, -16
12722 ; PWR7-NEXT: std 4, -16(1)
12723 ; PWR7-NEXT: lxvd2x 34, 0, 3
12724 ; PWR7-NEXT: blr
12728 ; PWR8-NEXT: addis 3, 2, .LCPI106_0@toc@ha
12729 ; PWR8-NEXT: vpopcntd 2, 2
12730 ; PWR8-NEXT: addi 3, 3, .LCPI106_0@toc@l
12731 ; PWR8-NEXT: lxvd2x 35, 0, 3
12732 ; PWR8-NEXT: vcmpgtud 2, 2, 3
12733 ; PWR8-NEXT: blr
12737 ; PWR9-NEXT: addis 3, 2, .LCPI106_0@toc@ha
12738 ; PWR9-NEXT: vpopcntd 2, 2
12739 ; PWR9-NEXT: addi 3, 3, .LCPI106_0@toc@l
12740 ; PWR9-NEXT: lxvx 35, 0, 3
12741 ; PWR9-NEXT: vcmpgtud 2, 2, 3
12742 ; PWR9-NEXT: blr
12752 ; PWR5-NEXT: lis 5, 21845
12753 ; PWR5-NEXT: lis 6, 13107
12754 ; PWR5-NEXT: ori 5, 5, 21845
12755 ; PWR5-NEXT: rotldi 8, 4, 63
12756 ; PWR5-NEXT: rotldi 9, 3, 63
12757 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12758 ; PWR5-NEXT: and 8, 8, 5
12759 ; PWR5-NEXT: and 5, 9, 5
12760 ; PWR5-NEXT: ori 6, 6, 13107
12761 ; PWR5-NEXT: sub 3, 3, 5
12762 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12763 ; PWR5-NEXT: sub 4, 4, 8
12764 ; PWR5-NEXT: and 8, 3, 6
12765 ; PWR5-NEXT: rotldi 3, 3, 62
12766 ; PWR5-NEXT: and 3, 3, 6
12767 ; PWR5-NEXT: lis 7, 3855
12768 ; PWR5-NEXT: and 5, 4, 6
12769 ; PWR5-NEXT: rotldi 4, 4, 62
12770 ; PWR5-NEXT: add 3, 8, 3
12771 ; PWR5-NEXT: lis 9, 257
12772 ; PWR5-NEXT: ori 7, 7, 3855
12773 ; PWR5-NEXT: and 4, 4, 6
12774 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12775 ; PWR5-NEXT: ori 9, 9, 257
12776 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12777 ; PWR5-NEXT: add 4, 5, 4
12778 ; PWR5-NEXT: add 3, 3, 6
12779 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12780 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12781 ; PWR5-NEXT: and 3, 3, 7
12782 ; PWR5-NEXT: add 4, 4, 5
12783 ; PWR5-NEXT: mulld 3, 3, 9
12784 ; PWR5-NEXT: and 4, 4, 7
12785 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12786 ; PWR5-NEXT: li 5, 5
12787 ; PWR5-NEXT: mulld 4, 4, 9
12788 ; PWR5-NEXT: subc 6, 3, 5
12789 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12790 ; PWR5-NEXT: subfe 3, 3, 3
12791 ; PWR5-NEXT: subc 5, 4, 5
12792 ; PWR5-NEXT: subfe 4, 4, 4
12793 ; PWR5-NEXT: blr
12797 ; PWR6-NEXT: lis 5, 21845
12798 ; PWR6-NEXT: lis 6, 13107
12799 ; PWR6-NEXT: ori 5, 5, 21845
12800 ; PWR6-NEXT: rotldi 8, 4, 63
12801 ; PWR6-NEXT: rotldi 9, 3, 63
12802 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12803 ; PWR6-NEXT: and 8, 8, 5
12804 ; PWR6-NEXT: and 5, 9, 5
12805 ; PWR6-NEXT: ori 6, 6, 13107
12806 ; PWR6-NEXT: sub 3, 3, 5
12807 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12808 ; PWR6-NEXT: sub 4, 4, 8
12809 ; PWR6-NEXT: and 8, 3, 6
12810 ; PWR6-NEXT: rotldi 3, 3, 62
12811 ; PWR6-NEXT: and 3, 3, 6
12812 ; PWR6-NEXT: lis 7, 3855
12813 ; PWR6-NEXT: and 5, 4, 6
12814 ; PWR6-NEXT: rotldi 4, 4, 62
12815 ; PWR6-NEXT: add 3, 8, 3
12816 ; PWR6-NEXT: lis 9, 257
12817 ; PWR6-NEXT: ori 7, 7, 3855
12818 ; PWR6-NEXT: and 4, 4, 6
12819 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12820 ; PWR6-NEXT: ori 9, 9, 257
12821 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12822 ; PWR6-NEXT: add 4, 5, 4
12823 ; PWR6-NEXT: add 3, 3, 6
12824 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12825 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12826 ; PWR6-NEXT: and 3, 3, 7
12827 ; PWR6-NEXT: add 4, 4, 5
12828 ; PWR6-NEXT: mulld 3, 3, 9
12829 ; PWR6-NEXT: and 4, 4, 7
12830 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12831 ; PWR6-NEXT: li 5, 5
12832 ; PWR6-NEXT: mulld 4, 4, 9
12833 ; PWR6-NEXT: subc 6, 3, 5
12834 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12835 ; PWR6-NEXT: subfe 3, 3, 3
12836 ; PWR6-NEXT: subc 5, 4, 5
12837 ; PWR6-NEXT: subfe 4, 4, 4
12838 ; PWR6-NEXT: blr
12842 ; PWR7-NEXT: addi 3, 1, -32
12843 ; PWR7-NEXT: li 5, 0
12844 ; PWR7-NEXT: li 6, -1
12845 ; PWR7-NEXT: stxvd2x 34, 0, 3
12846 ; PWR7-NEXT: ld 3, -24(1)
12847 ; PWR7-NEXT: ld 4, -32(1)
12848 ; PWR7-NEXT: popcntd 3, 3
12849 ; PWR7-NEXT: popcntd 4, 4
12850 ; PWR7-NEXT: cmpldi 3, 5
12851 ; PWR7-NEXT: isellt 3, 6, 5
12852 ; PWR7-NEXT: cmpldi 4, 5
12853 ; PWR7-NEXT: isellt 4, 6, 5
12854 ; PWR7-NEXT: std 3, -8(1)
12855 ; PWR7-NEXT: addi 3, 1, -16
12856 ; PWR7-NEXT: std 4, -16(1)
12857 ; PWR7-NEXT: lxvd2x 34, 0, 3
12858 ; PWR7-NEXT: blr
12862 ; PWR8-NEXT: addis 3, 2, .LCPI107_0@toc@ha
12863 ; PWR8-NEXT: vpopcntd 2, 2
12864 ; PWR8-NEXT: addi 3, 3, .LCPI107_0@toc@l
12865 ; PWR8-NEXT: lxvd2x 35, 0, 3
12866 ; PWR8-NEXT: vcmpgtud 2, 3, 2
12867 ; PWR8-NEXT: blr
12871 ; PWR9-NEXT: addis 3, 2, .LCPI107_0@toc@ha
12872 ; PWR9-NEXT: vpopcntd 2, 2
12873 ; PWR9-NEXT: addi 3, 3, .LCPI107_0@toc@l
12874 ; PWR9-NEXT: lxvx 35, 0, 3
12875 ; PWR9-NEXT: vcmpgtud 2, 3, 2
12876 ; PWR9-NEXT: blr
12886 ; PWR5-NEXT: lis 5, 21845
12887 ; PWR5-NEXT: lis 6, 13107
12888 ; PWR5-NEXT: ori 5, 5, 21845
12889 ; PWR5-NEXT: rotldi 8, 4, 63
12890 ; PWR5-NEXT: rotldi 9, 3, 63
12891 ; PWR5-NEXT: rldimi 5, 5, 32, 0
12892 ; PWR5-NEXT: and 8, 8, 5
12893 ; PWR5-NEXT: and 5, 9, 5
12894 ; PWR5-NEXT: ori 6, 6, 13107
12895 ; PWR5-NEXT: sub 3, 3, 5
12896 ; PWR5-NEXT: rldimi 6, 6, 32, 0
12897 ; PWR5-NEXT: sub 4, 4, 8
12898 ; PWR5-NEXT: and 8, 3, 6
12899 ; PWR5-NEXT: rotldi 3, 3, 62
12900 ; PWR5-NEXT: and 3, 3, 6
12901 ; PWR5-NEXT: lis 7, 3855
12902 ; PWR5-NEXT: and 5, 4, 6
12903 ; PWR5-NEXT: rotldi 4, 4, 62
12904 ; PWR5-NEXT: add 3, 8, 3
12905 ; PWR5-NEXT: lis 9, 257
12906 ; PWR5-NEXT: ori 7, 7, 3855
12907 ; PWR5-NEXT: and 4, 4, 6
12908 ; PWR5-NEXT: rldicl 6, 3, 60, 4
12909 ; PWR5-NEXT: ori 9, 9, 257
12910 ; PWR5-NEXT: rldimi 7, 7, 32, 0
12911 ; PWR5-NEXT: add 4, 5, 4
12912 ; PWR5-NEXT: add 3, 3, 6
12913 ; PWR5-NEXT: rldimi 9, 9, 32, 0
12914 ; PWR5-NEXT: rldicl 5, 4, 60, 4
12915 ; PWR5-NEXT: and 3, 3, 7
12916 ; PWR5-NEXT: add 4, 4, 5
12917 ; PWR5-NEXT: mulld 3, 3, 9
12918 ; PWR5-NEXT: and 4, 4, 7
12919 ; PWR5-NEXT: rldicl 3, 3, 8, 56
12920 ; PWR5-NEXT: mulld 4, 4, 9
12921 ; PWR5-NEXT: li 5, 5
12922 ; PWR5-NEXT: subfic 3, 3, 5
12923 ; PWR5-NEXT: rldicl 4, 4, 8, 56
12924 ; PWR5-NEXT: subfe 3, 5, 5
12925 ; PWR5-NEXT: subfic 4, 4, 5
12926 ; PWR5-NEXT: subfe 4, 5, 5
12927 ; PWR5-NEXT: blr
12931 ; PWR6-NEXT: lis 5, 21845
12932 ; PWR6-NEXT: lis 6, 13107
12933 ; PWR6-NEXT: ori 5, 5, 21845
12934 ; PWR6-NEXT: rotldi 8, 4, 63
12935 ; PWR6-NEXT: rotldi 9, 3, 63
12936 ; PWR6-NEXT: rldimi 5, 5, 32, 0
12937 ; PWR6-NEXT: and 8, 8, 5
12938 ; PWR6-NEXT: and 5, 9, 5
12939 ; PWR6-NEXT: ori 6, 6, 13107
12940 ; PWR6-NEXT: sub 3, 3, 5
12941 ; PWR6-NEXT: rldimi 6, 6, 32, 0
12942 ; PWR6-NEXT: sub 4, 4, 8
12943 ; PWR6-NEXT: and 8, 3, 6
12944 ; PWR6-NEXT: rotldi 3, 3, 62
12945 ; PWR6-NEXT: and 3, 3, 6
12946 ; PWR6-NEXT: lis 7, 3855
12947 ; PWR6-NEXT: and 5, 4, 6
12948 ; PWR6-NEXT: rotldi 4, 4, 62
12949 ; PWR6-NEXT: add 3, 8, 3
12950 ; PWR6-NEXT: lis 9, 257
12951 ; PWR6-NEXT: ori 7, 7, 3855
12952 ; PWR6-NEXT: and 4, 4, 6
12953 ; PWR6-NEXT: rldicl 6, 3, 60, 4
12954 ; PWR6-NEXT: ori 9, 9, 257
12955 ; PWR6-NEXT: rldimi 7, 7, 32, 0
12956 ; PWR6-NEXT: add 4, 5, 4
12957 ; PWR6-NEXT: add 3, 3, 6
12958 ; PWR6-NEXT: rldimi 9, 9, 32, 0
12959 ; PWR6-NEXT: rldicl 5, 4, 60, 4
12960 ; PWR6-NEXT: and 3, 3, 7
12961 ; PWR6-NEXT: add 4, 4, 5
12962 ; PWR6-NEXT: mulld 3, 3, 9
12963 ; PWR6-NEXT: and 4, 4, 7
12964 ; PWR6-NEXT: rldicl 3, 3, 8, 56
12965 ; PWR6-NEXT: mulld 4, 4, 9
12966 ; PWR6-NEXT: li 5, 5
12967 ; PWR6-NEXT: subfic 3, 3, 5
12968 ; PWR6-NEXT: rldicl 4, 4, 8, 56
12969 ; PWR6-NEXT: subfe 3, 5, 5
12970 ; PWR6-NEXT: subfic 4, 4, 5
12971 ; PWR6-NEXT: subfe 4, 5, 5
12972 ; PWR6-NEXT: blr
12976 ; PWR7-NEXT: addi 3, 1, -32
12977 ; PWR7-NEXT: li 5, 0
12978 ; PWR7-NEXT: li 6, -1
12979 ; PWR7-NEXT: stxvd2x 34, 0, 3
12980 ; PWR7-NEXT: ld 3, -24(1)
12981 ; PWR7-NEXT: ld 4, -32(1)
12982 ; PWR7-NEXT: popcntd 3, 3
12983 ; PWR7-NEXT: popcntd 4, 4
12984 ; PWR7-NEXT: cmpldi 3, 5
12985 ; PWR7-NEXT: iselgt 3, 6, 5
12986 ; PWR7-NEXT: cmpldi 4, 5
12987 ; PWR7-NEXT: iselgt 4, 6, 5
12988 ; PWR7-NEXT: std 3, -8(1)
12989 ; PWR7-NEXT: addi 3, 1, -16
12990 ; PWR7-NEXT: std 4, -16(1)
12991 ; PWR7-NEXT: lxvd2x 34, 0, 3
12992 ; PWR7-NEXT: blr
12996 ; PWR8-NEXT: addis 3, 2, .LCPI108_0@toc@ha
12997 ; PWR8-NEXT: vpopcntd 2, 2
12998 ; PWR8-NEXT: addi 3, 3, .LCPI108_0@toc@l
12999 ; PWR8-NEXT: lxvd2x 35, 0, 3
13000 ; PWR8-NEXT: vcmpgtud 2, 2, 3
13001 ; PWR8-NEXT: blr
13005 ; PWR9-NEXT: addis 3, 2, .LCPI108_0@toc@ha
13006 ; PWR9-NEXT: vpopcntd 2, 2
13007 ; PWR9-NEXT: addi 3, 3, .LCPI108_0@toc@l
13008 ; PWR9-NEXT: lxvx 35, 0, 3
13009 ; PWR9-NEXT: vcmpgtud 2, 2, 3
13010 ; PWR9-NEXT: blr
13020 ; PWR5-NEXT: lis 5, 21845
13021 ; PWR5-NEXT: lis 6, 13107
13022 ; PWR5-NEXT: ori 5, 5, 21845
13023 ; PWR5-NEXT: rotldi 8, 4, 63
13024 ; PWR5-NEXT: rotldi 9, 3, 63
13025 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13026 ; PWR5-NEXT: and 8, 8, 5
13027 ; PWR5-NEXT: and 5, 9, 5
13028 ; PWR5-NEXT: ori 6, 6, 13107
13029 ; PWR5-NEXT: sub 3, 3, 5
13030 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13031 ; PWR5-NEXT: sub 4, 4, 8
13032 ; PWR5-NEXT: and 8, 3, 6
13033 ; PWR5-NEXT: rotldi 3, 3, 62
13034 ; PWR5-NEXT: and 3, 3, 6
13035 ; PWR5-NEXT: lis 7, 3855
13036 ; PWR5-NEXT: and 5, 4, 6
13037 ; PWR5-NEXT: rotldi 4, 4, 62
13038 ; PWR5-NEXT: add 3, 8, 3
13039 ; PWR5-NEXT: lis 9, 257
13040 ; PWR5-NEXT: ori 7, 7, 3855
13041 ; PWR5-NEXT: and 4, 4, 6
13042 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13043 ; PWR5-NEXT: ori 9, 9, 257
13044 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13045 ; PWR5-NEXT: add 4, 5, 4
13046 ; PWR5-NEXT: add 3, 3, 6
13047 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13048 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13049 ; PWR5-NEXT: and 3, 3, 7
13050 ; PWR5-NEXT: add 4, 4, 5
13051 ; PWR5-NEXT: mulld 3, 3, 9
13052 ; PWR5-NEXT: and 4, 4, 7
13053 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13054 ; PWR5-NEXT: li 5, 6
13055 ; PWR5-NEXT: mulld 4, 4, 9
13056 ; PWR5-NEXT: subc 6, 3, 5
13057 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13058 ; PWR5-NEXT: subfe 3, 3, 3
13059 ; PWR5-NEXT: subc 5, 4, 5
13060 ; PWR5-NEXT: subfe 4, 4, 4
13061 ; PWR5-NEXT: blr
13065 ; PWR6-NEXT: lis 5, 21845
13066 ; PWR6-NEXT: lis 6, 13107
13067 ; PWR6-NEXT: ori 5, 5, 21845
13068 ; PWR6-NEXT: rotldi 8, 4, 63
13069 ; PWR6-NEXT: rotldi 9, 3, 63
13070 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13071 ; PWR6-NEXT: and 8, 8, 5
13072 ; PWR6-NEXT: and 5, 9, 5
13073 ; PWR6-NEXT: ori 6, 6, 13107
13074 ; PWR6-NEXT: sub 3, 3, 5
13075 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13076 ; PWR6-NEXT: sub 4, 4, 8
13077 ; PWR6-NEXT: and 8, 3, 6
13078 ; PWR6-NEXT: rotldi 3, 3, 62
13079 ; PWR6-NEXT: and 3, 3, 6
13080 ; PWR6-NEXT: lis 7, 3855
13081 ; PWR6-NEXT: and 5, 4, 6
13082 ; PWR6-NEXT: rotldi 4, 4, 62
13083 ; PWR6-NEXT: add 3, 8, 3
13084 ; PWR6-NEXT: lis 9, 257
13085 ; PWR6-NEXT: ori 7, 7, 3855
13086 ; PWR6-NEXT: and 4, 4, 6
13087 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13088 ; PWR6-NEXT: ori 9, 9, 257
13089 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13090 ; PWR6-NEXT: add 4, 5, 4
13091 ; PWR6-NEXT: add 3, 3, 6
13092 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13093 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13094 ; PWR6-NEXT: and 3, 3, 7
13095 ; PWR6-NEXT: add 4, 4, 5
13096 ; PWR6-NEXT: mulld 3, 3, 9
13097 ; PWR6-NEXT: and 4, 4, 7
13098 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13099 ; PWR6-NEXT: li 5, 6
13100 ; PWR6-NEXT: mulld 4, 4, 9
13101 ; PWR6-NEXT: subc 6, 3, 5
13102 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13103 ; PWR6-NEXT: subfe 3, 3, 3
13104 ; PWR6-NEXT: subc 5, 4, 5
13105 ; PWR6-NEXT: subfe 4, 4, 4
13106 ; PWR6-NEXT: blr
13110 ; PWR7-NEXT: addi 3, 1, -32
13111 ; PWR7-NEXT: li 5, 0
13112 ; PWR7-NEXT: li 6, -1
13113 ; PWR7-NEXT: stxvd2x 34, 0, 3
13114 ; PWR7-NEXT: ld 3, -24(1)
13115 ; PWR7-NEXT: ld 4, -32(1)
13116 ; PWR7-NEXT: popcntd 3, 3
13117 ; PWR7-NEXT: popcntd 4, 4
13118 ; PWR7-NEXT: cmpldi 3, 6
13119 ; PWR7-NEXT: isellt 3, 6, 5
13120 ; PWR7-NEXT: cmpldi 4, 6
13121 ; PWR7-NEXT: isellt 4, 6, 5
13122 ; PWR7-NEXT: std 3, -8(1)
13123 ; PWR7-NEXT: addi 3, 1, -16
13124 ; PWR7-NEXT: std 4, -16(1)
13125 ; PWR7-NEXT: lxvd2x 34, 0, 3
13126 ; PWR7-NEXT: blr
13130 ; PWR8-NEXT: addis 3, 2, .LCPI109_0@toc@ha
13131 ; PWR8-NEXT: vpopcntd 2, 2
13132 ; PWR8-NEXT: addi 3, 3, .LCPI109_0@toc@l
13133 ; PWR8-NEXT: lxvd2x 35, 0, 3
13134 ; PWR8-NEXT: vcmpgtud 2, 3, 2
13135 ; PWR8-NEXT: blr
13139 ; PWR9-NEXT: addis 3, 2, .LCPI109_0@toc@ha
13140 ; PWR9-NEXT: vpopcntd 2, 2
13141 ; PWR9-NEXT: addi 3, 3, .LCPI109_0@toc@l
13142 ; PWR9-NEXT: lxvx 35, 0, 3
13143 ; PWR9-NEXT: vcmpgtud 2, 3, 2
13144 ; PWR9-NEXT: blr
13154 ; PWR5-NEXT: lis 5, 21845
13155 ; PWR5-NEXT: lis 6, 13107
13156 ; PWR5-NEXT: ori 5, 5, 21845
13157 ; PWR5-NEXT: rotldi 8, 4, 63
13158 ; PWR5-NEXT: rotldi 9, 3, 63
13159 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13160 ; PWR5-NEXT: and 8, 8, 5
13161 ; PWR5-NEXT: and 5, 9, 5
13162 ; PWR5-NEXT: ori 6, 6, 13107
13163 ; PWR5-NEXT: sub 3, 3, 5
13164 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13165 ; PWR5-NEXT: sub 4, 4, 8
13166 ; PWR5-NEXT: and 8, 3, 6
13167 ; PWR5-NEXT: rotldi 3, 3, 62
13168 ; PWR5-NEXT: and 3, 3, 6
13169 ; PWR5-NEXT: lis 7, 3855
13170 ; PWR5-NEXT: and 5, 4, 6
13171 ; PWR5-NEXT: rotldi 4, 4, 62
13172 ; PWR5-NEXT: add 3, 8, 3
13173 ; PWR5-NEXT: lis 9, 257
13174 ; PWR5-NEXT: ori 7, 7, 3855
13175 ; PWR5-NEXT: and 4, 4, 6
13176 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13177 ; PWR5-NEXT: ori 9, 9, 257
13178 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13179 ; PWR5-NEXT: add 4, 5, 4
13180 ; PWR5-NEXT: add 3, 3, 6
13181 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13182 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13183 ; PWR5-NEXT: and 3, 3, 7
13184 ; PWR5-NEXT: add 4, 4, 5
13185 ; PWR5-NEXT: mulld 3, 3, 9
13186 ; PWR5-NEXT: and 4, 4, 7
13187 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13188 ; PWR5-NEXT: mulld 4, 4, 9
13189 ; PWR5-NEXT: li 5, 6
13190 ; PWR5-NEXT: subfic 3, 3, 6
13191 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13192 ; PWR5-NEXT: subfe 3, 5, 5
13193 ; PWR5-NEXT: subfic 4, 4, 6
13194 ; PWR5-NEXT: subfe 4, 5, 5
13195 ; PWR5-NEXT: blr
13199 ; PWR6-NEXT: lis 5, 21845
13200 ; PWR6-NEXT: lis 6, 13107
13201 ; PWR6-NEXT: ori 5, 5, 21845
13202 ; PWR6-NEXT: rotldi 8, 4, 63
13203 ; PWR6-NEXT: rotldi 9, 3, 63
13204 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13205 ; PWR6-NEXT: and 8, 8, 5
13206 ; PWR6-NEXT: and 5, 9, 5
13207 ; PWR6-NEXT: ori 6, 6, 13107
13208 ; PWR6-NEXT: sub 3, 3, 5
13209 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13210 ; PWR6-NEXT: sub 4, 4, 8
13211 ; PWR6-NEXT: and 8, 3, 6
13212 ; PWR6-NEXT: rotldi 3, 3, 62
13213 ; PWR6-NEXT: and 3, 3, 6
13214 ; PWR6-NEXT: lis 7, 3855
13215 ; PWR6-NEXT: and 5, 4, 6
13216 ; PWR6-NEXT: rotldi 4, 4, 62
13217 ; PWR6-NEXT: add 3, 8, 3
13218 ; PWR6-NEXT: lis 9, 257
13219 ; PWR6-NEXT: ori 7, 7, 3855
13220 ; PWR6-NEXT: and 4, 4, 6
13221 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13222 ; PWR6-NEXT: ori 9, 9, 257
13223 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13224 ; PWR6-NEXT: add 4, 5, 4
13225 ; PWR6-NEXT: add 3, 3, 6
13226 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13227 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13228 ; PWR6-NEXT: and 3, 3, 7
13229 ; PWR6-NEXT: add 4, 4, 5
13230 ; PWR6-NEXT: mulld 3, 3, 9
13231 ; PWR6-NEXT: and 4, 4, 7
13232 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13233 ; PWR6-NEXT: mulld 4, 4, 9
13234 ; PWR6-NEXT: li 5, 6
13235 ; PWR6-NEXT: subfic 3, 3, 6
13236 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13237 ; PWR6-NEXT: subfe 3, 5, 5
13238 ; PWR6-NEXT: subfic 4, 4, 6
13239 ; PWR6-NEXT: subfe 4, 5, 5
13240 ; PWR6-NEXT: blr
13244 ; PWR7-NEXT: addi 3, 1, -32
13245 ; PWR7-NEXT: li 5, 0
13246 ; PWR7-NEXT: li 6, -1
13247 ; PWR7-NEXT: stxvd2x 34, 0, 3
13248 ; PWR7-NEXT: ld 3, -24(1)
13249 ; PWR7-NEXT: ld 4, -32(1)
13250 ; PWR7-NEXT: popcntd 3, 3
13251 ; PWR7-NEXT: popcntd 4, 4
13252 ; PWR7-NEXT: cmpldi 3, 6
13253 ; PWR7-NEXT: iselgt 3, 6, 5
13254 ; PWR7-NEXT: cmpldi 4, 6
13255 ; PWR7-NEXT: iselgt 4, 6, 5
13256 ; PWR7-NEXT: std 3, -8(1)
13257 ; PWR7-NEXT: addi 3, 1, -16
13258 ; PWR7-NEXT: std 4, -16(1)
13259 ; PWR7-NEXT: lxvd2x 34, 0, 3
13260 ; PWR7-NEXT: blr
13264 ; PWR8-NEXT: addis 3, 2, .LCPI110_0@toc@ha
13265 ; PWR8-NEXT: vpopcntd 2, 2
13266 ; PWR8-NEXT: addi 3, 3, .LCPI110_0@toc@l
13267 ; PWR8-NEXT: lxvd2x 35, 0, 3
13268 ; PWR8-NEXT: vcmpgtud 2, 2, 3
13269 ; PWR8-NEXT: blr
13273 ; PWR9-NEXT: addis 3, 2, .LCPI110_0@toc@ha
13274 ; PWR9-NEXT: vpopcntd 2, 2
13275 ; PWR9-NEXT: addi 3, 3, .LCPI110_0@toc@l
13276 ; PWR9-NEXT: lxvx 35, 0, 3
13277 ; PWR9-NEXT: vcmpgtud 2, 2, 3
13278 ; PWR9-NEXT: blr
13288 ; PWR5-NEXT: lis 5, 21845
13289 ; PWR5-NEXT: lis 6, 13107
13290 ; PWR5-NEXT: ori 5, 5, 21845
13291 ; PWR5-NEXT: rotldi 8, 4, 63
13292 ; PWR5-NEXT: rotldi 9, 3, 63
13293 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13294 ; PWR5-NEXT: and 8, 8, 5
13295 ; PWR5-NEXT: and 5, 9, 5
13296 ; PWR5-NEXT: ori 6, 6, 13107
13297 ; PWR5-NEXT: sub 3, 3, 5
13298 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13299 ; PWR5-NEXT: sub 4, 4, 8
13300 ; PWR5-NEXT: and 8, 3, 6
13301 ; PWR5-NEXT: rotldi 3, 3, 62
13302 ; PWR5-NEXT: and 3, 3, 6
13303 ; PWR5-NEXT: lis 7, 3855
13304 ; PWR5-NEXT: and 5, 4, 6
13305 ; PWR5-NEXT: rotldi 4, 4, 62
13306 ; PWR5-NEXT: add 3, 8, 3
13307 ; PWR5-NEXT: lis 9, 257
13308 ; PWR5-NEXT: ori 7, 7, 3855
13309 ; PWR5-NEXT: and 4, 4, 6
13310 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13311 ; PWR5-NEXT: ori 9, 9, 257
13312 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13313 ; PWR5-NEXT: add 4, 5, 4
13314 ; PWR5-NEXT: add 3, 3, 6
13315 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13316 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13317 ; PWR5-NEXT: and 3, 3, 7
13318 ; PWR5-NEXT: add 4, 4, 5
13319 ; PWR5-NEXT: mulld 3, 3, 9
13320 ; PWR5-NEXT: and 4, 4, 7
13321 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13322 ; PWR5-NEXT: li 5, 7
13323 ; PWR5-NEXT: mulld 4, 4, 9
13324 ; PWR5-NEXT: subc 6, 3, 5
13325 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13326 ; PWR5-NEXT: subfe 3, 3, 3
13327 ; PWR5-NEXT: subc 5, 4, 5
13328 ; PWR5-NEXT: subfe 4, 4, 4
13329 ; PWR5-NEXT: blr
13333 ; PWR6-NEXT: lis 5, 21845
13334 ; PWR6-NEXT: lis 6, 13107
13335 ; PWR6-NEXT: ori 5, 5, 21845
13336 ; PWR6-NEXT: rotldi 8, 4, 63
13337 ; PWR6-NEXT: rotldi 9, 3, 63
13338 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13339 ; PWR6-NEXT: and 8, 8, 5
13340 ; PWR6-NEXT: and 5, 9, 5
13341 ; PWR6-NEXT: ori 6, 6, 13107
13342 ; PWR6-NEXT: sub 3, 3, 5
13343 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13344 ; PWR6-NEXT: sub 4, 4, 8
13345 ; PWR6-NEXT: and 8, 3, 6
13346 ; PWR6-NEXT: rotldi 3, 3, 62
13347 ; PWR6-NEXT: and 3, 3, 6
13348 ; PWR6-NEXT: lis 7, 3855
13349 ; PWR6-NEXT: and 5, 4, 6
13350 ; PWR6-NEXT: rotldi 4, 4, 62
13351 ; PWR6-NEXT: add 3, 8, 3
13352 ; PWR6-NEXT: lis 9, 257
13353 ; PWR6-NEXT: ori 7, 7, 3855
13354 ; PWR6-NEXT: and 4, 4, 6
13355 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13356 ; PWR6-NEXT: ori 9, 9, 257
13357 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13358 ; PWR6-NEXT: add 4, 5, 4
13359 ; PWR6-NEXT: add 3, 3, 6
13360 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13361 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13362 ; PWR6-NEXT: and 3, 3, 7
13363 ; PWR6-NEXT: add 4, 4, 5
13364 ; PWR6-NEXT: mulld 3, 3, 9
13365 ; PWR6-NEXT: and 4, 4, 7
13366 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13367 ; PWR6-NEXT: li 5, 7
13368 ; PWR6-NEXT: mulld 4, 4, 9
13369 ; PWR6-NEXT: subc 6, 3, 5
13370 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13371 ; PWR6-NEXT: subfe 3, 3, 3
13372 ; PWR6-NEXT: subc 5, 4, 5
13373 ; PWR6-NEXT: subfe 4, 4, 4
13374 ; PWR6-NEXT: blr
13378 ; PWR7-NEXT: addi 3, 1, -32
13379 ; PWR7-NEXT: li 5, 0
13380 ; PWR7-NEXT: li 6, -1
13381 ; PWR7-NEXT: stxvd2x 34, 0, 3
13382 ; PWR7-NEXT: ld 3, -24(1)
13383 ; PWR7-NEXT: ld 4, -32(1)
13384 ; PWR7-NEXT: popcntd 3, 3
13385 ; PWR7-NEXT: popcntd 4, 4
13386 ; PWR7-NEXT: cmpldi 3, 7
13387 ; PWR7-NEXT: isellt 3, 6, 5
13388 ; PWR7-NEXT: cmpldi 4, 7
13389 ; PWR7-NEXT: isellt 4, 6, 5
13390 ; PWR7-NEXT: std 3, -8(1)
13391 ; PWR7-NEXT: addi 3, 1, -16
13392 ; PWR7-NEXT: std 4, -16(1)
13393 ; PWR7-NEXT: lxvd2x 34, 0, 3
13394 ; PWR7-NEXT: blr
13398 ; PWR8-NEXT: addis 3, 2, .LCPI111_0@toc@ha
13399 ; PWR8-NEXT: vpopcntd 2, 2
13400 ; PWR8-NEXT: addi 3, 3, .LCPI111_0@toc@l
13401 ; PWR8-NEXT: lxvd2x 35, 0, 3
13402 ; PWR8-NEXT: vcmpgtud 2, 3, 2
13403 ; PWR8-NEXT: blr
13407 ; PWR9-NEXT: addis 3, 2, .LCPI111_0@toc@ha
13408 ; PWR9-NEXT: vpopcntd 2, 2
13409 ; PWR9-NEXT: addi 3, 3, .LCPI111_0@toc@l
13410 ; PWR9-NEXT: lxvx 35, 0, 3
13411 ; PWR9-NEXT: vcmpgtud 2, 3, 2
13412 ; PWR9-NEXT: blr
13422 ; PWR5-NEXT: lis 5, 21845
13423 ; PWR5-NEXT: lis 6, 13107
13424 ; PWR5-NEXT: ori 5, 5, 21845
13425 ; PWR5-NEXT: rotldi 8, 4, 63
13426 ; PWR5-NEXT: rotldi 9, 3, 63
13427 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13428 ; PWR5-NEXT: and 8, 8, 5
13429 ; PWR5-NEXT: and 5, 9, 5
13430 ; PWR5-NEXT: ori 6, 6, 13107
13431 ; PWR5-NEXT: sub 3, 3, 5
13432 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13433 ; PWR5-NEXT: sub 4, 4, 8
13434 ; PWR5-NEXT: and 8, 3, 6
13435 ; PWR5-NEXT: rotldi 3, 3, 62
13436 ; PWR5-NEXT: and 3, 3, 6
13437 ; PWR5-NEXT: lis 7, 3855
13438 ; PWR5-NEXT: and 5, 4, 6
13439 ; PWR5-NEXT: rotldi 4, 4, 62
13440 ; PWR5-NEXT: add 3, 8, 3
13441 ; PWR5-NEXT: lis 9, 257
13442 ; PWR5-NEXT: ori 7, 7, 3855
13443 ; PWR5-NEXT: and 4, 4, 6
13444 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13445 ; PWR5-NEXT: ori 9, 9, 257
13446 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13447 ; PWR5-NEXT: add 4, 5, 4
13448 ; PWR5-NEXT: add 3, 3, 6
13449 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13450 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13451 ; PWR5-NEXT: and 3, 3, 7
13452 ; PWR5-NEXT: add 4, 4, 5
13453 ; PWR5-NEXT: mulld 3, 3, 9
13454 ; PWR5-NEXT: and 4, 4, 7
13455 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13456 ; PWR5-NEXT: mulld 4, 4, 9
13457 ; PWR5-NEXT: li 5, 7
13458 ; PWR5-NEXT: subfic 3, 3, 7
13459 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13460 ; PWR5-NEXT: subfe 3, 5, 5
13461 ; PWR5-NEXT: subfic 4, 4, 7
13462 ; PWR5-NEXT: subfe 4, 5, 5
13463 ; PWR5-NEXT: blr
13467 ; PWR6-NEXT: lis 5, 21845
13468 ; PWR6-NEXT: lis 6, 13107
13469 ; PWR6-NEXT: ori 5, 5, 21845
13470 ; PWR6-NEXT: rotldi 8, 4, 63
13471 ; PWR6-NEXT: rotldi 9, 3, 63
13472 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13473 ; PWR6-NEXT: and 8, 8, 5
13474 ; PWR6-NEXT: and 5, 9, 5
13475 ; PWR6-NEXT: ori 6, 6, 13107
13476 ; PWR6-NEXT: sub 3, 3, 5
13477 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13478 ; PWR6-NEXT: sub 4, 4, 8
13479 ; PWR6-NEXT: and 8, 3, 6
13480 ; PWR6-NEXT: rotldi 3, 3, 62
13481 ; PWR6-NEXT: and 3, 3, 6
13482 ; PWR6-NEXT: lis 7, 3855
13483 ; PWR6-NEXT: and 5, 4, 6
13484 ; PWR6-NEXT: rotldi 4, 4, 62
13485 ; PWR6-NEXT: add 3, 8, 3
13486 ; PWR6-NEXT: lis 9, 257
13487 ; PWR6-NEXT: ori 7, 7, 3855
13488 ; PWR6-NEXT: and 4, 4, 6
13489 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13490 ; PWR6-NEXT: ori 9, 9, 257
13491 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13492 ; PWR6-NEXT: add 4, 5, 4
13493 ; PWR6-NEXT: add 3, 3, 6
13494 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13495 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13496 ; PWR6-NEXT: and 3, 3, 7
13497 ; PWR6-NEXT: add 4, 4, 5
13498 ; PWR6-NEXT: mulld 3, 3, 9
13499 ; PWR6-NEXT: and 4, 4, 7
13500 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13501 ; PWR6-NEXT: mulld 4, 4, 9
13502 ; PWR6-NEXT: li 5, 7
13503 ; PWR6-NEXT: subfic 3, 3, 7
13504 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13505 ; PWR6-NEXT: subfe 3, 5, 5
13506 ; PWR6-NEXT: subfic 4, 4, 7
13507 ; PWR6-NEXT: subfe 4, 5, 5
13508 ; PWR6-NEXT: blr
13512 ; PWR7-NEXT: addi 3, 1, -32
13513 ; PWR7-NEXT: li 5, 0
13514 ; PWR7-NEXT: li 6, -1
13515 ; PWR7-NEXT: stxvd2x 34, 0, 3
13516 ; PWR7-NEXT: ld 3, -24(1)
13517 ; PWR7-NEXT: ld 4, -32(1)
13518 ; PWR7-NEXT: popcntd 3, 3
13519 ; PWR7-NEXT: popcntd 4, 4
13520 ; PWR7-NEXT: cmpldi 3, 7
13521 ; PWR7-NEXT: iselgt 3, 6, 5
13522 ; PWR7-NEXT: cmpldi 4, 7
13523 ; PWR7-NEXT: iselgt 4, 6, 5
13524 ; PWR7-NEXT: std 3, -8(1)
13525 ; PWR7-NEXT: addi 3, 1, -16
13526 ; PWR7-NEXT: std 4, -16(1)
13527 ; PWR7-NEXT: lxvd2x 34, 0, 3
13528 ; PWR7-NEXT: blr
13532 ; PWR8-NEXT: addis 3, 2, .LCPI112_0@toc@ha
13533 ; PWR8-NEXT: vpopcntd 2, 2
13534 ; PWR8-NEXT: addi 3, 3, .LCPI112_0@toc@l
13535 ; PWR8-NEXT: lxvd2x 35, 0, 3
13536 ; PWR8-NEXT: vcmpgtud 2, 2, 3
13537 ; PWR8-NEXT: blr
13541 ; PWR9-NEXT: addis 3, 2, .LCPI112_0@toc@ha
13542 ; PWR9-NEXT: vpopcntd 2, 2
13543 ; PWR9-NEXT: addi 3, 3, .LCPI112_0@toc@l
13544 ; PWR9-NEXT: lxvx 35, 0, 3
13545 ; PWR9-NEXT: vcmpgtud 2, 2, 3
13546 ; PWR9-NEXT: blr
13556 ; PWR5-NEXT: lis 5, 21845
13557 ; PWR5-NEXT: lis 6, 13107
13558 ; PWR5-NEXT: ori 5, 5, 21845
13559 ; PWR5-NEXT: rotldi 8, 4, 63
13560 ; PWR5-NEXT: rotldi 9, 3, 63
13561 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13562 ; PWR5-NEXT: and 8, 8, 5
13563 ; PWR5-NEXT: and 5, 9, 5
13564 ; PWR5-NEXT: ori 6, 6, 13107
13565 ; PWR5-NEXT: sub 3, 3, 5
13566 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13567 ; PWR5-NEXT: sub 4, 4, 8
13568 ; PWR5-NEXT: and 8, 3, 6
13569 ; PWR5-NEXT: rotldi 3, 3, 62
13570 ; PWR5-NEXT: and 3, 3, 6
13571 ; PWR5-NEXT: lis 7, 3855
13572 ; PWR5-NEXT: and 5, 4, 6
13573 ; PWR5-NEXT: rotldi 4, 4, 62
13574 ; PWR5-NEXT: add 3, 8, 3
13575 ; PWR5-NEXT: lis 9, 257
13576 ; PWR5-NEXT: ori 7, 7, 3855
13577 ; PWR5-NEXT: and 4, 4, 6
13578 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13579 ; PWR5-NEXT: ori 9, 9, 257
13580 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13581 ; PWR5-NEXT: add 4, 5, 4
13582 ; PWR5-NEXT: add 3, 3, 6
13583 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13584 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13585 ; PWR5-NEXT: and 3, 3, 7
13586 ; PWR5-NEXT: add 4, 4, 5
13587 ; PWR5-NEXT: mulld 3, 3, 9
13588 ; PWR5-NEXT: and 4, 4, 7
13589 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13590 ; PWR5-NEXT: li 5, 8
13591 ; PWR5-NEXT: mulld 4, 4, 9
13592 ; PWR5-NEXT: subc 6, 3, 5
13593 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13594 ; PWR5-NEXT: subfe 3, 3, 3
13595 ; PWR5-NEXT: subc 5, 4, 5
13596 ; PWR5-NEXT: subfe 4, 4, 4
13597 ; PWR5-NEXT: blr
13601 ; PWR6-NEXT: lis 5, 21845
13602 ; PWR6-NEXT: lis 6, 13107
13603 ; PWR6-NEXT: ori 5, 5, 21845
13604 ; PWR6-NEXT: rotldi 8, 4, 63
13605 ; PWR6-NEXT: rotldi 9, 3, 63
13606 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13607 ; PWR6-NEXT: and 8, 8, 5
13608 ; PWR6-NEXT: and 5, 9, 5
13609 ; PWR6-NEXT: ori 6, 6, 13107
13610 ; PWR6-NEXT: sub 3, 3, 5
13611 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13612 ; PWR6-NEXT: sub 4, 4, 8
13613 ; PWR6-NEXT: and 8, 3, 6
13614 ; PWR6-NEXT: rotldi 3, 3, 62
13615 ; PWR6-NEXT: and 3, 3, 6
13616 ; PWR6-NEXT: lis 7, 3855
13617 ; PWR6-NEXT: and 5, 4, 6
13618 ; PWR6-NEXT: rotldi 4, 4, 62
13619 ; PWR6-NEXT: add 3, 8, 3
13620 ; PWR6-NEXT: lis 9, 257
13621 ; PWR6-NEXT: ori 7, 7, 3855
13622 ; PWR6-NEXT: and 4, 4, 6
13623 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13624 ; PWR6-NEXT: ori 9, 9, 257
13625 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13626 ; PWR6-NEXT: add 4, 5, 4
13627 ; PWR6-NEXT: add 3, 3, 6
13628 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13629 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13630 ; PWR6-NEXT: and 3, 3, 7
13631 ; PWR6-NEXT: add 4, 4, 5
13632 ; PWR6-NEXT: mulld 3, 3, 9
13633 ; PWR6-NEXT: and 4, 4, 7
13634 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13635 ; PWR6-NEXT: li 5, 8
13636 ; PWR6-NEXT: mulld 4, 4, 9
13637 ; PWR6-NEXT: subc 6, 3, 5
13638 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13639 ; PWR6-NEXT: subfe 3, 3, 3
13640 ; PWR6-NEXT: subc 5, 4, 5
13641 ; PWR6-NEXT: subfe 4, 4, 4
13642 ; PWR6-NEXT: blr
13646 ; PWR7-NEXT: addi 3, 1, -32
13647 ; PWR7-NEXT: li 5, 0
13648 ; PWR7-NEXT: li 6, -1
13649 ; PWR7-NEXT: stxvd2x 34, 0, 3
13650 ; PWR7-NEXT: ld 3, -24(1)
13651 ; PWR7-NEXT: ld 4, -32(1)
13652 ; PWR7-NEXT: popcntd 3, 3
13653 ; PWR7-NEXT: popcntd 4, 4
13654 ; PWR7-NEXT: cmpldi 3, 8
13655 ; PWR7-NEXT: isellt 3, 6, 5
13656 ; PWR7-NEXT: cmpldi 4, 8
13657 ; PWR7-NEXT: isellt 4, 6, 5
13658 ; PWR7-NEXT: std 3, -8(1)
13659 ; PWR7-NEXT: addi 3, 1, -16
13660 ; PWR7-NEXT: std 4, -16(1)
13661 ; PWR7-NEXT: lxvd2x 34, 0, 3
13662 ; PWR7-NEXT: blr
13666 ; PWR8-NEXT: addis 3, 2, .LCPI113_0@toc@ha
13667 ; PWR8-NEXT: vpopcntd 2, 2
13668 ; PWR8-NEXT: addi 3, 3, .LCPI113_0@toc@l
13669 ; PWR8-NEXT: lxvd2x 35, 0, 3
13670 ; PWR8-NEXT: vcmpgtud 2, 3, 2
13671 ; PWR8-NEXT: blr
13675 ; PWR9-NEXT: addis 3, 2, .LCPI113_0@toc@ha
13676 ; PWR9-NEXT: vpopcntd 2, 2
13677 ; PWR9-NEXT: addi 3, 3, .LCPI113_0@toc@l
13678 ; PWR9-NEXT: lxvx 35, 0, 3
13679 ; PWR9-NEXT: vcmpgtud 2, 3, 2
13680 ; PWR9-NEXT: blr
13690 ; PWR5-NEXT: lis 5, 21845
13691 ; PWR5-NEXT: lis 6, 13107
13692 ; PWR5-NEXT: ori 5, 5, 21845
13693 ; PWR5-NEXT: rotldi 8, 4, 63
13694 ; PWR5-NEXT: rotldi 9, 3, 63
13695 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13696 ; PWR5-NEXT: and 8, 8, 5
13697 ; PWR5-NEXT: and 5, 9, 5
13698 ; PWR5-NEXT: ori 6, 6, 13107
13699 ; PWR5-NEXT: sub 3, 3, 5
13700 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13701 ; PWR5-NEXT: sub 4, 4, 8
13702 ; PWR5-NEXT: and 8, 3, 6
13703 ; PWR5-NEXT: rotldi 3, 3, 62
13704 ; PWR5-NEXT: and 3, 3, 6
13705 ; PWR5-NEXT: lis 7, 3855
13706 ; PWR5-NEXT: and 5, 4, 6
13707 ; PWR5-NEXT: rotldi 4, 4, 62
13708 ; PWR5-NEXT: add 3, 8, 3
13709 ; PWR5-NEXT: lis 9, 257
13710 ; PWR5-NEXT: ori 7, 7, 3855
13711 ; PWR5-NEXT: and 4, 4, 6
13712 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13713 ; PWR5-NEXT: ori 9, 9, 257
13714 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13715 ; PWR5-NEXT: add 4, 5, 4
13716 ; PWR5-NEXT: add 3, 3, 6
13717 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13718 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13719 ; PWR5-NEXT: and 3, 3, 7
13720 ; PWR5-NEXT: add 4, 4, 5
13721 ; PWR5-NEXT: mulld 3, 3, 9
13722 ; PWR5-NEXT: and 4, 4, 7
13723 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13724 ; PWR5-NEXT: mulld 4, 4, 9
13725 ; PWR5-NEXT: li 5, 8
13726 ; PWR5-NEXT: subfic 3, 3, 8
13727 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13728 ; PWR5-NEXT: subfe 3, 5, 5
13729 ; PWR5-NEXT: subfic 4, 4, 8
13730 ; PWR5-NEXT: subfe 4, 5, 5
13731 ; PWR5-NEXT: blr
13735 ; PWR6-NEXT: lis 5, 21845
13736 ; PWR6-NEXT: lis 6, 13107
13737 ; PWR6-NEXT: ori 5, 5, 21845
13738 ; PWR6-NEXT: rotldi 8, 4, 63
13739 ; PWR6-NEXT: rotldi 9, 3, 63
13740 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13741 ; PWR6-NEXT: and 8, 8, 5
13742 ; PWR6-NEXT: and 5, 9, 5
13743 ; PWR6-NEXT: ori 6, 6, 13107
13744 ; PWR6-NEXT: sub 3, 3, 5
13745 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13746 ; PWR6-NEXT: sub 4, 4, 8
13747 ; PWR6-NEXT: and 8, 3, 6
13748 ; PWR6-NEXT: rotldi 3, 3, 62
13749 ; PWR6-NEXT: and 3, 3, 6
13750 ; PWR6-NEXT: lis 7, 3855
13751 ; PWR6-NEXT: and 5, 4, 6
13752 ; PWR6-NEXT: rotldi 4, 4, 62
13753 ; PWR6-NEXT: add 3, 8, 3
13754 ; PWR6-NEXT: lis 9, 257
13755 ; PWR6-NEXT: ori 7, 7, 3855
13756 ; PWR6-NEXT: and 4, 4, 6
13757 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13758 ; PWR6-NEXT: ori 9, 9, 257
13759 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13760 ; PWR6-NEXT: add 4, 5, 4
13761 ; PWR6-NEXT: add 3, 3, 6
13762 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13763 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13764 ; PWR6-NEXT: and 3, 3, 7
13765 ; PWR6-NEXT: add 4, 4, 5
13766 ; PWR6-NEXT: mulld 3, 3, 9
13767 ; PWR6-NEXT: and 4, 4, 7
13768 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13769 ; PWR6-NEXT: mulld 4, 4, 9
13770 ; PWR6-NEXT: li 5, 8
13771 ; PWR6-NEXT: subfic 3, 3, 8
13772 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13773 ; PWR6-NEXT: subfe 3, 5, 5
13774 ; PWR6-NEXT: subfic 4, 4, 8
13775 ; PWR6-NEXT: subfe 4, 5, 5
13776 ; PWR6-NEXT: blr
13780 ; PWR7-NEXT: addi 3, 1, -32
13781 ; PWR7-NEXT: li 5, 0
13782 ; PWR7-NEXT: li 6, -1
13783 ; PWR7-NEXT: stxvd2x 34, 0, 3
13784 ; PWR7-NEXT: ld 3, -24(1)
13785 ; PWR7-NEXT: ld 4, -32(1)
13786 ; PWR7-NEXT: popcntd 3, 3
13787 ; PWR7-NEXT: popcntd 4, 4
13788 ; PWR7-NEXT: cmpldi 3, 8
13789 ; PWR7-NEXT: iselgt 3, 6, 5
13790 ; PWR7-NEXT: cmpldi 4, 8
13791 ; PWR7-NEXT: iselgt 4, 6, 5
13792 ; PWR7-NEXT: std 3, -8(1)
13793 ; PWR7-NEXT: addi 3, 1, -16
13794 ; PWR7-NEXT: std 4, -16(1)
13795 ; PWR7-NEXT: lxvd2x 34, 0, 3
13796 ; PWR7-NEXT: blr
13800 ; PWR8-NEXT: addis 3, 2, .LCPI114_0@toc@ha
13801 ; PWR8-NEXT: vpopcntd 2, 2
13802 ; PWR8-NEXT: addi 3, 3, .LCPI114_0@toc@l
13803 ; PWR8-NEXT: lxvd2x 35, 0, 3
13804 ; PWR8-NEXT: vcmpgtud 2, 2, 3
13805 ; PWR8-NEXT: blr
13809 ; PWR9-NEXT: addis 3, 2, .LCPI114_0@toc@ha
13810 ; PWR9-NEXT: vpopcntd 2, 2
13811 ; PWR9-NEXT: addi 3, 3, .LCPI114_0@toc@l
13812 ; PWR9-NEXT: lxvx 35, 0, 3
13813 ; PWR9-NEXT: vcmpgtud 2, 2, 3
13814 ; PWR9-NEXT: blr
13824 ; PWR5-NEXT: lis 5, 21845
13825 ; PWR5-NEXT: lis 6, 13107
13826 ; PWR5-NEXT: ori 5, 5, 21845
13827 ; PWR5-NEXT: rotldi 8, 4, 63
13828 ; PWR5-NEXT: rotldi 9, 3, 63
13829 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13830 ; PWR5-NEXT: and 8, 8, 5
13831 ; PWR5-NEXT: and 5, 9, 5
13832 ; PWR5-NEXT: ori 6, 6, 13107
13833 ; PWR5-NEXT: sub 3, 3, 5
13834 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13835 ; PWR5-NEXT: sub 4, 4, 8
13836 ; PWR5-NEXT: and 8, 3, 6
13837 ; PWR5-NEXT: rotldi 3, 3, 62
13838 ; PWR5-NEXT: and 3, 3, 6
13839 ; PWR5-NEXT: lis 7, 3855
13840 ; PWR5-NEXT: and 5, 4, 6
13841 ; PWR5-NEXT: rotldi 4, 4, 62
13842 ; PWR5-NEXT: add 3, 8, 3
13843 ; PWR5-NEXT: lis 9, 257
13844 ; PWR5-NEXT: ori 7, 7, 3855
13845 ; PWR5-NEXT: and 4, 4, 6
13846 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13847 ; PWR5-NEXT: ori 9, 9, 257
13848 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13849 ; PWR5-NEXT: add 4, 5, 4
13850 ; PWR5-NEXT: add 3, 3, 6
13851 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13852 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13853 ; PWR5-NEXT: and 3, 3, 7
13854 ; PWR5-NEXT: add 4, 4, 5
13855 ; PWR5-NEXT: mulld 3, 3, 9
13856 ; PWR5-NEXT: and 4, 4, 7
13857 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13858 ; PWR5-NEXT: li 5, 9
13859 ; PWR5-NEXT: mulld 4, 4, 9
13860 ; PWR5-NEXT: subc 6, 3, 5
13861 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13862 ; PWR5-NEXT: subfe 3, 3, 3
13863 ; PWR5-NEXT: subc 5, 4, 5
13864 ; PWR5-NEXT: subfe 4, 4, 4
13865 ; PWR5-NEXT: blr
13869 ; PWR6-NEXT: lis 5, 21845
13870 ; PWR6-NEXT: lis 6, 13107
13871 ; PWR6-NEXT: ori 5, 5, 21845
13872 ; PWR6-NEXT: rotldi 8, 4, 63
13873 ; PWR6-NEXT: rotldi 9, 3, 63
13874 ; PWR6-NEXT: rldimi 5, 5, 32, 0
13875 ; PWR6-NEXT: and 8, 8, 5
13876 ; PWR6-NEXT: and 5, 9, 5
13877 ; PWR6-NEXT: ori 6, 6, 13107
13878 ; PWR6-NEXT: sub 3, 3, 5
13879 ; PWR6-NEXT: rldimi 6, 6, 32, 0
13880 ; PWR6-NEXT: sub 4, 4, 8
13881 ; PWR6-NEXT: and 8, 3, 6
13882 ; PWR6-NEXT: rotldi 3, 3, 62
13883 ; PWR6-NEXT: and 3, 3, 6
13884 ; PWR6-NEXT: lis 7, 3855
13885 ; PWR6-NEXT: and 5, 4, 6
13886 ; PWR6-NEXT: rotldi 4, 4, 62
13887 ; PWR6-NEXT: add 3, 8, 3
13888 ; PWR6-NEXT: lis 9, 257
13889 ; PWR6-NEXT: ori 7, 7, 3855
13890 ; PWR6-NEXT: and 4, 4, 6
13891 ; PWR6-NEXT: rldicl 6, 3, 60, 4
13892 ; PWR6-NEXT: ori 9, 9, 257
13893 ; PWR6-NEXT: rldimi 7, 7, 32, 0
13894 ; PWR6-NEXT: add 4, 5, 4
13895 ; PWR6-NEXT: add 3, 3, 6
13896 ; PWR6-NEXT: rldimi 9, 9, 32, 0
13897 ; PWR6-NEXT: rldicl 5, 4, 60, 4
13898 ; PWR6-NEXT: and 3, 3, 7
13899 ; PWR6-NEXT: add 4, 4, 5
13900 ; PWR6-NEXT: mulld 3, 3, 9
13901 ; PWR6-NEXT: and 4, 4, 7
13902 ; PWR6-NEXT: rldicl 3, 3, 8, 56
13903 ; PWR6-NEXT: li 5, 9
13904 ; PWR6-NEXT: mulld 4, 4, 9
13905 ; PWR6-NEXT: subc 6, 3, 5
13906 ; PWR6-NEXT: rldicl 4, 4, 8, 56
13907 ; PWR6-NEXT: subfe 3, 3, 3
13908 ; PWR6-NEXT: subc 5, 4, 5
13909 ; PWR6-NEXT: subfe 4, 4, 4
13910 ; PWR6-NEXT: blr
13914 ; PWR7-NEXT: addi 3, 1, -32
13915 ; PWR7-NEXT: li 5, 0
13916 ; PWR7-NEXT: li 6, -1
13917 ; PWR7-NEXT: stxvd2x 34, 0, 3
13918 ; PWR7-NEXT: ld 3, -24(1)
13919 ; PWR7-NEXT: ld 4, -32(1)
13920 ; PWR7-NEXT: popcntd 3, 3
13921 ; PWR7-NEXT: popcntd 4, 4
13922 ; PWR7-NEXT: cmpldi 3, 9
13923 ; PWR7-NEXT: isellt 3, 6, 5
13924 ; PWR7-NEXT: cmpldi 4, 9
13925 ; PWR7-NEXT: isellt 4, 6, 5
13926 ; PWR7-NEXT: std 3, -8(1)
13927 ; PWR7-NEXT: addi 3, 1, -16
13928 ; PWR7-NEXT: std 4, -16(1)
13929 ; PWR7-NEXT: lxvd2x 34, 0, 3
13930 ; PWR7-NEXT: blr
13934 ; PWR8-NEXT: addis 3, 2, .LCPI115_0@toc@ha
13935 ; PWR8-NEXT: vpopcntd 2, 2
13936 ; PWR8-NEXT: addi 3, 3, .LCPI115_0@toc@l
13937 ; PWR8-NEXT: lxvd2x 35, 0, 3
13938 ; PWR8-NEXT: vcmpgtud 2, 3, 2
13939 ; PWR8-NEXT: blr
13943 ; PWR9-NEXT: addis 3, 2, .LCPI115_0@toc@ha
13944 ; PWR9-NEXT: vpopcntd 2, 2
13945 ; PWR9-NEXT: addi 3, 3, .LCPI115_0@toc@l
13946 ; PWR9-NEXT: lxvx 35, 0, 3
13947 ; PWR9-NEXT: vcmpgtud 2, 3, 2
13948 ; PWR9-NEXT: blr
13958 ; PWR5-NEXT: lis 5, 21845
13959 ; PWR5-NEXT: lis 6, 13107
13960 ; PWR5-NEXT: ori 5, 5, 21845
13961 ; PWR5-NEXT: rotldi 8, 4, 63
13962 ; PWR5-NEXT: rotldi 9, 3, 63
13963 ; PWR5-NEXT: rldimi 5, 5, 32, 0
13964 ; PWR5-NEXT: and 8, 8, 5
13965 ; PWR5-NEXT: and 5, 9, 5
13966 ; PWR5-NEXT: ori 6, 6, 13107
13967 ; PWR5-NEXT: sub 3, 3, 5
13968 ; PWR5-NEXT: rldimi 6, 6, 32, 0
13969 ; PWR5-NEXT: sub 4, 4, 8
13970 ; PWR5-NEXT: and 8, 3, 6
13971 ; PWR5-NEXT: rotldi 3, 3, 62
13972 ; PWR5-NEXT: and 3, 3, 6
13973 ; PWR5-NEXT: lis 7, 3855
13974 ; PWR5-NEXT: and 5, 4, 6
13975 ; PWR5-NEXT: rotldi 4, 4, 62
13976 ; PWR5-NEXT: add 3, 8, 3
13977 ; PWR5-NEXT: lis 9, 257
13978 ; PWR5-NEXT: ori 7, 7, 3855
13979 ; PWR5-NEXT: and 4, 4, 6
13980 ; PWR5-NEXT: rldicl 6, 3, 60, 4
13981 ; PWR5-NEXT: ori 9, 9, 257
13982 ; PWR5-NEXT: rldimi 7, 7, 32, 0
13983 ; PWR5-NEXT: add 4, 5, 4
13984 ; PWR5-NEXT: add 3, 3, 6
13985 ; PWR5-NEXT: rldimi 9, 9, 32, 0
13986 ; PWR5-NEXT: rldicl 5, 4, 60, 4
13987 ; PWR5-NEXT: and 3, 3, 7
13988 ; PWR5-NEXT: add 4, 4, 5
13989 ; PWR5-NEXT: mulld 3, 3, 9
13990 ; PWR5-NEXT: and 4, 4, 7
13991 ; PWR5-NEXT: rldicl 3, 3, 8, 56
13992 ; PWR5-NEXT: mulld 4, 4, 9
13993 ; PWR5-NEXT: li 5, 9
13994 ; PWR5-NEXT: subfic 3, 3, 9
13995 ; PWR5-NEXT: rldicl 4, 4, 8, 56
13996 ; PWR5-NEXT: subfe 3, 5, 5
13997 ; PWR5-NEXT: subfic 4, 4, 9
13998 ; PWR5-NEXT: subfe 4, 5, 5
13999 ; PWR5-NEXT: blr
14003 ; PWR6-NEXT: lis 5, 21845
14004 ; PWR6-NEXT: lis 6, 13107
14005 ; PWR6-NEXT: ori 5, 5, 21845
14006 ; PWR6-NEXT: rotldi 8, 4, 63
14007 ; PWR6-NEXT: rotldi 9, 3, 63
14008 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14009 ; PWR6-NEXT: and 8, 8, 5
14010 ; PWR6-NEXT: and 5, 9, 5
14011 ; PWR6-NEXT: ori 6, 6, 13107
14012 ; PWR6-NEXT: sub 3, 3, 5
14013 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14014 ; PWR6-NEXT: sub 4, 4, 8
14015 ; PWR6-NEXT: and 8, 3, 6
14016 ; PWR6-NEXT: rotldi 3, 3, 62
14017 ; PWR6-NEXT: and 3, 3, 6
14018 ; PWR6-NEXT: lis 7, 3855
14019 ; PWR6-NEXT: and 5, 4, 6
14020 ; PWR6-NEXT: rotldi 4, 4, 62
14021 ; PWR6-NEXT: add 3, 8, 3
14022 ; PWR6-NEXT: lis 9, 257
14023 ; PWR6-NEXT: ori 7, 7, 3855
14024 ; PWR6-NEXT: and 4, 4, 6
14025 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14026 ; PWR6-NEXT: ori 9, 9, 257
14027 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14028 ; PWR6-NEXT: add 4, 5, 4
14029 ; PWR6-NEXT: add 3, 3, 6
14030 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14031 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14032 ; PWR6-NEXT: and 3, 3, 7
14033 ; PWR6-NEXT: add 4, 4, 5
14034 ; PWR6-NEXT: mulld 3, 3, 9
14035 ; PWR6-NEXT: and 4, 4, 7
14036 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14037 ; PWR6-NEXT: mulld 4, 4, 9
14038 ; PWR6-NEXT: li 5, 9
14039 ; PWR6-NEXT: subfic 3, 3, 9
14040 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14041 ; PWR6-NEXT: subfe 3, 5, 5
14042 ; PWR6-NEXT: subfic 4, 4, 9
14043 ; PWR6-NEXT: subfe 4, 5, 5
14044 ; PWR6-NEXT: blr
14048 ; PWR7-NEXT: addi 3, 1, -32
14049 ; PWR7-NEXT: li 5, 0
14050 ; PWR7-NEXT: li 6, -1
14051 ; PWR7-NEXT: stxvd2x 34, 0, 3
14052 ; PWR7-NEXT: ld 3, -24(1)
14053 ; PWR7-NEXT: ld 4, -32(1)
14054 ; PWR7-NEXT: popcntd 3, 3
14055 ; PWR7-NEXT: popcntd 4, 4
14056 ; PWR7-NEXT: cmpldi 3, 9
14057 ; PWR7-NEXT: iselgt 3, 6, 5
14058 ; PWR7-NEXT: cmpldi 4, 9
14059 ; PWR7-NEXT: iselgt 4, 6, 5
14060 ; PWR7-NEXT: std 3, -8(1)
14061 ; PWR7-NEXT: addi 3, 1, -16
14062 ; PWR7-NEXT: std 4, -16(1)
14063 ; PWR7-NEXT: lxvd2x 34, 0, 3
14064 ; PWR7-NEXT: blr
14068 ; PWR8-NEXT: addis 3, 2, .LCPI116_0@toc@ha
14069 ; PWR8-NEXT: vpopcntd 2, 2
14070 ; PWR8-NEXT: addi 3, 3, .LCPI116_0@toc@l
14071 ; PWR8-NEXT: lxvd2x 35, 0, 3
14072 ; PWR8-NEXT: vcmpgtud 2, 2, 3
14073 ; PWR8-NEXT: blr
14077 ; PWR9-NEXT: addis 3, 2, .LCPI116_0@toc@ha
14078 ; PWR9-NEXT: vpopcntd 2, 2
14079 ; PWR9-NEXT: addi 3, 3, .LCPI116_0@toc@l
14080 ; PWR9-NEXT: lxvx 35, 0, 3
14081 ; PWR9-NEXT: vcmpgtud 2, 2, 3
14082 ; PWR9-NEXT: blr
14092 ; PWR5-NEXT: lis 5, 21845
14093 ; PWR5-NEXT: lis 6, 13107
14094 ; PWR5-NEXT: ori 5, 5, 21845
14095 ; PWR5-NEXT: rotldi 8, 4, 63
14096 ; PWR5-NEXT: rotldi 9, 3, 63
14097 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14098 ; PWR5-NEXT: and 8, 8, 5
14099 ; PWR5-NEXT: and 5, 9, 5
14100 ; PWR5-NEXT: ori 6, 6, 13107
14101 ; PWR5-NEXT: sub 3, 3, 5
14102 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14103 ; PWR5-NEXT: sub 4, 4, 8
14104 ; PWR5-NEXT: and 8, 3, 6
14105 ; PWR5-NEXT: rotldi 3, 3, 62
14106 ; PWR5-NEXT: and 3, 3, 6
14107 ; PWR5-NEXT: lis 7, 3855
14108 ; PWR5-NEXT: and 5, 4, 6
14109 ; PWR5-NEXT: rotldi 4, 4, 62
14110 ; PWR5-NEXT: add 3, 8, 3
14111 ; PWR5-NEXT: lis 9, 257
14112 ; PWR5-NEXT: ori 7, 7, 3855
14113 ; PWR5-NEXT: and 4, 4, 6
14114 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14115 ; PWR5-NEXT: ori 9, 9, 257
14116 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14117 ; PWR5-NEXT: add 4, 5, 4
14118 ; PWR5-NEXT: add 3, 3, 6
14119 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14120 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14121 ; PWR5-NEXT: and 3, 3, 7
14122 ; PWR5-NEXT: add 4, 4, 5
14123 ; PWR5-NEXT: mulld 3, 3, 9
14124 ; PWR5-NEXT: and 4, 4, 7
14125 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14126 ; PWR5-NEXT: li 5, 10
14127 ; PWR5-NEXT: mulld 4, 4, 9
14128 ; PWR5-NEXT: subc 6, 3, 5
14129 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14130 ; PWR5-NEXT: subfe 3, 3, 3
14131 ; PWR5-NEXT: subc 5, 4, 5
14132 ; PWR5-NEXT: subfe 4, 4, 4
14133 ; PWR5-NEXT: blr
14137 ; PWR6-NEXT: lis 5, 21845
14138 ; PWR6-NEXT: lis 6, 13107
14139 ; PWR6-NEXT: ori 5, 5, 21845
14140 ; PWR6-NEXT: rotldi 8, 4, 63
14141 ; PWR6-NEXT: rotldi 9, 3, 63
14142 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14143 ; PWR6-NEXT: and 8, 8, 5
14144 ; PWR6-NEXT: and 5, 9, 5
14145 ; PWR6-NEXT: ori 6, 6, 13107
14146 ; PWR6-NEXT: sub 3, 3, 5
14147 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14148 ; PWR6-NEXT: sub 4, 4, 8
14149 ; PWR6-NEXT: and 8, 3, 6
14150 ; PWR6-NEXT: rotldi 3, 3, 62
14151 ; PWR6-NEXT: and 3, 3, 6
14152 ; PWR6-NEXT: lis 7, 3855
14153 ; PWR6-NEXT: and 5, 4, 6
14154 ; PWR6-NEXT: rotldi 4, 4, 62
14155 ; PWR6-NEXT: add 3, 8, 3
14156 ; PWR6-NEXT: lis 9, 257
14157 ; PWR6-NEXT: ori 7, 7, 3855
14158 ; PWR6-NEXT: and 4, 4, 6
14159 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14160 ; PWR6-NEXT: ori 9, 9, 257
14161 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14162 ; PWR6-NEXT: add 4, 5, 4
14163 ; PWR6-NEXT: add 3, 3, 6
14164 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14165 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14166 ; PWR6-NEXT: and 3, 3, 7
14167 ; PWR6-NEXT: add 4, 4, 5
14168 ; PWR6-NEXT: mulld 3, 3, 9
14169 ; PWR6-NEXT: and 4, 4, 7
14170 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14171 ; PWR6-NEXT: li 5, 10
14172 ; PWR6-NEXT: mulld 4, 4, 9
14173 ; PWR6-NEXT: subc 6, 3, 5
14174 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14175 ; PWR6-NEXT: subfe 3, 3, 3
14176 ; PWR6-NEXT: subc 5, 4, 5
14177 ; PWR6-NEXT: subfe 4, 4, 4
14178 ; PWR6-NEXT: blr
14182 ; PWR7-NEXT: addi 3, 1, -32
14183 ; PWR7-NEXT: li 5, 0
14184 ; PWR7-NEXT: li 6, -1
14185 ; PWR7-NEXT: stxvd2x 34, 0, 3
14186 ; PWR7-NEXT: ld 3, -24(1)
14187 ; PWR7-NEXT: ld 4, -32(1)
14188 ; PWR7-NEXT: popcntd 3, 3
14189 ; PWR7-NEXT: popcntd 4, 4
14190 ; PWR7-NEXT: cmpldi 3, 10
14191 ; PWR7-NEXT: isellt 3, 6, 5
14192 ; PWR7-NEXT: cmpldi 4, 10
14193 ; PWR7-NEXT: isellt 4, 6, 5
14194 ; PWR7-NEXT: std 3, -8(1)
14195 ; PWR7-NEXT: addi 3, 1, -16
14196 ; PWR7-NEXT: std 4, -16(1)
14197 ; PWR7-NEXT: lxvd2x 34, 0, 3
14198 ; PWR7-NEXT: blr
14202 ; PWR8-NEXT: addis 3, 2, .LCPI117_0@toc@ha
14203 ; PWR8-NEXT: vpopcntd 2, 2
14204 ; PWR8-NEXT: addi 3, 3, .LCPI117_0@toc@l
14205 ; PWR8-NEXT: lxvd2x 35, 0, 3
14206 ; PWR8-NEXT: vcmpgtud 2, 3, 2
14207 ; PWR8-NEXT: blr
14211 ; PWR9-NEXT: addis 3, 2, .LCPI117_0@toc@ha
14212 ; PWR9-NEXT: vpopcntd 2, 2
14213 ; PWR9-NEXT: addi 3, 3, .LCPI117_0@toc@l
14214 ; PWR9-NEXT: lxvx 35, 0, 3
14215 ; PWR9-NEXT: vcmpgtud 2, 3, 2
14216 ; PWR9-NEXT: blr
14226 ; PWR5-NEXT: lis 5, 21845
14227 ; PWR5-NEXT: lis 6, 13107
14228 ; PWR5-NEXT: ori 5, 5, 21845
14229 ; PWR5-NEXT: rotldi 8, 4, 63
14230 ; PWR5-NEXT: rotldi 9, 3, 63
14231 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14232 ; PWR5-NEXT: and 8, 8, 5
14233 ; PWR5-NEXT: and 5, 9, 5
14234 ; PWR5-NEXT: ori 6, 6, 13107
14235 ; PWR5-NEXT: sub 3, 3, 5
14236 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14237 ; PWR5-NEXT: sub 4, 4, 8
14238 ; PWR5-NEXT: and 8, 3, 6
14239 ; PWR5-NEXT: rotldi 3, 3, 62
14240 ; PWR5-NEXT: and 3, 3, 6
14241 ; PWR5-NEXT: lis 7, 3855
14242 ; PWR5-NEXT: and 5, 4, 6
14243 ; PWR5-NEXT: rotldi 4, 4, 62
14244 ; PWR5-NEXT: add 3, 8, 3
14245 ; PWR5-NEXT: lis 9, 257
14246 ; PWR5-NEXT: ori 7, 7, 3855
14247 ; PWR5-NEXT: and 4, 4, 6
14248 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14249 ; PWR5-NEXT: ori 9, 9, 257
14250 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14251 ; PWR5-NEXT: add 4, 5, 4
14252 ; PWR5-NEXT: add 3, 3, 6
14253 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14254 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14255 ; PWR5-NEXT: and 3, 3, 7
14256 ; PWR5-NEXT: add 4, 4, 5
14257 ; PWR5-NEXT: mulld 3, 3, 9
14258 ; PWR5-NEXT: and 4, 4, 7
14259 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14260 ; PWR5-NEXT: mulld 4, 4, 9
14261 ; PWR5-NEXT: li 5, 10
14262 ; PWR5-NEXT: subfic 3, 3, 10
14263 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14264 ; PWR5-NEXT: subfe 3, 5, 5
14265 ; PWR5-NEXT: subfic 4, 4, 10
14266 ; PWR5-NEXT: subfe 4, 5, 5
14267 ; PWR5-NEXT: blr
14271 ; PWR6-NEXT: lis 5, 21845
14272 ; PWR6-NEXT: lis 6, 13107
14273 ; PWR6-NEXT: ori 5, 5, 21845
14274 ; PWR6-NEXT: rotldi 8, 4, 63
14275 ; PWR6-NEXT: rotldi 9, 3, 63
14276 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14277 ; PWR6-NEXT: and 8, 8, 5
14278 ; PWR6-NEXT: and 5, 9, 5
14279 ; PWR6-NEXT: ori 6, 6, 13107
14280 ; PWR6-NEXT: sub 3, 3, 5
14281 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14282 ; PWR6-NEXT: sub 4, 4, 8
14283 ; PWR6-NEXT: and 8, 3, 6
14284 ; PWR6-NEXT: rotldi 3, 3, 62
14285 ; PWR6-NEXT: and 3, 3, 6
14286 ; PWR6-NEXT: lis 7, 3855
14287 ; PWR6-NEXT: and 5, 4, 6
14288 ; PWR6-NEXT: rotldi 4, 4, 62
14289 ; PWR6-NEXT: add 3, 8, 3
14290 ; PWR6-NEXT: lis 9, 257
14291 ; PWR6-NEXT: ori 7, 7, 3855
14292 ; PWR6-NEXT: and 4, 4, 6
14293 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14294 ; PWR6-NEXT: ori 9, 9, 257
14295 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14296 ; PWR6-NEXT: add 4, 5, 4
14297 ; PWR6-NEXT: add 3, 3, 6
14298 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14299 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14300 ; PWR6-NEXT: and 3, 3, 7
14301 ; PWR6-NEXT: add 4, 4, 5
14302 ; PWR6-NEXT: mulld 3, 3, 9
14303 ; PWR6-NEXT: and 4, 4, 7
14304 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14305 ; PWR6-NEXT: mulld 4, 4, 9
14306 ; PWR6-NEXT: li 5, 10
14307 ; PWR6-NEXT: subfic 3, 3, 10
14308 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14309 ; PWR6-NEXT: subfe 3, 5, 5
14310 ; PWR6-NEXT: subfic 4, 4, 10
14311 ; PWR6-NEXT: subfe 4, 5, 5
14312 ; PWR6-NEXT: blr
14316 ; PWR7-NEXT: addi 3, 1, -32
14317 ; PWR7-NEXT: li 5, 0
14318 ; PWR7-NEXT: li 6, -1
14319 ; PWR7-NEXT: stxvd2x 34, 0, 3
14320 ; PWR7-NEXT: ld 3, -24(1)
14321 ; PWR7-NEXT: ld 4, -32(1)
14322 ; PWR7-NEXT: popcntd 3, 3
14323 ; PWR7-NEXT: popcntd 4, 4
14324 ; PWR7-NEXT: cmpldi 3, 10
14325 ; PWR7-NEXT: iselgt 3, 6, 5
14326 ; PWR7-NEXT: cmpldi 4, 10
14327 ; PWR7-NEXT: iselgt 4, 6, 5
14328 ; PWR7-NEXT: std 3, -8(1)
14329 ; PWR7-NEXT: addi 3, 1, -16
14330 ; PWR7-NEXT: std 4, -16(1)
14331 ; PWR7-NEXT: lxvd2x 34, 0, 3
14332 ; PWR7-NEXT: blr
14336 ; PWR8-NEXT: addis 3, 2, .LCPI118_0@toc@ha
14337 ; PWR8-NEXT: vpopcntd 2, 2
14338 ; PWR8-NEXT: addi 3, 3, .LCPI118_0@toc@l
14339 ; PWR8-NEXT: lxvd2x 35, 0, 3
14340 ; PWR8-NEXT: vcmpgtud 2, 2, 3
14341 ; PWR8-NEXT: blr
14345 ; PWR9-NEXT: addis 3, 2, .LCPI118_0@toc@ha
14346 ; PWR9-NEXT: vpopcntd 2, 2
14347 ; PWR9-NEXT: addi 3, 3, .LCPI118_0@toc@l
14348 ; PWR9-NEXT: lxvx 35, 0, 3
14349 ; PWR9-NEXT: vcmpgtud 2, 2, 3
14350 ; PWR9-NEXT: blr
14360 ; PWR5-NEXT: lis 5, 21845
14361 ; PWR5-NEXT: lis 6, 13107
14362 ; PWR5-NEXT: ori 5, 5, 21845
14363 ; PWR5-NEXT: rotldi 8, 4, 63
14364 ; PWR5-NEXT: rotldi 9, 3, 63
14365 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14366 ; PWR5-NEXT: and 8, 8, 5
14367 ; PWR5-NEXT: and 5, 9, 5
14368 ; PWR5-NEXT: ori 6, 6, 13107
14369 ; PWR5-NEXT: sub 3, 3, 5
14370 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14371 ; PWR5-NEXT: sub 4, 4, 8
14372 ; PWR5-NEXT: and 8, 3, 6
14373 ; PWR5-NEXT: rotldi 3, 3, 62
14374 ; PWR5-NEXT: and 3, 3, 6
14375 ; PWR5-NEXT: lis 7, 3855
14376 ; PWR5-NEXT: and 5, 4, 6
14377 ; PWR5-NEXT: rotldi 4, 4, 62
14378 ; PWR5-NEXT: add 3, 8, 3
14379 ; PWR5-NEXT: lis 9, 257
14380 ; PWR5-NEXT: ori 7, 7, 3855
14381 ; PWR5-NEXT: and 4, 4, 6
14382 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14383 ; PWR5-NEXT: ori 9, 9, 257
14384 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14385 ; PWR5-NEXT: add 4, 5, 4
14386 ; PWR5-NEXT: add 3, 3, 6
14387 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14388 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14389 ; PWR5-NEXT: and 3, 3, 7
14390 ; PWR5-NEXT: add 4, 4, 5
14391 ; PWR5-NEXT: mulld 3, 3, 9
14392 ; PWR5-NEXT: and 4, 4, 7
14393 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14394 ; PWR5-NEXT: li 5, 11
14395 ; PWR5-NEXT: mulld 4, 4, 9
14396 ; PWR5-NEXT: subc 6, 3, 5
14397 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14398 ; PWR5-NEXT: subfe 3, 3, 3
14399 ; PWR5-NEXT: subc 5, 4, 5
14400 ; PWR5-NEXT: subfe 4, 4, 4
14401 ; PWR5-NEXT: blr
14405 ; PWR6-NEXT: lis 5, 21845
14406 ; PWR6-NEXT: lis 6, 13107
14407 ; PWR6-NEXT: ori 5, 5, 21845
14408 ; PWR6-NEXT: rotldi 8, 4, 63
14409 ; PWR6-NEXT: rotldi 9, 3, 63
14410 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14411 ; PWR6-NEXT: and 8, 8, 5
14412 ; PWR6-NEXT: and 5, 9, 5
14413 ; PWR6-NEXT: ori 6, 6, 13107
14414 ; PWR6-NEXT: sub 3, 3, 5
14415 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14416 ; PWR6-NEXT: sub 4, 4, 8
14417 ; PWR6-NEXT: and 8, 3, 6
14418 ; PWR6-NEXT: rotldi 3, 3, 62
14419 ; PWR6-NEXT: and 3, 3, 6
14420 ; PWR6-NEXT: lis 7, 3855
14421 ; PWR6-NEXT: and 5, 4, 6
14422 ; PWR6-NEXT: rotldi 4, 4, 62
14423 ; PWR6-NEXT: add 3, 8, 3
14424 ; PWR6-NEXT: lis 9, 257
14425 ; PWR6-NEXT: ori 7, 7, 3855
14426 ; PWR6-NEXT: and 4, 4, 6
14427 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14428 ; PWR6-NEXT: ori 9, 9, 257
14429 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14430 ; PWR6-NEXT: add 4, 5, 4
14431 ; PWR6-NEXT: add 3, 3, 6
14432 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14433 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14434 ; PWR6-NEXT: and 3, 3, 7
14435 ; PWR6-NEXT: add 4, 4, 5
14436 ; PWR6-NEXT: mulld 3, 3, 9
14437 ; PWR6-NEXT: and 4, 4, 7
14438 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14439 ; PWR6-NEXT: li 5, 11
14440 ; PWR6-NEXT: mulld 4, 4, 9
14441 ; PWR6-NEXT: subc 6, 3, 5
14442 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14443 ; PWR6-NEXT: subfe 3, 3, 3
14444 ; PWR6-NEXT: subc 5, 4, 5
14445 ; PWR6-NEXT: subfe 4, 4, 4
14446 ; PWR6-NEXT: blr
14450 ; PWR7-NEXT: addi 3, 1, -32
14451 ; PWR7-NEXT: li 5, 0
14452 ; PWR7-NEXT: li 6, -1
14453 ; PWR7-NEXT: stxvd2x 34, 0, 3
14454 ; PWR7-NEXT: ld 3, -24(1)
14455 ; PWR7-NEXT: ld 4, -32(1)
14456 ; PWR7-NEXT: popcntd 3, 3
14457 ; PWR7-NEXT: popcntd 4, 4
14458 ; PWR7-NEXT: cmpldi 3, 11
14459 ; PWR7-NEXT: isellt 3, 6, 5
14460 ; PWR7-NEXT: cmpldi 4, 11
14461 ; PWR7-NEXT: isellt 4, 6, 5
14462 ; PWR7-NEXT: std 3, -8(1)
14463 ; PWR7-NEXT: addi 3, 1, -16
14464 ; PWR7-NEXT: std 4, -16(1)
14465 ; PWR7-NEXT: lxvd2x 34, 0, 3
14466 ; PWR7-NEXT: blr
14470 ; PWR8-NEXT: addis 3, 2, .LCPI119_0@toc@ha
14471 ; PWR8-NEXT: vpopcntd 2, 2
14472 ; PWR8-NEXT: addi 3, 3, .LCPI119_0@toc@l
14473 ; PWR8-NEXT: lxvd2x 35, 0, 3
14474 ; PWR8-NEXT: vcmpgtud 2, 3, 2
14475 ; PWR8-NEXT: blr
14479 ; PWR9-NEXT: addis 3, 2, .LCPI119_0@toc@ha
14480 ; PWR9-NEXT: vpopcntd 2, 2
14481 ; PWR9-NEXT: addi 3, 3, .LCPI119_0@toc@l
14482 ; PWR9-NEXT: lxvx 35, 0, 3
14483 ; PWR9-NEXT: vcmpgtud 2, 3, 2
14484 ; PWR9-NEXT: blr
14494 ; PWR5-NEXT: lis 5, 21845
14495 ; PWR5-NEXT: lis 6, 13107
14496 ; PWR5-NEXT: ori 5, 5, 21845
14497 ; PWR5-NEXT: rotldi 8, 4, 63
14498 ; PWR5-NEXT: rotldi 9, 3, 63
14499 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14500 ; PWR5-NEXT: and 8, 8, 5
14501 ; PWR5-NEXT: and 5, 9, 5
14502 ; PWR5-NEXT: ori 6, 6, 13107
14503 ; PWR5-NEXT: sub 3, 3, 5
14504 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14505 ; PWR5-NEXT: sub 4, 4, 8
14506 ; PWR5-NEXT: and 8, 3, 6
14507 ; PWR5-NEXT: rotldi 3, 3, 62
14508 ; PWR5-NEXT: and 3, 3, 6
14509 ; PWR5-NEXT: lis 7, 3855
14510 ; PWR5-NEXT: and 5, 4, 6
14511 ; PWR5-NEXT: rotldi 4, 4, 62
14512 ; PWR5-NEXT: add 3, 8, 3
14513 ; PWR5-NEXT: lis 9, 257
14514 ; PWR5-NEXT: ori 7, 7, 3855
14515 ; PWR5-NEXT: and 4, 4, 6
14516 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14517 ; PWR5-NEXT: ori 9, 9, 257
14518 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14519 ; PWR5-NEXT: add 4, 5, 4
14520 ; PWR5-NEXT: add 3, 3, 6
14521 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14522 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14523 ; PWR5-NEXT: and 3, 3, 7
14524 ; PWR5-NEXT: add 4, 4, 5
14525 ; PWR5-NEXT: mulld 3, 3, 9
14526 ; PWR5-NEXT: and 4, 4, 7
14527 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14528 ; PWR5-NEXT: mulld 4, 4, 9
14529 ; PWR5-NEXT: li 5, 11
14530 ; PWR5-NEXT: subfic 3, 3, 11
14531 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14532 ; PWR5-NEXT: subfe 3, 5, 5
14533 ; PWR5-NEXT: subfic 4, 4, 11
14534 ; PWR5-NEXT: subfe 4, 5, 5
14535 ; PWR5-NEXT: blr
14539 ; PWR6-NEXT: lis 5, 21845
14540 ; PWR6-NEXT: lis 6, 13107
14541 ; PWR6-NEXT: ori 5, 5, 21845
14542 ; PWR6-NEXT: rotldi 8, 4, 63
14543 ; PWR6-NEXT: rotldi 9, 3, 63
14544 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14545 ; PWR6-NEXT: and 8, 8, 5
14546 ; PWR6-NEXT: and 5, 9, 5
14547 ; PWR6-NEXT: ori 6, 6, 13107
14548 ; PWR6-NEXT: sub 3, 3, 5
14549 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14550 ; PWR6-NEXT: sub 4, 4, 8
14551 ; PWR6-NEXT: and 8, 3, 6
14552 ; PWR6-NEXT: rotldi 3, 3, 62
14553 ; PWR6-NEXT: and 3, 3, 6
14554 ; PWR6-NEXT: lis 7, 3855
14555 ; PWR6-NEXT: and 5, 4, 6
14556 ; PWR6-NEXT: rotldi 4, 4, 62
14557 ; PWR6-NEXT: add 3, 8, 3
14558 ; PWR6-NEXT: lis 9, 257
14559 ; PWR6-NEXT: ori 7, 7, 3855
14560 ; PWR6-NEXT: and 4, 4, 6
14561 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14562 ; PWR6-NEXT: ori 9, 9, 257
14563 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14564 ; PWR6-NEXT: add 4, 5, 4
14565 ; PWR6-NEXT: add 3, 3, 6
14566 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14567 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14568 ; PWR6-NEXT: and 3, 3, 7
14569 ; PWR6-NEXT: add 4, 4, 5
14570 ; PWR6-NEXT: mulld 3, 3, 9
14571 ; PWR6-NEXT: and 4, 4, 7
14572 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14573 ; PWR6-NEXT: mulld 4, 4, 9
14574 ; PWR6-NEXT: li 5, 11
14575 ; PWR6-NEXT: subfic 3, 3, 11
14576 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14577 ; PWR6-NEXT: subfe 3, 5, 5
14578 ; PWR6-NEXT: subfic 4, 4, 11
14579 ; PWR6-NEXT: subfe 4, 5, 5
14580 ; PWR6-NEXT: blr
14584 ; PWR7-NEXT: addi 3, 1, -32
14585 ; PWR7-NEXT: li 5, 0
14586 ; PWR7-NEXT: li 6, -1
14587 ; PWR7-NEXT: stxvd2x 34, 0, 3
14588 ; PWR7-NEXT: ld 3, -24(1)
14589 ; PWR7-NEXT: ld 4, -32(1)
14590 ; PWR7-NEXT: popcntd 3, 3
14591 ; PWR7-NEXT: popcntd 4, 4
14592 ; PWR7-NEXT: cmpldi 3, 11
14593 ; PWR7-NEXT: iselgt 3, 6, 5
14594 ; PWR7-NEXT: cmpldi 4, 11
14595 ; PWR7-NEXT: iselgt 4, 6, 5
14596 ; PWR7-NEXT: std 3, -8(1)
14597 ; PWR7-NEXT: addi 3, 1, -16
14598 ; PWR7-NEXT: std 4, -16(1)
14599 ; PWR7-NEXT: lxvd2x 34, 0, 3
14600 ; PWR7-NEXT: blr
14604 ; PWR8-NEXT: addis 3, 2, .LCPI120_0@toc@ha
14605 ; PWR8-NEXT: vpopcntd 2, 2
14606 ; PWR8-NEXT: addi 3, 3, .LCPI120_0@toc@l
14607 ; PWR8-NEXT: lxvd2x 35, 0, 3
14608 ; PWR8-NEXT: vcmpgtud 2, 2, 3
14609 ; PWR8-NEXT: blr
14613 ; PWR9-NEXT: addis 3, 2, .LCPI120_0@toc@ha
14614 ; PWR9-NEXT: vpopcntd 2, 2
14615 ; PWR9-NEXT: addi 3, 3, .LCPI120_0@toc@l
14616 ; PWR9-NEXT: lxvx 35, 0, 3
14617 ; PWR9-NEXT: vcmpgtud 2, 2, 3
14618 ; PWR9-NEXT: blr
14628 ; PWR5-NEXT: lis 5, 21845
14629 ; PWR5-NEXT: lis 6, 13107
14630 ; PWR5-NEXT: ori 5, 5, 21845
14631 ; PWR5-NEXT: rotldi 8, 4, 63
14632 ; PWR5-NEXT: rotldi 9, 3, 63
14633 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14634 ; PWR5-NEXT: and 8, 8, 5
14635 ; PWR5-NEXT: and 5, 9, 5
14636 ; PWR5-NEXT: ori 6, 6, 13107
14637 ; PWR5-NEXT: sub 3, 3, 5
14638 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14639 ; PWR5-NEXT: sub 4, 4, 8
14640 ; PWR5-NEXT: and 8, 3, 6
14641 ; PWR5-NEXT: rotldi 3, 3, 62
14642 ; PWR5-NEXT: and 3, 3, 6
14643 ; PWR5-NEXT: lis 7, 3855
14644 ; PWR5-NEXT: and 5, 4, 6
14645 ; PWR5-NEXT: rotldi 4, 4, 62
14646 ; PWR5-NEXT: add 3, 8, 3
14647 ; PWR5-NEXT: lis 9, 257
14648 ; PWR5-NEXT: ori 7, 7, 3855
14649 ; PWR5-NEXT: and 4, 4, 6
14650 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14651 ; PWR5-NEXT: ori 9, 9, 257
14652 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14653 ; PWR5-NEXT: add 4, 5, 4
14654 ; PWR5-NEXT: add 3, 3, 6
14655 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14656 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14657 ; PWR5-NEXT: and 3, 3, 7
14658 ; PWR5-NEXT: add 4, 4, 5
14659 ; PWR5-NEXT: mulld 3, 3, 9
14660 ; PWR5-NEXT: and 4, 4, 7
14661 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14662 ; PWR5-NEXT: li 5, 12
14663 ; PWR5-NEXT: mulld 4, 4, 9
14664 ; PWR5-NEXT: subc 6, 3, 5
14665 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14666 ; PWR5-NEXT: subfe 3, 3, 3
14667 ; PWR5-NEXT: subc 5, 4, 5
14668 ; PWR5-NEXT: subfe 4, 4, 4
14669 ; PWR5-NEXT: blr
14673 ; PWR6-NEXT: lis 5, 21845
14674 ; PWR6-NEXT: lis 6, 13107
14675 ; PWR6-NEXT: ori 5, 5, 21845
14676 ; PWR6-NEXT: rotldi 8, 4, 63
14677 ; PWR6-NEXT: rotldi 9, 3, 63
14678 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14679 ; PWR6-NEXT: and 8, 8, 5
14680 ; PWR6-NEXT: and 5, 9, 5
14681 ; PWR6-NEXT: ori 6, 6, 13107
14682 ; PWR6-NEXT: sub 3, 3, 5
14683 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14684 ; PWR6-NEXT: sub 4, 4, 8
14685 ; PWR6-NEXT: and 8, 3, 6
14686 ; PWR6-NEXT: rotldi 3, 3, 62
14687 ; PWR6-NEXT: and 3, 3, 6
14688 ; PWR6-NEXT: lis 7, 3855
14689 ; PWR6-NEXT: and 5, 4, 6
14690 ; PWR6-NEXT: rotldi 4, 4, 62
14691 ; PWR6-NEXT: add 3, 8, 3
14692 ; PWR6-NEXT: lis 9, 257
14693 ; PWR6-NEXT: ori 7, 7, 3855
14694 ; PWR6-NEXT: and 4, 4, 6
14695 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14696 ; PWR6-NEXT: ori 9, 9, 257
14697 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14698 ; PWR6-NEXT: add 4, 5, 4
14699 ; PWR6-NEXT: add 3, 3, 6
14700 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14701 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14702 ; PWR6-NEXT: and 3, 3, 7
14703 ; PWR6-NEXT: add 4, 4, 5
14704 ; PWR6-NEXT: mulld 3, 3, 9
14705 ; PWR6-NEXT: and 4, 4, 7
14706 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14707 ; PWR6-NEXT: li 5, 12
14708 ; PWR6-NEXT: mulld 4, 4, 9
14709 ; PWR6-NEXT: subc 6, 3, 5
14710 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14711 ; PWR6-NEXT: subfe 3, 3, 3
14712 ; PWR6-NEXT: subc 5, 4, 5
14713 ; PWR6-NEXT: subfe 4, 4, 4
14714 ; PWR6-NEXT: blr
14718 ; PWR7-NEXT: addi 3, 1, -32
14719 ; PWR7-NEXT: li 5, 0
14720 ; PWR7-NEXT: li 6, -1
14721 ; PWR7-NEXT: stxvd2x 34, 0, 3
14722 ; PWR7-NEXT: ld 3, -24(1)
14723 ; PWR7-NEXT: ld 4, -32(1)
14724 ; PWR7-NEXT: popcntd 3, 3
14725 ; PWR7-NEXT: popcntd 4, 4
14726 ; PWR7-NEXT: cmpldi 3, 12
14727 ; PWR7-NEXT: isellt 3, 6, 5
14728 ; PWR7-NEXT: cmpldi 4, 12
14729 ; PWR7-NEXT: isellt 4, 6, 5
14730 ; PWR7-NEXT: std 3, -8(1)
14731 ; PWR7-NEXT: addi 3, 1, -16
14732 ; PWR7-NEXT: std 4, -16(1)
14733 ; PWR7-NEXT: lxvd2x 34, 0, 3
14734 ; PWR7-NEXT: blr
14738 ; PWR8-NEXT: addis 3, 2, .LCPI121_0@toc@ha
14739 ; PWR8-NEXT: vpopcntd 2, 2
14740 ; PWR8-NEXT: addi 3, 3, .LCPI121_0@toc@l
14741 ; PWR8-NEXT: lxvd2x 35, 0, 3
14742 ; PWR8-NEXT: vcmpgtud 2, 3, 2
14743 ; PWR8-NEXT: blr
14747 ; PWR9-NEXT: addis 3, 2, .LCPI121_0@toc@ha
14748 ; PWR9-NEXT: vpopcntd 2, 2
14749 ; PWR9-NEXT: addi 3, 3, .LCPI121_0@toc@l
14750 ; PWR9-NEXT: lxvx 35, 0, 3
14751 ; PWR9-NEXT: vcmpgtud 2, 3, 2
14752 ; PWR9-NEXT: blr
14762 ; PWR5-NEXT: lis 5, 21845
14763 ; PWR5-NEXT: lis 6, 13107
14764 ; PWR5-NEXT: ori 5, 5, 21845
14765 ; PWR5-NEXT: rotldi 8, 4, 63
14766 ; PWR5-NEXT: rotldi 9, 3, 63
14767 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14768 ; PWR5-NEXT: and 8, 8, 5
14769 ; PWR5-NEXT: and 5, 9, 5
14770 ; PWR5-NEXT: ori 6, 6, 13107
14771 ; PWR5-NEXT: sub 3, 3, 5
14772 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14773 ; PWR5-NEXT: sub 4, 4, 8
14774 ; PWR5-NEXT: and 8, 3, 6
14775 ; PWR5-NEXT: rotldi 3, 3, 62
14776 ; PWR5-NEXT: and 3, 3, 6
14777 ; PWR5-NEXT: lis 7, 3855
14778 ; PWR5-NEXT: and 5, 4, 6
14779 ; PWR5-NEXT: rotldi 4, 4, 62
14780 ; PWR5-NEXT: add 3, 8, 3
14781 ; PWR5-NEXT: lis 9, 257
14782 ; PWR5-NEXT: ori 7, 7, 3855
14783 ; PWR5-NEXT: and 4, 4, 6
14784 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14785 ; PWR5-NEXT: ori 9, 9, 257
14786 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14787 ; PWR5-NEXT: add 4, 5, 4
14788 ; PWR5-NEXT: add 3, 3, 6
14789 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14790 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14791 ; PWR5-NEXT: and 3, 3, 7
14792 ; PWR5-NEXT: add 4, 4, 5
14793 ; PWR5-NEXT: mulld 3, 3, 9
14794 ; PWR5-NEXT: and 4, 4, 7
14795 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14796 ; PWR5-NEXT: mulld 4, 4, 9
14797 ; PWR5-NEXT: li 5, 12
14798 ; PWR5-NEXT: subfic 3, 3, 12
14799 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14800 ; PWR5-NEXT: subfe 3, 5, 5
14801 ; PWR5-NEXT: subfic 4, 4, 12
14802 ; PWR5-NEXT: subfe 4, 5, 5
14803 ; PWR5-NEXT: blr
14807 ; PWR6-NEXT: lis 5, 21845
14808 ; PWR6-NEXT: lis 6, 13107
14809 ; PWR6-NEXT: ori 5, 5, 21845
14810 ; PWR6-NEXT: rotldi 8, 4, 63
14811 ; PWR6-NEXT: rotldi 9, 3, 63
14812 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14813 ; PWR6-NEXT: and 8, 8, 5
14814 ; PWR6-NEXT: and 5, 9, 5
14815 ; PWR6-NEXT: ori 6, 6, 13107
14816 ; PWR6-NEXT: sub 3, 3, 5
14817 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14818 ; PWR6-NEXT: sub 4, 4, 8
14819 ; PWR6-NEXT: and 8, 3, 6
14820 ; PWR6-NEXT: rotldi 3, 3, 62
14821 ; PWR6-NEXT: and 3, 3, 6
14822 ; PWR6-NEXT: lis 7, 3855
14823 ; PWR6-NEXT: and 5, 4, 6
14824 ; PWR6-NEXT: rotldi 4, 4, 62
14825 ; PWR6-NEXT: add 3, 8, 3
14826 ; PWR6-NEXT: lis 9, 257
14827 ; PWR6-NEXT: ori 7, 7, 3855
14828 ; PWR6-NEXT: and 4, 4, 6
14829 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14830 ; PWR6-NEXT: ori 9, 9, 257
14831 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14832 ; PWR6-NEXT: add 4, 5, 4
14833 ; PWR6-NEXT: add 3, 3, 6
14834 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14835 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14836 ; PWR6-NEXT: and 3, 3, 7
14837 ; PWR6-NEXT: add 4, 4, 5
14838 ; PWR6-NEXT: mulld 3, 3, 9
14839 ; PWR6-NEXT: and 4, 4, 7
14840 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14841 ; PWR6-NEXT: mulld 4, 4, 9
14842 ; PWR6-NEXT: li 5, 12
14843 ; PWR6-NEXT: subfic 3, 3, 12
14844 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14845 ; PWR6-NEXT: subfe 3, 5, 5
14846 ; PWR6-NEXT: subfic 4, 4, 12
14847 ; PWR6-NEXT: subfe 4, 5, 5
14848 ; PWR6-NEXT: blr
14852 ; PWR7-NEXT: addi 3, 1, -32
14853 ; PWR7-NEXT: li 5, 0
14854 ; PWR7-NEXT: li 6, -1
14855 ; PWR7-NEXT: stxvd2x 34, 0, 3
14856 ; PWR7-NEXT: ld 3, -24(1)
14857 ; PWR7-NEXT: ld 4, -32(1)
14858 ; PWR7-NEXT: popcntd 3, 3
14859 ; PWR7-NEXT: popcntd 4, 4
14860 ; PWR7-NEXT: cmpldi 3, 12
14861 ; PWR7-NEXT: iselgt 3, 6, 5
14862 ; PWR7-NEXT: cmpldi 4, 12
14863 ; PWR7-NEXT: iselgt 4, 6, 5
14864 ; PWR7-NEXT: std 3, -8(1)
14865 ; PWR7-NEXT: addi 3, 1, -16
14866 ; PWR7-NEXT: std 4, -16(1)
14867 ; PWR7-NEXT: lxvd2x 34, 0, 3
14868 ; PWR7-NEXT: blr
14872 ; PWR8-NEXT: addis 3, 2, .LCPI122_0@toc@ha
14873 ; PWR8-NEXT: vpopcntd 2, 2
14874 ; PWR8-NEXT: addi 3, 3, .LCPI122_0@toc@l
14875 ; PWR8-NEXT: lxvd2x 35, 0, 3
14876 ; PWR8-NEXT: vcmpgtud 2, 2, 3
14877 ; PWR8-NEXT: blr
14881 ; PWR9-NEXT: addis 3, 2, .LCPI122_0@toc@ha
14882 ; PWR9-NEXT: vpopcntd 2, 2
14883 ; PWR9-NEXT: addi 3, 3, .LCPI122_0@toc@l
14884 ; PWR9-NEXT: lxvx 35, 0, 3
14885 ; PWR9-NEXT: vcmpgtud 2, 2, 3
14886 ; PWR9-NEXT: blr
14896 ; PWR5-NEXT: lis 5, 21845
14897 ; PWR5-NEXT: lis 6, 13107
14898 ; PWR5-NEXT: ori 5, 5, 21845
14899 ; PWR5-NEXT: rotldi 8, 4, 63
14900 ; PWR5-NEXT: rotldi 9, 3, 63
14901 ; PWR5-NEXT: rldimi 5, 5, 32, 0
14902 ; PWR5-NEXT: and 8, 8, 5
14903 ; PWR5-NEXT: and 5, 9, 5
14904 ; PWR5-NEXT: ori 6, 6, 13107
14905 ; PWR5-NEXT: sub 3, 3, 5
14906 ; PWR5-NEXT: rldimi 6, 6, 32, 0
14907 ; PWR5-NEXT: sub 4, 4, 8
14908 ; PWR5-NEXT: and 8, 3, 6
14909 ; PWR5-NEXT: rotldi 3, 3, 62
14910 ; PWR5-NEXT: and 3, 3, 6
14911 ; PWR5-NEXT: lis 7, 3855
14912 ; PWR5-NEXT: and 5, 4, 6
14913 ; PWR5-NEXT: rotldi 4, 4, 62
14914 ; PWR5-NEXT: add 3, 8, 3
14915 ; PWR5-NEXT: lis 9, 257
14916 ; PWR5-NEXT: ori 7, 7, 3855
14917 ; PWR5-NEXT: and 4, 4, 6
14918 ; PWR5-NEXT: rldicl 6, 3, 60, 4
14919 ; PWR5-NEXT: ori 9, 9, 257
14920 ; PWR5-NEXT: rldimi 7, 7, 32, 0
14921 ; PWR5-NEXT: add 4, 5, 4
14922 ; PWR5-NEXT: add 3, 3, 6
14923 ; PWR5-NEXT: rldimi 9, 9, 32, 0
14924 ; PWR5-NEXT: rldicl 5, 4, 60, 4
14925 ; PWR5-NEXT: and 3, 3, 7
14926 ; PWR5-NEXT: add 4, 4, 5
14927 ; PWR5-NEXT: mulld 3, 3, 9
14928 ; PWR5-NEXT: and 4, 4, 7
14929 ; PWR5-NEXT: rldicl 3, 3, 8, 56
14930 ; PWR5-NEXT: li 5, 13
14931 ; PWR5-NEXT: mulld 4, 4, 9
14932 ; PWR5-NEXT: subc 6, 3, 5
14933 ; PWR5-NEXT: rldicl 4, 4, 8, 56
14934 ; PWR5-NEXT: subfe 3, 3, 3
14935 ; PWR5-NEXT: subc 5, 4, 5
14936 ; PWR5-NEXT: subfe 4, 4, 4
14937 ; PWR5-NEXT: blr
14941 ; PWR6-NEXT: lis 5, 21845
14942 ; PWR6-NEXT: lis 6, 13107
14943 ; PWR6-NEXT: ori 5, 5, 21845
14944 ; PWR6-NEXT: rotldi 8, 4, 63
14945 ; PWR6-NEXT: rotldi 9, 3, 63
14946 ; PWR6-NEXT: rldimi 5, 5, 32, 0
14947 ; PWR6-NEXT: and 8, 8, 5
14948 ; PWR6-NEXT: and 5, 9, 5
14949 ; PWR6-NEXT: ori 6, 6, 13107
14950 ; PWR6-NEXT: sub 3, 3, 5
14951 ; PWR6-NEXT: rldimi 6, 6, 32, 0
14952 ; PWR6-NEXT: sub 4, 4, 8
14953 ; PWR6-NEXT: and 8, 3, 6
14954 ; PWR6-NEXT: rotldi 3, 3, 62
14955 ; PWR6-NEXT: and 3, 3, 6
14956 ; PWR6-NEXT: lis 7, 3855
14957 ; PWR6-NEXT: and 5, 4, 6
14958 ; PWR6-NEXT: rotldi 4, 4, 62
14959 ; PWR6-NEXT: add 3, 8, 3
14960 ; PWR6-NEXT: lis 9, 257
14961 ; PWR6-NEXT: ori 7, 7, 3855
14962 ; PWR6-NEXT: and 4, 4, 6
14963 ; PWR6-NEXT: rldicl 6, 3, 60, 4
14964 ; PWR6-NEXT: ori 9, 9, 257
14965 ; PWR6-NEXT: rldimi 7, 7, 32, 0
14966 ; PWR6-NEXT: add 4, 5, 4
14967 ; PWR6-NEXT: add 3, 3, 6
14968 ; PWR6-NEXT: rldimi 9, 9, 32, 0
14969 ; PWR6-NEXT: rldicl 5, 4, 60, 4
14970 ; PWR6-NEXT: and 3, 3, 7
14971 ; PWR6-NEXT: add 4, 4, 5
14972 ; PWR6-NEXT: mulld 3, 3, 9
14973 ; PWR6-NEXT: and 4, 4, 7
14974 ; PWR6-NEXT: rldicl 3, 3, 8, 56
14975 ; PWR6-NEXT: li 5, 13
14976 ; PWR6-NEXT: mulld 4, 4, 9
14977 ; PWR6-NEXT: subc 6, 3, 5
14978 ; PWR6-NEXT: rldicl 4, 4, 8, 56
14979 ; PWR6-NEXT: subfe 3, 3, 3
14980 ; PWR6-NEXT: subc 5, 4, 5
14981 ; PWR6-NEXT: subfe 4, 4, 4
14982 ; PWR6-NEXT: blr
14986 ; PWR7-NEXT: addi 3, 1, -32
14987 ; PWR7-NEXT: li 5, 0
14988 ; PWR7-NEXT: li 6, -1
14989 ; PWR7-NEXT: stxvd2x 34, 0, 3
14990 ; PWR7-NEXT: ld 3, -24(1)
14991 ; PWR7-NEXT: ld 4, -32(1)
14992 ; PWR7-NEXT: popcntd 3, 3
14993 ; PWR7-NEXT: popcntd 4, 4
14994 ; PWR7-NEXT: cmpldi 3, 13
14995 ; PWR7-NEXT: isellt 3, 6, 5
14996 ; PWR7-NEXT: cmpldi 4, 13
14997 ; PWR7-NEXT: isellt 4, 6, 5
14998 ; PWR7-NEXT: std 3, -8(1)
14999 ; PWR7-NEXT: addi 3, 1, -16
15000 ; PWR7-NEXT: std 4, -16(1)
15001 ; PWR7-NEXT: lxvd2x 34, 0, 3
15002 ; PWR7-NEXT: blr
15006 ; PWR8-NEXT: addis 3, 2, .LCPI123_0@toc@ha
15007 ; PWR8-NEXT: vpopcntd 2, 2
15008 ; PWR8-NEXT: addi 3, 3, .LCPI123_0@toc@l
15009 ; PWR8-NEXT: lxvd2x 35, 0, 3
15010 ; PWR8-NEXT: vcmpgtud 2, 3, 2
15011 ; PWR8-NEXT: blr
15015 ; PWR9-NEXT: addis 3, 2, .LCPI123_0@toc@ha
15016 ; PWR9-NEXT: vpopcntd 2, 2
15017 ; PWR9-NEXT: addi 3, 3, .LCPI123_0@toc@l
15018 ; PWR9-NEXT: lxvx 35, 0, 3
15019 ; PWR9-NEXT: vcmpgtud 2, 3, 2
15020 ; PWR9-NEXT: blr
15030 ; PWR5-NEXT: lis 5, 21845
15031 ; PWR5-NEXT: lis 6, 13107
15032 ; PWR5-NEXT: ori 5, 5, 21845
15033 ; PWR5-NEXT: rotldi 8, 4, 63
15034 ; PWR5-NEXT: rotldi 9, 3, 63
15035 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15036 ; PWR5-NEXT: and 8, 8, 5
15037 ; PWR5-NEXT: and 5, 9, 5
15038 ; PWR5-NEXT: ori 6, 6, 13107
15039 ; PWR5-NEXT: sub 3, 3, 5
15040 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15041 ; PWR5-NEXT: sub 4, 4, 8
15042 ; PWR5-NEXT: and 8, 3, 6
15043 ; PWR5-NEXT: rotldi 3, 3, 62
15044 ; PWR5-NEXT: and 3, 3, 6
15045 ; PWR5-NEXT: lis 7, 3855
15046 ; PWR5-NEXT: and 5, 4, 6
15047 ; PWR5-NEXT: rotldi 4, 4, 62
15048 ; PWR5-NEXT: add 3, 8, 3
15049 ; PWR5-NEXT: lis 9, 257
15050 ; PWR5-NEXT: ori 7, 7, 3855
15051 ; PWR5-NEXT: and 4, 4, 6
15052 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15053 ; PWR5-NEXT: ori 9, 9, 257
15054 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15055 ; PWR5-NEXT: add 4, 5, 4
15056 ; PWR5-NEXT: add 3, 3, 6
15057 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15058 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15059 ; PWR5-NEXT: and 3, 3, 7
15060 ; PWR5-NEXT: add 4, 4, 5
15061 ; PWR5-NEXT: mulld 3, 3, 9
15062 ; PWR5-NEXT: and 4, 4, 7
15063 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15064 ; PWR5-NEXT: mulld 4, 4, 9
15065 ; PWR5-NEXT: li 5, 13
15066 ; PWR5-NEXT: subfic 3, 3, 13
15067 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15068 ; PWR5-NEXT: subfe 3, 5, 5
15069 ; PWR5-NEXT: subfic 4, 4, 13
15070 ; PWR5-NEXT: subfe 4, 5, 5
15071 ; PWR5-NEXT: blr
15075 ; PWR6-NEXT: lis 5, 21845
15076 ; PWR6-NEXT: lis 6, 13107
15077 ; PWR6-NEXT: ori 5, 5, 21845
15078 ; PWR6-NEXT: rotldi 8, 4, 63
15079 ; PWR6-NEXT: rotldi 9, 3, 63
15080 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15081 ; PWR6-NEXT: and 8, 8, 5
15082 ; PWR6-NEXT: and 5, 9, 5
15083 ; PWR6-NEXT: ori 6, 6, 13107
15084 ; PWR6-NEXT: sub 3, 3, 5
15085 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15086 ; PWR6-NEXT: sub 4, 4, 8
15087 ; PWR6-NEXT: and 8, 3, 6
15088 ; PWR6-NEXT: rotldi 3, 3, 62
15089 ; PWR6-NEXT: and 3, 3, 6
15090 ; PWR6-NEXT: lis 7, 3855
15091 ; PWR6-NEXT: and 5, 4, 6
15092 ; PWR6-NEXT: rotldi 4, 4, 62
15093 ; PWR6-NEXT: add 3, 8, 3
15094 ; PWR6-NEXT: lis 9, 257
15095 ; PWR6-NEXT: ori 7, 7, 3855
15096 ; PWR6-NEXT: and 4, 4, 6
15097 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15098 ; PWR6-NEXT: ori 9, 9, 257
15099 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15100 ; PWR6-NEXT: add 4, 5, 4
15101 ; PWR6-NEXT: add 3, 3, 6
15102 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15103 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15104 ; PWR6-NEXT: and 3, 3, 7
15105 ; PWR6-NEXT: add 4, 4, 5
15106 ; PWR6-NEXT: mulld 3, 3, 9
15107 ; PWR6-NEXT: and 4, 4, 7
15108 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15109 ; PWR6-NEXT: mulld 4, 4, 9
15110 ; PWR6-NEXT: li 5, 13
15111 ; PWR6-NEXT: subfic 3, 3, 13
15112 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15113 ; PWR6-NEXT: subfe 3, 5, 5
15114 ; PWR6-NEXT: subfic 4, 4, 13
15115 ; PWR6-NEXT: subfe 4, 5, 5
15116 ; PWR6-NEXT: blr
15120 ; PWR7-NEXT: addi 3, 1, -32
15121 ; PWR7-NEXT: li 5, 0
15122 ; PWR7-NEXT: li 6, -1
15123 ; PWR7-NEXT: stxvd2x 34, 0, 3
15124 ; PWR7-NEXT: ld 3, -24(1)
15125 ; PWR7-NEXT: ld 4, -32(1)
15126 ; PWR7-NEXT: popcntd 3, 3
15127 ; PWR7-NEXT: popcntd 4, 4
15128 ; PWR7-NEXT: cmpldi 3, 13
15129 ; PWR7-NEXT: iselgt 3, 6, 5
15130 ; PWR7-NEXT: cmpldi 4, 13
15131 ; PWR7-NEXT: iselgt 4, 6, 5
15132 ; PWR7-NEXT: std 3, -8(1)
15133 ; PWR7-NEXT: addi 3, 1, -16
15134 ; PWR7-NEXT: std 4, -16(1)
15135 ; PWR7-NEXT: lxvd2x 34, 0, 3
15136 ; PWR7-NEXT: blr
15140 ; PWR8-NEXT: addis 3, 2, .LCPI124_0@toc@ha
15141 ; PWR8-NEXT: vpopcntd 2, 2
15142 ; PWR8-NEXT: addi 3, 3, .LCPI124_0@toc@l
15143 ; PWR8-NEXT: lxvd2x 35, 0, 3
15144 ; PWR8-NEXT: vcmpgtud 2, 2, 3
15145 ; PWR8-NEXT: blr
15149 ; PWR9-NEXT: addis 3, 2, .LCPI124_0@toc@ha
15150 ; PWR9-NEXT: vpopcntd 2, 2
15151 ; PWR9-NEXT: addi 3, 3, .LCPI124_0@toc@l
15152 ; PWR9-NEXT: lxvx 35, 0, 3
15153 ; PWR9-NEXT: vcmpgtud 2, 2, 3
15154 ; PWR9-NEXT: blr
15164 ; PWR5-NEXT: lis 5, 21845
15165 ; PWR5-NEXT: lis 6, 13107
15166 ; PWR5-NEXT: ori 5, 5, 21845
15167 ; PWR5-NEXT: rotldi 8, 4, 63
15168 ; PWR5-NEXT: rotldi 9, 3, 63
15169 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15170 ; PWR5-NEXT: and 8, 8, 5
15171 ; PWR5-NEXT: and 5, 9, 5
15172 ; PWR5-NEXT: ori 6, 6, 13107
15173 ; PWR5-NEXT: sub 3, 3, 5
15174 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15175 ; PWR5-NEXT: sub 4, 4, 8
15176 ; PWR5-NEXT: and 8, 3, 6
15177 ; PWR5-NEXT: rotldi 3, 3, 62
15178 ; PWR5-NEXT: and 3, 3, 6
15179 ; PWR5-NEXT: lis 7, 3855
15180 ; PWR5-NEXT: and 5, 4, 6
15181 ; PWR5-NEXT: rotldi 4, 4, 62
15182 ; PWR5-NEXT: add 3, 8, 3
15183 ; PWR5-NEXT: lis 9, 257
15184 ; PWR5-NEXT: ori 7, 7, 3855
15185 ; PWR5-NEXT: and 4, 4, 6
15186 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15187 ; PWR5-NEXT: ori 9, 9, 257
15188 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15189 ; PWR5-NEXT: add 4, 5, 4
15190 ; PWR5-NEXT: add 3, 3, 6
15191 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15192 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15193 ; PWR5-NEXT: and 3, 3, 7
15194 ; PWR5-NEXT: add 4, 4, 5
15195 ; PWR5-NEXT: mulld 3, 3, 9
15196 ; PWR5-NEXT: and 4, 4, 7
15197 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15198 ; PWR5-NEXT: li 5, 14
15199 ; PWR5-NEXT: mulld 4, 4, 9
15200 ; PWR5-NEXT: subc 6, 3, 5
15201 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15202 ; PWR5-NEXT: subfe 3, 3, 3
15203 ; PWR5-NEXT: subc 5, 4, 5
15204 ; PWR5-NEXT: subfe 4, 4, 4
15205 ; PWR5-NEXT: blr
15209 ; PWR6-NEXT: lis 5, 21845
15210 ; PWR6-NEXT: lis 6, 13107
15211 ; PWR6-NEXT: ori 5, 5, 21845
15212 ; PWR6-NEXT: rotldi 8, 4, 63
15213 ; PWR6-NEXT: rotldi 9, 3, 63
15214 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15215 ; PWR6-NEXT: and 8, 8, 5
15216 ; PWR6-NEXT: and 5, 9, 5
15217 ; PWR6-NEXT: ori 6, 6, 13107
15218 ; PWR6-NEXT: sub 3, 3, 5
15219 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15220 ; PWR6-NEXT: sub 4, 4, 8
15221 ; PWR6-NEXT: and 8, 3, 6
15222 ; PWR6-NEXT: rotldi 3, 3, 62
15223 ; PWR6-NEXT: and 3, 3, 6
15224 ; PWR6-NEXT: lis 7, 3855
15225 ; PWR6-NEXT: and 5, 4, 6
15226 ; PWR6-NEXT: rotldi 4, 4, 62
15227 ; PWR6-NEXT: add 3, 8, 3
15228 ; PWR6-NEXT: lis 9, 257
15229 ; PWR6-NEXT: ori 7, 7, 3855
15230 ; PWR6-NEXT: and 4, 4, 6
15231 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15232 ; PWR6-NEXT: ori 9, 9, 257
15233 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15234 ; PWR6-NEXT: add 4, 5, 4
15235 ; PWR6-NEXT: add 3, 3, 6
15236 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15237 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15238 ; PWR6-NEXT: and 3, 3, 7
15239 ; PWR6-NEXT: add 4, 4, 5
15240 ; PWR6-NEXT: mulld 3, 3, 9
15241 ; PWR6-NEXT: and 4, 4, 7
15242 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15243 ; PWR6-NEXT: li 5, 14
15244 ; PWR6-NEXT: mulld 4, 4, 9
15245 ; PWR6-NEXT: subc 6, 3, 5
15246 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15247 ; PWR6-NEXT: subfe 3, 3, 3
15248 ; PWR6-NEXT: subc 5, 4, 5
15249 ; PWR6-NEXT: subfe 4, 4, 4
15250 ; PWR6-NEXT: blr
15254 ; PWR7-NEXT: addi 3, 1, -32
15255 ; PWR7-NEXT: li 5, 0
15256 ; PWR7-NEXT: li 6, -1
15257 ; PWR7-NEXT: stxvd2x 34, 0, 3
15258 ; PWR7-NEXT: ld 3, -24(1)
15259 ; PWR7-NEXT: ld 4, -32(1)
15260 ; PWR7-NEXT: popcntd 3, 3
15261 ; PWR7-NEXT: popcntd 4, 4
15262 ; PWR7-NEXT: cmpldi 3, 14
15263 ; PWR7-NEXT: isellt 3, 6, 5
15264 ; PWR7-NEXT: cmpldi 4, 14
15265 ; PWR7-NEXT: isellt 4, 6, 5
15266 ; PWR7-NEXT: std 3, -8(1)
15267 ; PWR7-NEXT: addi 3, 1, -16
15268 ; PWR7-NEXT: std 4, -16(1)
15269 ; PWR7-NEXT: lxvd2x 34, 0, 3
15270 ; PWR7-NEXT: blr
15274 ; PWR8-NEXT: addis 3, 2, .LCPI125_0@toc@ha
15275 ; PWR8-NEXT: vpopcntd 2, 2
15276 ; PWR8-NEXT: addi 3, 3, .LCPI125_0@toc@l
15277 ; PWR8-NEXT: lxvd2x 35, 0, 3
15278 ; PWR8-NEXT: vcmpgtud 2, 3, 2
15279 ; PWR8-NEXT: blr
15283 ; PWR9-NEXT: addis 3, 2, .LCPI125_0@toc@ha
15284 ; PWR9-NEXT: vpopcntd 2, 2
15285 ; PWR9-NEXT: addi 3, 3, .LCPI125_0@toc@l
15286 ; PWR9-NEXT: lxvx 35, 0, 3
15287 ; PWR9-NEXT: vcmpgtud 2, 3, 2
15288 ; PWR9-NEXT: blr
15298 ; PWR5-NEXT: lis 5, 21845
15299 ; PWR5-NEXT: lis 6, 13107
15300 ; PWR5-NEXT: ori 5, 5, 21845
15301 ; PWR5-NEXT: rotldi 8, 4, 63
15302 ; PWR5-NEXT: rotldi 9, 3, 63
15303 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15304 ; PWR5-NEXT: and 8, 8, 5
15305 ; PWR5-NEXT: and 5, 9, 5
15306 ; PWR5-NEXT: ori 6, 6, 13107
15307 ; PWR5-NEXT: sub 3, 3, 5
15308 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15309 ; PWR5-NEXT: sub 4, 4, 8
15310 ; PWR5-NEXT: and 8, 3, 6
15311 ; PWR5-NEXT: rotldi 3, 3, 62
15312 ; PWR5-NEXT: and 3, 3, 6
15313 ; PWR5-NEXT: lis 7, 3855
15314 ; PWR5-NEXT: and 5, 4, 6
15315 ; PWR5-NEXT: rotldi 4, 4, 62
15316 ; PWR5-NEXT: add 3, 8, 3
15317 ; PWR5-NEXT: lis 9, 257
15318 ; PWR5-NEXT: ori 7, 7, 3855
15319 ; PWR5-NEXT: and 4, 4, 6
15320 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15321 ; PWR5-NEXT: ori 9, 9, 257
15322 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15323 ; PWR5-NEXT: add 4, 5, 4
15324 ; PWR5-NEXT: add 3, 3, 6
15325 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15326 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15327 ; PWR5-NEXT: and 3, 3, 7
15328 ; PWR5-NEXT: add 4, 4, 5
15329 ; PWR5-NEXT: mulld 3, 3, 9
15330 ; PWR5-NEXT: and 4, 4, 7
15331 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15332 ; PWR5-NEXT: mulld 4, 4, 9
15333 ; PWR5-NEXT: li 5, 14
15334 ; PWR5-NEXT: subfic 3, 3, 14
15335 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15336 ; PWR5-NEXT: subfe 3, 5, 5
15337 ; PWR5-NEXT: subfic 4, 4, 14
15338 ; PWR5-NEXT: subfe 4, 5, 5
15339 ; PWR5-NEXT: blr
15343 ; PWR6-NEXT: lis 5, 21845
15344 ; PWR6-NEXT: lis 6, 13107
15345 ; PWR6-NEXT: ori 5, 5, 21845
15346 ; PWR6-NEXT: rotldi 8, 4, 63
15347 ; PWR6-NEXT: rotldi 9, 3, 63
15348 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15349 ; PWR6-NEXT: and 8, 8, 5
15350 ; PWR6-NEXT: and 5, 9, 5
15351 ; PWR6-NEXT: ori 6, 6, 13107
15352 ; PWR6-NEXT: sub 3, 3, 5
15353 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15354 ; PWR6-NEXT: sub 4, 4, 8
15355 ; PWR6-NEXT: and 8, 3, 6
15356 ; PWR6-NEXT: rotldi 3, 3, 62
15357 ; PWR6-NEXT: and 3, 3, 6
15358 ; PWR6-NEXT: lis 7, 3855
15359 ; PWR6-NEXT: and 5, 4, 6
15360 ; PWR6-NEXT: rotldi 4, 4, 62
15361 ; PWR6-NEXT: add 3, 8, 3
15362 ; PWR6-NEXT: lis 9, 257
15363 ; PWR6-NEXT: ori 7, 7, 3855
15364 ; PWR6-NEXT: and 4, 4, 6
15365 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15366 ; PWR6-NEXT: ori 9, 9, 257
15367 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15368 ; PWR6-NEXT: add 4, 5, 4
15369 ; PWR6-NEXT: add 3, 3, 6
15370 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15371 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15372 ; PWR6-NEXT: and 3, 3, 7
15373 ; PWR6-NEXT: add 4, 4, 5
15374 ; PWR6-NEXT: mulld 3, 3, 9
15375 ; PWR6-NEXT: and 4, 4, 7
15376 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15377 ; PWR6-NEXT: mulld 4, 4, 9
15378 ; PWR6-NEXT: li 5, 14
15379 ; PWR6-NEXT: subfic 3, 3, 14
15380 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15381 ; PWR6-NEXT: subfe 3, 5, 5
15382 ; PWR6-NEXT: subfic 4, 4, 14
15383 ; PWR6-NEXT: subfe 4, 5, 5
15384 ; PWR6-NEXT: blr
15388 ; PWR7-NEXT: addi 3, 1, -32
15389 ; PWR7-NEXT: li 5, 0
15390 ; PWR7-NEXT: li 6, -1
15391 ; PWR7-NEXT: stxvd2x 34, 0, 3
15392 ; PWR7-NEXT: ld 3, -24(1)
15393 ; PWR7-NEXT: ld 4, -32(1)
15394 ; PWR7-NEXT: popcntd 3, 3
15395 ; PWR7-NEXT: popcntd 4, 4
15396 ; PWR7-NEXT: cmpldi 3, 14
15397 ; PWR7-NEXT: iselgt 3, 6, 5
15398 ; PWR7-NEXT: cmpldi 4, 14
15399 ; PWR7-NEXT: iselgt 4, 6, 5
15400 ; PWR7-NEXT: std 3, -8(1)
15401 ; PWR7-NEXT: addi 3, 1, -16
15402 ; PWR7-NEXT: std 4, -16(1)
15403 ; PWR7-NEXT: lxvd2x 34, 0, 3
15404 ; PWR7-NEXT: blr
15408 ; PWR8-NEXT: addis 3, 2, .LCPI126_0@toc@ha
15409 ; PWR8-NEXT: vpopcntd 2, 2
15410 ; PWR8-NEXT: addi 3, 3, .LCPI126_0@toc@l
15411 ; PWR8-NEXT: lxvd2x 35, 0, 3
15412 ; PWR8-NEXT: vcmpgtud 2, 2, 3
15413 ; PWR8-NEXT: blr
15417 ; PWR9-NEXT: addis 3, 2, .LCPI126_0@toc@ha
15418 ; PWR9-NEXT: vpopcntd 2, 2
15419 ; PWR9-NEXT: addi 3, 3, .LCPI126_0@toc@l
15420 ; PWR9-NEXT: lxvx 35, 0, 3
15421 ; PWR9-NEXT: vcmpgtud 2, 2, 3
15422 ; PWR9-NEXT: blr
15432 ; PWR5-NEXT: lis 5, 21845
15433 ; PWR5-NEXT: lis 6, 13107
15434 ; PWR5-NEXT: ori 5, 5, 21845
15435 ; PWR5-NEXT: rotldi 8, 4, 63
15436 ; PWR5-NEXT: rotldi 9, 3, 63
15437 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15438 ; PWR5-NEXT: and 8, 8, 5
15439 ; PWR5-NEXT: and 5, 9, 5
15440 ; PWR5-NEXT: ori 6, 6, 13107
15441 ; PWR5-NEXT: sub 3, 3, 5
15442 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15443 ; PWR5-NEXT: sub 4, 4, 8
15444 ; PWR5-NEXT: and 8, 3, 6
15445 ; PWR5-NEXT: rotldi 3, 3, 62
15446 ; PWR5-NEXT: and 3, 3, 6
15447 ; PWR5-NEXT: lis 7, 3855
15448 ; PWR5-NEXT: and 5, 4, 6
15449 ; PWR5-NEXT: rotldi 4, 4, 62
15450 ; PWR5-NEXT: add 3, 8, 3
15451 ; PWR5-NEXT: lis 9, 257
15452 ; PWR5-NEXT: ori 7, 7, 3855
15453 ; PWR5-NEXT: and 4, 4, 6
15454 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15455 ; PWR5-NEXT: ori 9, 9, 257
15456 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15457 ; PWR5-NEXT: add 4, 5, 4
15458 ; PWR5-NEXT: add 3, 3, 6
15459 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15460 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15461 ; PWR5-NEXT: and 3, 3, 7
15462 ; PWR5-NEXT: add 4, 4, 5
15463 ; PWR5-NEXT: mulld 3, 3, 9
15464 ; PWR5-NEXT: and 4, 4, 7
15465 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15466 ; PWR5-NEXT: li 5, 15
15467 ; PWR5-NEXT: mulld 4, 4, 9
15468 ; PWR5-NEXT: subc 6, 3, 5
15469 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15470 ; PWR5-NEXT: subfe 3, 3, 3
15471 ; PWR5-NEXT: subc 5, 4, 5
15472 ; PWR5-NEXT: subfe 4, 4, 4
15473 ; PWR5-NEXT: blr
15477 ; PWR6-NEXT: lis 5, 21845
15478 ; PWR6-NEXT: lis 6, 13107
15479 ; PWR6-NEXT: ori 5, 5, 21845
15480 ; PWR6-NEXT: rotldi 8, 4, 63
15481 ; PWR6-NEXT: rotldi 9, 3, 63
15482 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15483 ; PWR6-NEXT: and 8, 8, 5
15484 ; PWR6-NEXT: and 5, 9, 5
15485 ; PWR6-NEXT: ori 6, 6, 13107
15486 ; PWR6-NEXT: sub 3, 3, 5
15487 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15488 ; PWR6-NEXT: sub 4, 4, 8
15489 ; PWR6-NEXT: and 8, 3, 6
15490 ; PWR6-NEXT: rotldi 3, 3, 62
15491 ; PWR6-NEXT: and 3, 3, 6
15492 ; PWR6-NEXT: lis 7, 3855
15493 ; PWR6-NEXT: and 5, 4, 6
15494 ; PWR6-NEXT: rotldi 4, 4, 62
15495 ; PWR6-NEXT: add 3, 8, 3
15496 ; PWR6-NEXT: lis 9, 257
15497 ; PWR6-NEXT: ori 7, 7, 3855
15498 ; PWR6-NEXT: and 4, 4, 6
15499 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15500 ; PWR6-NEXT: ori 9, 9, 257
15501 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15502 ; PWR6-NEXT: add 4, 5, 4
15503 ; PWR6-NEXT: add 3, 3, 6
15504 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15505 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15506 ; PWR6-NEXT: and 3, 3, 7
15507 ; PWR6-NEXT: add 4, 4, 5
15508 ; PWR6-NEXT: mulld 3, 3, 9
15509 ; PWR6-NEXT: and 4, 4, 7
15510 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15511 ; PWR6-NEXT: li 5, 15
15512 ; PWR6-NEXT: mulld 4, 4, 9
15513 ; PWR6-NEXT: subc 6, 3, 5
15514 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15515 ; PWR6-NEXT: subfe 3, 3, 3
15516 ; PWR6-NEXT: subc 5, 4, 5
15517 ; PWR6-NEXT: subfe 4, 4, 4
15518 ; PWR6-NEXT: blr
15522 ; PWR7-NEXT: addi 3, 1, -32
15523 ; PWR7-NEXT: li 5, 0
15524 ; PWR7-NEXT: li 6, -1
15525 ; PWR7-NEXT: stxvd2x 34, 0, 3
15526 ; PWR7-NEXT: ld 3, -24(1)
15527 ; PWR7-NEXT: ld 4, -32(1)
15528 ; PWR7-NEXT: popcntd 3, 3
15529 ; PWR7-NEXT: popcntd 4, 4
15530 ; PWR7-NEXT: cmpldi 3, 15
15531 ; PWR7-NEXT: isellt 3, 6, 5
15532 ; PWR7-NEXT: cmpldi 4, 15
15533 ; PWR7-NEXT: isellt 4, 6, 5
15534 ; PWR7-NEXT: std 3, -8(1)
15535 ; PWR7-NEXT: addi 3, 1, -16
15536 ; PWR7-NEXT: std 4, -16(1)
15537 ; PWR7-NEXT: lxvd2x 34, 0, 3
15538 ; PWR7-NEXT: blr
15542 ; PWR8-NEXT: addis 3, 2, .LCPI127_0@toc@ha
15543 ; PWR8-NEXT: vpopcntd 2, 2
15544 ; PWR8-NEXT: addi 3, 3, .LCPI127_0@toc@l
15545 ; PWR8-NEXT: lxvd2x 35, 0, 3
15546 ; PWR8-NEXT: vcmpgtud 2, 3, 2
15547 ; PWR8-NEXT: blr
15551 ; PWR9-NEXT: addis 3, 2, .LCPI127_0@toc@ha
15552 ; PWR9-NEXT: vpopcntd 2, 2
15553 ; PWR9-NEXT: addi 3, 3, .LCPI127_0@toc@l
15554 ; PWR9-NEXT: lxvx 35, 0, 3
15555 ; PWR9-NEXT: vcmpgtud 2, 3, 2
15556 ; PWR9-NEXT: blr
15566 ; PWR5-NEXT: lis 5, 21845
15567 ; PWR5-NEXT: lis 6, 13107
15568 ; PWR5-NEXT: ori 5, 5, 21845
15569 ; PWR5-NEXT: rotldi 8, 4, 63
15570 ; PWR5-NEXT: rotldi 9, 3, 63
15571 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15572 ; PWR5-NEXT: and 8, 8, 5
15573 ; PWR5-NEXT: and 5, 9, 5
15574 ; PWR5-NEXT: ori 6, 6, 13107
15575 ; PWR5-NEXT: sub 3, 3, 5
15576 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15577 ; PWR5-NEXT: sub 4, 4, 8
15578 ; PWR5-NEXT: and 8, 3, 6
15579 ; PWR5-NEXT: rotldi 3, 3, 62
15580 ; PWR5-NEXT: and 3, 3, 6
15581 ; PWR5-NEXT: lis 7, 3855
15582 ; PWR5-NEXT: and 5, 4, 6
15583 ; PWR5-NEXT: rotldi 4, 4, 62
15584 ; PWR5-NEXT: add 3, 8, 3
15585 ; PWR5-NEXT: lis 9, 257
15586 ; PWR5-NEXT: ori 7, 7, 3855
15587 ; PWR5-NEXT: and 4, 4, 6
15588 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15589 ; PWR5-NEXT: ori 9, 9, 257
15590 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15591 ; PWR5-NEXT: add 4, 5, 4
15592 ; PWR5-NEXT: add 3, 3, 6
15593 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15594 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15595 ; PWR5-NEXT: and 3, 3, 7
15596 ; PWR5-NEXT: add 4, 4, 5
15597 ; PWR5-NEXT: mulld 3, 3, 9
15598 ; PWR5-NEXT: and 4, 4, 7
15599 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15600 ; PWR5-NEXT: mulld 4, 4, 9
15601 ; PWR5-NEXT: li 5, 15
15602 ; PWR5-NEXT: subfic 3, 3, 15
15603 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15604 ; PWR5-NEXT: subfe 3, 5, 5
15605 ; PWR5-NEXT: subfic 4, 4, 15
15606 ; PWR5-NEXT: subfe 4, 5, 5
15607 ; PWR5-NEXT: blr
15611 ; PWR6-NEXT: lis 5, 21845
15612 ; PWR6-NEXT: lis 6, 13107
15613 ; PWR6-NEXT: ori 5, 5, 21845
15614 ; PWR6-NEXT: rotldi 8, 4, 63
15615 ; PWR6-NEXT: rotldi 9, 3, 63
15616 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15617 ; PWR6-NEXT: and 8, 8, 5
15618 ; PWR6-NEXT: and 5, 9, 5
15619 ; PWR6-NEXT: ori 6, 6, 13107
15620 ; PWR6-NEXT: sub 3, 3, 5
15621 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15622 ; PWR6-NEXT: sub 4, 4, 8
15623 ; PWR6-NEXT: and 8, 3, 6
15624 ; PWR6-NEXT: rotldi 3, 3, 62
15625 ; PWR6-NEXT: and 3, 3, 6
15626 ; PWR6-NEXT: lis 7, 3855
15627 ; PWR6-NEXT: and 5, 4, 6
15628 ; PWR6-NEXT: rotldi 4, 4, 62
15629 ; PWR6-NEXT: add 3, 8, 3
15630 ; PWR6-NEXT: lis 9, 257
15631 ; PWR6-NEXT: ori 7, 7, 3855
15632 ; PWR6-NEXT: and 4, 4, 6
15633 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15634 ; PWR6-NEXT: ori 9, 9, 257
15635 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15636 ; PWR6-NEXT: add 4, 5, 4
15637 ; PWR6-NEXT: add 3, 3, 6
15638 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15639 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15640 ; PWR6-NEXT: and 3, 3, 7
15641 ; PWR6-NEXT: add 4, 4, 5
15642 ; PWR6-NEXT: mulld 3, 3, 9
15643 ; PWR6-NEXT: and 4, 4, 7
15644 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15645 ; PWR6-NEXT: mulld 4, 4, 9
15646 ; PWR6-NEXT: li 5, 15
15647 ; PWR6-NEXT: subfic 3, 3, 15
15648 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15649 ; PWR6-NEXT: subfe 3, 5, 5
15650 ; PWR6-NEXT: subfic 4, 4, 15
15651 ; PWR6-NEXT: subfe 4, 5, 5
15652 ; PWR6-NEXT: blr
15656 ; PWR7-NEXT: addi 3, 1, -32
15657 ; PWR7-NEXT: li 5, 0
15658 ; PWR7-NEXT: li 6, -1
15659 ; PWR7-NEXT: stxvd2x 34, 0, 3
15660 ; PWR7-NEXT: ld 3, -24(1)
15661 ; PWR7-NEXT: ld 4, -32(1)
15662 ; PWR7-NEXT: popcntd 3, 3
15663 ; PWR7-NEXT: popcntd 4, 4
15664 ; PWR7-NEXT: cmpldi 3, 15
15665 ; PWR7-NEXT: iselgt 3, 6, 5
15666 ; PWR7-NEXT: cmpldi 4, 15
15667 ; PWR7-NEXT: iselgt 4, 6, 5
15668 ; PWR7-NEXT: std 3, -8(1)
15669 ; PWR7-NEXT: addi 3, 1, -16
15670 ; PWR7-NEXT: std 4, -16(1)
15671 ; PWR7-NEXT: lxvd2x 34, 0, 3
15672 ; PWR7-NEXT: blr
15676 ; PWR8-NEXT: addis 3, 2, .LCPI128_0@toc@ha
15677 ; PWR8-NEXT: vpopcntd 2, 2
15678 ; PWR8-NEXT: addi 3, 3, .LCPI128_0@toc@l
15679 ; PWR8-NEXT: lxvd2x 35, 0, 3
15680 ; PWR8-NEXT: vcmpgtud 2, 2, 3
15681 ; PWR8-NEXT: blr
15685 ; PWR9-NEXT: addis 3, 2, .LCPI128_0@toc@ha
15686 ; PWR9-NEXT: vpopcntd 2, 2
15687 ; PWR9-NEXT: addi 3, 3, .LCPI128_0@toc@l
15688 ; PWR9-NEXT: lxvx 35, 0, 3
15689 ; PWR9-NEXT: vcmpgtud 2, 2, 3
15690 ; PWR9-NEXT: blr
15700 ; PWR5-NEXT: lis 5, 21845
15701 ; PWR5-NEXT: lis 6, 13107
15702 ; PWR5-NEXT: ori 5, 5, 21845
15703 ; PWR5-NEXT: rotldi 8, 4, 63
15704 ; PWR5-NEXT: rotldi 9, 3, 63
15705 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15706 ; PWR5-NEXT: and 8, 8, 5
15707 ; PWR5-NEXT: and 5, 9, 5
15708 ; PWR5-NEXT: ori 6, 6, 13107
15709 ; PWR5-NEXT: sub 3, 3, 5
15710 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15711 ; PWR5-NEXT: sub 4, 4, 8
15712 ; PWR5-NEXT: and 8, 3, 6
15713 ; PWR5-NEXT: rotldi 3, 3, 62
15714 ; PWR5-NEXT: and 3, 3, 6
15715 ; PWR5-NEXT: lis 7, 3855
15716 ; PWR5-NEXT: and 5, 4, 6
15717 ; PWR5-NEXT: rotldi 4, 4, 62
15718 ; PWR5-NEXT: add 3, 8, 3
15719 ; PWR5-NEXT: lis 9, 257
15720 ; PWR5-NEXT: ori 7, 7, 3855
15721 ; PWR5-NEXT: and 4, 4, 6
15722 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15723 ; PWR5-NEXT: ori 9, 9, 257
15724 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15725 ; PWR5-NEXT: add 4, 5, 4
15726 ; PWR5-NEXT: add 3, 3, 6
15727 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15728 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15729 ; PWR5-NEXT: and 3, 3, 7
15730 ; PWR5-NEXT: add 4, 4, 5
15731 ; PWR5-NEXT: mulld 3, 3, 9
15732 ; PWR5-NEXT: and 4, 4, 7
15733 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15734 ; PWR5-NEXT: li 5, 16
15735 ; PWR5-NEXT: mulld 4, 4, 9
15736 ; PWR5-NEXT: subc 6, 3, 5
15737 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15738 ; PWR5-NEXT: subfe 3, 3, 3
15739 ; PWR5-NEXT: subc 5, 4, 5
15740 ; PWR5-NEXT: subfe 4, 4, 4
15741 ; PWR5-NEXT: blr
15745 ; PWR6-NEXT: lis 5, 21845
15746 ; PWR6-NEXT: lis 6, 13107
15747 ; PWR6-NEXT: ori 5, 5, 21845
15748 ; PWR6-NEXT: rotldi 8, 4, 63
15749 ; PWR6-NEXT: rotldi 9, 3, 63
15750 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15751 ; PWR6-NEXT: and 8, 8, 5
15752 ; PWR6-NEXT: and 5, 9, 5
15753 ; PWR6-NEXT: ori 6, 6, 13107
15754 ; PWR6-NEXT: sub 3, 3, 5
15755 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15756 ; PWR6-NEXT: sub 4, 4, 8
15757 ; PWR6-NEXT: and 8, 3, 6
15758 ; PWR6-NEXT: rotldi 3, 3, 62
15759 ; PWR6-NEXT: and 3, 3, 6
15760 ; PWR6-NEXT: lis 7, 3855
15761 ; PWR6-NEXT: and 5, 4, 6
15762 ; PWR6-NEXT: rotldi 4, 4, 62
15763 ; PWR6-NEXT: add 3, 8, 3
15764 ; PWR6-NEXT: lis 9, 257
15765 ; PWR6-NEXT: ori 7, 7, 3855
15766 ; PWR6-NEXT: and 4, 4, 6
15767 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15768 ; PWR6-NEXT: ori 9, 9, 257
15769 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15770 ; PWR6-NEXT: add 4, 5, 4
15771 ; PWR6-NEXT: add 3, 3, 6
15772 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15773 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15774 ; PWR6-NEXT: and 3, 3, 7
15775 ; PWR6-NEXT: add 4, 4, 5
15776 ; PWR6-NEXT: mulld 3, 3, 9
15777 ; PWR6-NEXT: and 4, 4, 7
15778 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15779 ; PWR6-NEXT: li 5, 16
15780 ; PWR6-NEXT: mulld 4, 4, 9
15781 ; PWR6-NEXT: subc 6, 3, 5
15782 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15783 ; PWR6-NEXT: subfe 3, 3, 3
15784 ; PWR6-NEXT: subc 5, 4, 5
15785 ; PWR6-NEXT: subfe 4, 4, 4
15786 ; PWR6-NEXT: blr
15790 ; PWR7-NEXT: addi 3, 1, -32
15791 ; PWR7-NEXT: li 5, 0
15792 ; PWR7-NEXT: li 6, -1
15793 ; PWR7-NEXT: stxvd2x 34, 0, 3
15794 ; PWR7-NEXT: ld 3, -24(1)
15795 ; PWR7-NEXT: ld 4, -32(1)
15796 ; PWR7-NEXT: popcntd 3, 3
15797 ; PWR7-NEXT: popcntd 4, 4
15798 ; PWR7-NEXT: cmpldi 3, 16
15799 ; PWR7-NEXT: isellt 3, 6, 5
15800 ; PWR7-NEXT: cmpldi 4, 16
15801 ; PWR7-NEXT: isellt 4, 6, 5
15802 ; PWR7-NEXT: std 3, -8(1)
15803 ; PWR7-NEXT: addi 3, 1, -16
15804 ; PWR7-NEXT: std 4, -16(1)
15805 ; PWR7-NEXT: lxvd2x 34, 0, 3
15806 ; PWR7-NEXT: blr
15810 ; PWR8-NEXT: addis 3, 2, .LCPI129_0@toc@ha
15811 ; PWR8-NEXT: vpopcntd 2, 2
15812 ; PWR8-NEXT: addi 3, 3, .LCPI129_0@toc@l
15813 ; PWR8-NEXT: lxvd2x 35, 0, 3
15814 ; PWR8-NEXT: vcmpgtud 2, 3, 2
15815 ; PWR8-NEXT: blr
15819 ; PWR9-NEXT: addis 3, 2, .LCPI129_0@toc@ha
15820 ; PWR9-NEXT: vpopcntd 2, 2
15821 ; PWR9-NEXT: addi 3, 3, .LCPI129_0@toc@l
15822 ; PWR9-NEXT: lxvx 35, 0, 3
15823 ; PWR9-NEXT: vcmpgtud 2, 3, 2
15824 ; PWR9-NEXT: blr
15834 ; PWR5-NEXT: lis 5, 21845
15835 ; PWR5-NEXT: lis 6, 13107
15836 ; PWR5-NEXT: ori 5, 5, 21845
15837 ; PWR5-NEXT: rotldi 8, 4, 63
15838 ; PWR5-NEXT: rotldi 9, 3, 63
15839 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15840 ; PWR5-NEXT: and 8, 8, 5
15841 ; PWR5-NEXT: and 5, 9, 5
15842 ; PWR5-NEXT: ori 6, 6, 13107
15843 ; PWR5-NEXT: sub 3, 3, 5
15844 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15845 ; PWR5-NEXT: sub 4, 4, 8
15846 ; PWR5-NEXT: and 8, 3, 6
15847 ; PWR5-NEXT: rotldi 3, 3, 62
15848 ; PWR5-NEXT: and 3, 3, 6
15849 ; PWR5-NEXT: lis 7, 3855
15850 ; PWR5-NEXT: and 5, 4, 6
15851 ; PWR5-NEXT: rotldi 4, 4, 62
15852 ; PWR5-NEXT: add 3, 8, 3
15853 ; PWR5-NEXT: lis 9, 257
15854 ; PWR5-NEXT: ori 7, 7, 3855
15855 ; PWR5-NEXT: and 4, 4, 6
15856 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15857 ; PWR5-NEXT: ori 9, 9, 257
15858 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15859 ; PWR5-NEXT: add 4, 5, 4
15860 ; PWR5-NEXT: add 3, 3, 6
15861 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15862 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15863 ; PWR5-NEXT: and 3, 3, 7
15864 ; PWR5-NEXT: add 4, 4, 5
15865 ; PWR5-NEXT: mulld 3, 3, 9
15866 ; PWR5-NEXT: and 4, 4, 7
15867 ; PWR5-NEXT: rldicl 3, 3, 8, 56
15868 ; PWR5-NEXT: mulld 4, 4, 9
15869 ; PWR5-NEXT: li 5, 16
15870 ; PWR5-NEXT: subfic 3, 3, 16
15871 ; PWR5-NEXT: rldicl 4, 4, 8, 56
15872 ; PWR5-NEXT: subfe 3, 5, 5
15873 ; PWR5-NEXT: subfic 4, 4, 16
15874 ; PWR5-NEXT: subfe 4, 5, 5
15875 ; PWR5-NEXT: blr
15879 ; PWR6-NEXT: lis 5, 21845
15880 ; PWR6-NEXT: lis 6, 13107
15881 ; PWR6-NEXT: ori 5, 5, 21845
15882 ; PWR6-NEXT: rotldi 8, 4, 63
15883 ; PWR6-NEXT: rotldi 9, 3, 63
15884 ; PWR6-NEXT: rldimi 5, 5, 32, 0
15885 ; PWR6-NEXT: and 8, 8, 5
15886 ; PWR6-NEXT: and 5, 9, 5
15887 ; PWR6-NEXT: ori 6, 6, 13107
15888 ; PWR6-NEXT: sub 3, 3, 5
15889 ; PWR6-NEXT: rldimi 6, 6, 32, 0
15890 ; PWR6-NEXT: sub 4, 4, 8
15891 ; PWR6-NEXT: and 8, 3, 6
15892 ; PWR6-NEXT: rotldi 3, 3, 62
15893 ; PWR6-NEXT: and 3, 3, 6
15894 ; PWR6-NEXT: lis 7, 3855
15895 ; PWR6-NEXT: and 5, 4, 6
15896 ; PWR6-NEXT: rotldi 4, 4, 62
15897 ; PWR6-NEXT: add 3, 8, 3
15898 ; PWR6-NEXT: lis 9, 257
15899 ; PWR6-NEXT: ori 7, 7, 3855
15900 ; PWR6-NEXT: and 4, 4, 6
15901 ; PWR6-NEXT: rldicl 6, 3, 60, 4
15902 ; PWR6-NEXT: ori 9, 9, 257
15903 ; PWR6-NEXT: rldimi 7, 7, 32, 0
15904 ; PWR6-NEXT: add 4, 5, 4
15905 ; PWR6-NEXT: add 3, 3, 6
15906 ; PWR6-NEXT: rldimi 9, 9, 32, 0
15907 ; PWR6-NEXT: rldicl 5, 4, 60, 4
15908 ; PWR6-NEXT: and 3, 3, 7
15909 ; PWR6-NEXT: add 4, 4, 5
15910 ; PWR6-NEXT: mulld 3, 3, 9
15911 ; PWR6-NEXT: and 4, 4, 7
15912 ; PWR6-NEXT: rldicl 3, 3, 8, 56
15913 ; PWR6-NEXT: mulld 4, 4, 9
15914 ; PWR6-NEXT: li 5, 16
15915 ; PWR6-NEXT: subfic 3, 3, 16
15916 ; PWR6-NEXT: rldicl 4, 4, 8, 56
15917 ; PWR6-NEXT: subfe 3, 5, 5
15918 ; PWR6-NEXT: subfic 4, 4, 16
15919 ; PWR6-NEXT: subfe 4, 5, 5
15920 ; PWR6-NEXT: blr
15924 ; PWR7-NEXT: addi 3, 1, -32
15925 ; PWR7-NEXT: li 5, 0
15926 ; PWR7-NEXT: li 6, -1
15927 ; PWR7-NEXT: stxvd2x 34, 0, 3
15928 ; PWR7-NEXT: ld 3, -24(1)
15929 ; PWR7-NEXT: ld 4, -32(1)
15930 ; PWR7-NEXT: popcntd 3, 3
15931 ; PWR7-NEXT: popcntd 4, 4
15932 ; PWR7-NEXT: cmpldi 3, 16
15933 ; PWR7-NEXT: iselgt 3, 6, 5
15934 ; PWR7-NEXT: cmpldi 4, 16
15935 ; PWR7-NEXT: iselgt 4, 6, 5
15936 ; PWR7-NEXT: std 3, -8(1)
15937 ; PWR7-NEXT: addi 3, 1, -16
15938 ; PWR7-NEXT: std 4, -16(1)
15939 ; PWR7-NEXT: lxvd2x 34, 0, 3
15940 ; PWR7-NEXT: blr
15944 ; PWR8-NEXT: addis 3, 2, .LCPI130_0@toc@ha
15945 ; PWR8-NEXT: vpopcntd 2, 2
15946 ; PWR8-NEXT: addi 3, 3, .LCPI130_0@toc@l
15947 ; PWR8-NEXT: lxvd2x 35, 0, 3
15948 ; PWR8-NEXT: vcmpgtud 2, 2, 3
15949 ; PWR8-NEXT: blr
15953 ; PWR9-NEXT: addis 3, 2, .LCPI130_0@toc@ha
15954 ; PWR9-NEXT: vpopcntd 2, 2
15955 ; PWR9-NEXT: addi 3, 3, .LCPI130_0@toc@l
15956 ; PWR9-NEXT: lxvx 35, 0, 3
15957 ; PWR9-NEXT: vcmpgtud 2, 2, 3
15958 ; PWR9-NEXT: blr
15968 ; PWR5-NEXT: lis 5, 21845
15969 ; PWR5-NEXT: lis 6, 13107
15970 ; PWR5-NEXT: ori 5, 5, 21845
15971 ; PWR5-NEXT: rotldi 8, 4, 63
15972 ; PWR5-NEXT: rotldi 9, 3, 63
15973 ; PWR5-NEXT: rldimi 5, 5, 32, 0
15974 ; PWR5-NEXT: and 8, 8, 5
15975 ; PWR5-NEXT: and 5, 9, 5
15976 ; PWR5-NEXT: ori 6, 6, 13107
15977 ; PWR5-NEXT: sub 3, 3, 5
15978 ; PWR5-NEXT: rldimi 6, 6, 32, 0
15979 ; PWR5-NEXT: sub 4, 4, 8
15980 ; PWR5-NEXT: and 8, 3, 6
15981 ; PWR5-NEXT: rotldi 3, 3, 62
15982 ; PWR5-NEXT: and 3, 3, 6
15983 ; PWR5-NEXT: lis 7, 3855
15984 ; PWR5-NEXT: and 5, 4, 6
15985 ; PWR5-NEXT: rotldi 4, 4, 62
15986 ; PWR5-NEXT: add 3, 8, 3
15987 ; PWR5-NEXT: lis 9, 257
15988 ; PWR5-NEXT: ori 7, 7, 3855
15989 ; PWR5-NEXT: and 4, 4, 6
15990 ; PWR5-NEXT: rldicl 6, 3, 60, 4
15991 ; PWR5-NEXT: ori 9, 9, 257
15992 ; PWR5-NEXT: rldimi 7, 7, 32, 0
15993 ; PWR5-NEXT: add 4, 5, 4
15994 ; PWR5-NEXT: add 3, 3, 6
15995 ; PWR5-NEXT: rldimi 9, 9, 32, 0
15996 ; PWR5-NEXT: rldicl 5, 4, 60, 4
15997 ; PWR5-NEXT: and 3, 3, 7
15998 ; PWR5-NEXT: add 4, 4, 5
15999 ; PWR5-NEXT: mulld 3, 3, 9
16000 ; PWR5-NEXT: and 4, 4, 7
16001 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16002 ; PWR5-NEXT: li 5, 17
16003 ; PWR5-NEXT: mulld 4, 4, 9
16004 ; PWR5-NEXT: subc 6, 3, 5
16005 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16006 ; PWR5-NEXT: subfe 3, 3, 3
16007 ; PWR5-NEXT: subc 5, 4, 5
16008 ; PWR5-NEXT: subfe 4, 4, 4
16009 ; PWR5-NEXT: blr
16013 ; PWR6-NEXT: lis 5, 21845
16014 ; PWR6-NEXT: lis 6, 13107
16015 ; PWR6-NEXT: ori 5, 5, 21845
16016 ; PWR6-NEXT: rotldi 8, 4, 63
16017 ; PWR6-NEXT: rotldi 9, 3, 63
16018 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16019 ; PWR6-NEXT: and 8, 8, 5
16020 ; PWR6-NEXT: and 5, 9, 5
16021 ; PWR6-NEXT: ori 6, 6, 13107
16022 ; PWR6-NEXT: sub 3, 3, 5
16023 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16024 ; PWR6-NEXT: sub 4, 4, 8
16025 ; PWR6-NEXT: and 8, 3, 6
16026 ; PWR6-NEXT: rotldi 3, 3, 62
16027 ; PWR6-NEXT: and 3, 3, 6
16028 ; PWR6-NEXT: lis 7, 3855
16029 ; PWR6-NEXT: and 5, 4, 6
16030 ; PWR6-NEXT: rotldi 4, 4, 62
16031 ; PWR6-NEXT: add 3, 8, 3
16032 ; PWR6-NEXT: lis 9, 257
16033 ; PWR6-NEXT: ori 7, 7, 3855
16034 ; PWR6-NEXT: and 4, 4, 6
16035 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16036 ; PWR6-NEXT: ori 9, 9, 257
16037 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16038 ; PWR6-NEXT: add 4, 5, 4
16039 ; PWR6-NEXT: add 3, 3, 6
16040 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16041 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16042 ; PWR6-NEXT: and 3, 3, 7
16043 ; PWR6-NEXT: add 4, 4, 5
16044 ; PWR6-NEXT: mulld 3, 3, 9
16045 ; PWR6-NEXT: and 4, 4, 7
16046 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16047 ; PWR6-NEXT: li 5, 17
16048 ; PWR6-NEXT: mulld 4, 4, 9
16049 ; PWR6-NEXT: subc 6, 3, 5
16050 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16051 ; PWR6-NEXT: subfe 3, 3, 3
16052 ; PWR6-NEXT: subc 5, 4, 5
16053 ; PWR6-NEXT: subfe 4, 4, 4
16054 ; PWR6-NEXT: blr
16058 ; PWR7-NEXT: addi 3, 1, -32
16059 ; PWR7-NEXT: li 5, 0
16060 ; PWR7-NEXT: li 6, -1
16061 ; PWR7-NEXT: stxvd2x 34, 0, 3
16062 ; PWR7-NEXT: ld 3, -24(1)
16063 ; PWR7-NEXT: ld 4, -32(1)
16064 ; PWR7-NEXT: popcntd 3, 3
16065 ; PWR7-NEXT: popcntd 4, 4
16066 ; PWR7-NEXT: cmpldi 3, 17
16067 ; PWR7-NEXT: isellt 3, 6, 5
16068 ; PWR7-NEXT: cmpldi 4, 17
16069 ; PWR7-NEXT: isellt 4, 6, 5
16070 ; PWR7-NEXT: std 3, -8(1)
16071 ; PWR7-NEXT: addi 3, 1, -16
16072 ; PWR7-NEXT: std 4, -16(1)
16073 ; PWR7-NEXT: lxvd2x 34, 0, 3
16074 ; PWR7-NEXT: blr
16078 ; PWR8-NEXT: addis 3, 2, .LCPI131_0@toc@ha
16079 ; PWR8-NEXT: vpopcntd 2, 2
16080 ; PWR8-NEXT: addi 3, 3, .LCPI131_0@toc@l
16081 ; PWR8-NEXT: lxvd2x 35, 0, 3
16082 ; PWR8-NEXT: vcmpgtud 2, 3, 2
16083 ; PWR8-NEXT: blr
16087 ; PWR9-NEXT: addis 3, 2, .LCPI131_0@toc@ha
16088 ; PWR9-NEXT: vpopcntd 2, 2
16089 ; PWR9-NEXT: addi 3, 3, .LCPI131_0@toc@l
16090 ; PWR9-NEXT: lxvx 35, 0, 3
16091 ; PWR9-NEXT: vcmpgtud 2, 3, 2
16092 ; PWR9-NEXT: blr
16102 ; PWR5-NEXT: lis 5, 21845
16103 ; PWR5-NEXT: lis 6, 13107
16104 ; PWR5-NEXT: ori 5, 5, 21845
16105 ; PWR5-NEXT: rotldi 8, 4, 63
16106 ; PWR5-NEXT: rotldi 9, 3, 63
16107 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16108 ; PWR5-NEXT: and 8, 8, 5
16109 ; PWR5-NEXT: and 5, 9, 5
16110 ; PWR5-NEXT: ori 6, 6, 13107
16111 ; PWR5-NEXT: sub 3, 3, 5
16112 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16113 ; PWR5-NEXT: sub 4, 4, 8
16114 ; PWR5-NEXT: and 8, 3, 6
16115 ; PWR5-NEXT: rotldi 3, 3, 62
16116 ; PWR5-NEXT: and 3, 3, 6
16117 ; PWR5-NEXT: lis 7, 3855
16118 ; PWR5-NEXT: and 5, 4, 6
16119 ; PWR5-NEXT: rotldi 4, 4, 62
16120 ; PWR5-NEXT: add 3, 8, 3
16121 ; PWR5-NEXT: lis 9, 257
16122 ; PWR5-NEXT: ori 7, 7, 3855
16123 ; PWR5-NEXT: and 4, 4, 6
16124 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16125 ; PWR5-NEXT: ori 9, 9, 257
16126 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16127 ; PWR5-NEXT: add 4, 5, 4
16128 ; PWR5-NEXT: add 3, 3, 6
16129 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16130 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16131 ; PWR5-NEXT: and 3, 3, 7
16132 ; PWR5-NEXT: add 4, 4, 5
16133 ; PWR5-NEXT: mulld 3, 3, 9
16134 ; PWR5-NEXT: and 4, 4, 7
16135 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16136 ; PWR5-NEXT: mulld 4, 4, 9
16137 ; PWR5-NEXT: li 5, 17
16138 ; PWR5-NEXT: subfic 3, 3, 17
16139 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16140 ; PWR5-NEXT: subfe 3, 5, 5
16141 ; PWR5-NEXT: subfic 4, 4, 17
16142 ; PWR5-NEXT: subfe 4, 5, 5
16143 ; PWR5-NEXT: blr
16147 ; PWR6-NEXT: lis 5, 21845
16148 ; PWR6-NEXT: lis 6, 13107
16149 ; PWR6-NEXT: ori 5, 5, 21845
16150 ; PWR6-NEXT: rotldi 8, 4, 63
16151 ; PWR6-NEXT: rotldi 9, 3, 63
16152 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16153 ; PWR6-NEXT: and 8, 8, 5
16154 ; PWR6-NEXT: and 5, 9, 5
16155 ; PWR6-NEXT: ori 6, 6, 13107
16156 ; PWR6-NEXT: sub 3, 3, 5
16157 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16158 ; PWR6-NEXT: sub 4, 4, 8
16159 ; PWR6-NEXT: and 8, 3, 6
16160 ; PWR6-NEXT: rotldi 3, 3, 62
16161 ; PWR6-NEXT: and 3, 3, 6
16162 ; PWR6-NEXT: lis 7, 3855
16163 ; PWR6-NEXT: and 5, 4, 6
16164 ; PWR6-NEXT: rotldi 4, 4, 62
16165 ; PWR6-NEXT: add 3, 8, 3
16166 ; PWR6-NEXT: lis 9, 257
16167 ; PWR6-NEXT: ori 7, 7, 3855
16168 ; PWR6-NEXT: and 4, 4, 6
16169 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16170 ; PWR6-NEXT: ori 9, 9, 257
16171 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16172 ; PWR6-NEXT: add 4, 5, 4
16173 ; PWR6-NEXT: add 3, 3, 6
16174 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16175 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16176 ; PWR6-NEXT: and 3, 3, 7
16177 ; PWR6-NEXT: add 4, 4, 5
16178 ; PWR6-NEXT: mulld 3, 3, 9
16179 ; PWR6-NEXT: and 4, 4, 7
16180 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16181 ; PWR6-NEXT: mulld 4, 4, 9
16182 ; PWR6-NEXT: li 5, 17
16183 ; PWR6-NEXT: subfic 3, 3, 17
16184 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16185 ; PWR6-NEXT: subfe 3, 5, 5
16186 ; PWR6-NEXT: subfic 4, 4, 17
16187 ; PWR6-NEXT: subfe 4, 5, 5
16188 ; PWR6-NEXT: blr
16192 ; PWR7-NEXT: addi 3, 1, -32
16193 ; PWR7-NEXT: li 5, 0
16194 ; PWR7-NEXT: li 6, -1
16195 ; PWR7-NEXT: stxvd2x 34, 0, 3
16196 ; PWR7-NEXT: ld 3, -24(1)
16197 ; PWR7-NEXT: ld 4, -32(1)
16198 ; PWR7-NEXT: popcntd 3, 3
16199 ; PWR7-NEXT: popcntd 4, 4
16200 ; PWR7-NEXT: cmpldi 3, 17
16201 ; PWR7-NEXT: iselgt 3, 6, 5
16202 ; PWR7-NEXT: cmpldi 4, 17
16203 ; PWR7-NEXT: iselgt 4, 6, 5
16204 ; PWR7-NEXT: std 3, -8(1)
16205 ; PWR7-NEXT: addi 3, 1, -16
16206 ; PWR7-NEXT: std 4, -16(1)
16207 ; PWR7-NEXT: lxvd2x 34, 0, 3
16208 ; PWR7-NEXT: blr
16212 ; PWR8-NEXT: addis 3, 2, .LCPI132_0@toc@ha
16213 ; PWR8-NEXT: vpopcntd 2, 2
16214 ; PWR8-NEXT: addi 3, 3, .LCPI132_0@toc@l
16215 ; PWR8-NEXT: lxvd2x 35, 0, 3
16216 ; PWR8-NEXT: vcmpgtud 2, 2, 3
16217 ; PWR8-NEXT: blr
16221 ; PWR9-NEXT: addis 3, 2, .LCPI132_0@toc@ha
16222 ; PWR9-NEXT: vpopcntd 2, 2
16223 ; PWR9-NEXT: addi 3, 3, .LCPI132_0@toc@l
16224 ; PWR9-NEXT: lxvx 35, 0, 3
16225 ; PWR9-NEXT: vcmpgtud 2, 2, 3
16226 ; PWR9-NEXT: blr
16236 ; PWR5-NEXT: lis 5, 21845
16237 ; PWR5-NEXT: lis 6, 13107
16238 ; PWR5-NEXT: ori 5, 5, 21845
16239 ; PWR5-NEXT: rotldi 8, 4, 63
16240 ; PWR5-NEXT: rotldi 9, 3, 63
16241 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16242 ; PWR5-NEXT: and 8, 8, 5
16243 ; PWR5-NEXT: and 5, 9, 5
16244 ; PWR5-NEXT: ori 6, 6, 13107
16245 ; PWR5-NEXT: sub 3, 3, 5
16246 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16247 ; PWR5-NEXT: sub 4, 4, 8
16248 ; PWR5-NEXT: and 8, 3, 6
16249 ; PWR5-NEXT: rotldi 3, 3, 62
16250 ; PWR5-NEXT: and 3, 3, 6
16251 ; PWR5-NEXT: lis 7, 3855
16252 ; PWR5-NEXT: and 5, 4, 6
16253 ; PWR5-NEXT: rotldi 4, 4, 62
16254 ; PWR5-NEXT: add 3, 8, 3
16255 ; PWR5-NEXT: lis 9, 257
16256 ; PWR5-NEXT: ori 7, 7, 3855
16257 ; PWR5-NEXT: and 4, 4, 6
16258 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16259 ; PWR5-NEXT: ori 9, 9, 257
16260 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16261 ; PWR5-NEXT: add 4, 5, 4
16262 ; PWR5-NEXT: add 3, 3, 6
16263 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16264 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16265 ; PWR5-NEXT: and 3, 3, 7
16266 ; PWR5-NEXT: add 4, 4, 5
16267 ; PWR5-NEXT: mulld 3, 3, 9
16268 ; PWR5-NEXT: and 4, 4, 7
16269 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16270 ; PWR5-NEXT: li 5, 18
16271 ; PWR5-NEXT: mulld 4, 4, 9
16272 ; PWR5-NEXT: subc 6, 3, 5
16273 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16274 ; PWR5-NEXT: subfe 3, 3, 3
16275 ; PWR5-NEXT: subc 5, 4, 5
16276 ; PWR5-NEXT: subfe 4, 4, 4
16277 ; PWR5-NEXT: blr
16281 ; PWR6-NEXT: lis 5, 21845
16282 ; PWR6-NEXT: lis 6, 13107
16283 ; PWR6-NEXT: ori 5, 5, 21845
16284 ; PWR6-NEXT: rotldi 8, 4, 63
16285 ; PWR6-NEXT: rotldi 9, 3, 63
16286 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16287 ; PWR6-NEXT: and 8, 8, 5
16288 ; PWR6-NEXT: and 5, 9, 5
16289 ; PWR6-NEXT: ori 6, 6, 13107
16290 ; PWR6-NEXT: sub 3, 3, 5
16291 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16292 ; PWR6-NEXT: sub 4, 4, 8
16293 ; PWR6-NEXT: and 8, 3, 6
16294 ; PWR6-NEXT: rotldi 3, 3, 62
16295 ; PWR6-NEXT: and 3, 3, 6
16296 ; PWR6-NEXT: lis 7, 3855
16297 ; PWR6-NEXT: and 5, 4, 6
16298 ; PWR6-NEXT: rotldi 4, 4, 62
16299 ; PWR6-NEXT: add 3, 8, 3
16300 ; PWR6-NEXT: lis 9, 257
16301 ; PWR6-NEXT: ori 7, 7, 3855
16302 ; PWR6-NEXT: and 4, 4, 6
16303 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16304 ; PWR6-NEXT: ori 9, 9, 257
16305 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16306 ; PWR6-NEXT: add 4, 5, 4
16307 ; PWR6-NEXT: add 3, 3, 6
16308 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16309 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16310 ; PWR6-NEXT: and 3, 3, 7
16311 ; PWR6-NEXT: add 4, 4, 5
16312 ; PWR6-NEXT: mulld 3, 3, 9
16313 ; PWR6-NEXT: and 4, 4, 7
16314 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16315 ; PWR6-NEXT: li 5, 18
16316 ; PWR6-NEXT: mulld 4, 4, 9
16317 ; PWR6-NEXT: subc 6, 3, 5
16318 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16319 ; PWR6-NEXT: subfe 3, 3, 3
16320 ; PWR6-NEXT: subc 5, 4, 5
16321 ; PWR6-NEXT: subfe 4, 4, 4
16322 ; PWR6-NEXT: blr
16326 ; PWR7-NEXT: addi 3, 1, -32
16327 ; PWR7-NEXT: li 5, 0
16328 ; PWR7-NEXT: li 6, -1
16329 ; PWR7-NEXT: stxvd2x 34, 0, 3
16330 ; PWR7-NEXT: ld 3, -24(1)
16331 ; PWR7-NEXT: ld 4, -32(1)
16332 ; PWR7-NEXT: popcntd 3, 3
16333 ; PWR7-NEXT: popcntd 4, 4
16334 ; PWR7-NEXT: cmpldi 3, 18
16335 ; PWR7-NEXT: isellt 3, 6, 5
16336 ; PWR7-NEXT: cmpldi 4, 18
16337 ; PWR7-NEXT: isellt 4, 6, 5
16338 ; PWR7-NEXT: std 3, -8(1)
16339 ; PWR7-NEXT: addi 3, 1, -16
16340 ; PWR7-NEXT: std 4, -16(1)
16341 ; PWR7-NEXT: lxvd2x 34, 0, 3
16342 ; PWR7-NEXT: blr
16346 ; PWR8-NEXT: addis 3, 2, .LCPI133_0@toc@ha
16347 ; PWR8-NEXT: vpopcntd 2, 2
16348 ; PWR8-NEXT: addi 3, 3, .LCPI133_0@toc@l
16349 ; PWR8-NEXT: lxvd2x 35, 0, 3
16350 ; PWR8-NEXT: vcmpgtud 2, 3, 2
16351 ; PWR8-NEXT: blr
16355 ; PWR9-NEXT: addis 3, 2, .LCPI133_0@toc@ha
16356 ; PWR9-NEXT: vpopcntd 2, 2
16357 ; PWR9-NEXT: addi 3, 3, .LCPI133_0@toc@l
16358 ; PWR9-NEXT: lxvx 35, 0, 3
16359 ; PWR9-NEXT: vcmpgtud 2, 3, 2
16360 ; PWR9-NEXT: blr
16370 ; PWR5-NEXT: lis 5, 21845
16371 ; PWR5-NEXT: lis 6, 13107
16372 ; PWR5-NEXT: ori 5, 5, 21845
16373 ; PWR5-NEXT: rotldi 8, 4, 63
16374 ; PWR5-NEXT: rotldi 9, 3, 63
16375 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16376 ; PWR5-NEXT: and 8, 8, 5
16377 ; PWR5-NEXT: and 5, 9, 5
16378 ; PWR5-NEXT: ori 6, 6, 13107
16379 ; PWR5-NEXT: sub 3, 3, 5
16380 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16381 ; PWR5-NEXT: sub 4, 4, 8
16382 ; PWR5-NEXT: and 8, 3, 6
16383 ; PWR5-NEXT: rotldi 3, 3, 62
16384 ; PWR5-NEXT: and 3, 3, 6
16385 ; PWR5-NEXT: lis 7, 3855
16386 ; PWR5-NEXT: and 5, 4, 6
16387 ; PWR5-NEXT: rotldi 4, 4, 62
16388 ; PWR5-NEXT: add 3, 8, 3
16389 ; PWR5-NEXT: lis 9, 257
16390 ; PWR5-NEXT: ori 7, 7, 3855
16391 ; PWR5-NEXT: and 4, 4, 6
16392 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16393 ; PWR5-NEXT: ori 9, 9, 257
16394 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16395 ; PWR5-NEXT: add 4, 5, 4
16396 ; PWR5-NEXT: add 3, 3, 6
16397 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16398 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16399 ; PWR5-NEXT: and 3, 3, 7
16400 ; PWR5-NEXT: add 4, 4, 5
16401 ; PWR5-NEXT: mulld 3, 3, 9
16402 ; PWR5-NEXT: and 4, 4, 7
16403 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16404 ; PWR5-NEXT: mulld 4, 4, 9
16405 ; PWR5-NEXT: li 5, 18
16406 ; PWR5-NEXT: subfic 3, 3, 18
16407 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16408 ; PWR5-NEXT: subfe 3, 5, 5
16409 ; PWR5-NEXT: subfic 4, 4, 18
16410 ; PWR5-NEXT: subfe 4, 5, 5
16411 ; PWR5-NEXT: blr
16415 ; PWR6-NEXT: lis 5, 21845
16416 ; PWR6-NEXT: lis 6, 13107
16417 ; PWR6-NEXT: ori 5, 5, 21845
16418 ; PWR6-NEXT: rotldi 8, 4, 63
16419 ; PWR6-NEXT: rotldi 9, 3, 63
16420 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16421 ; PWR6-NEXT: and 8, 8, 5
16422 ; PWR6-NEXT: and 5, 9, 5
16423 ; PWR6-NEXT: ori 6, 6, 13107
16424 ; PWR6-NEXT: sub 3, 3, 5
16425 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16426 ; PWR6-NEXT: sub 4, 4, 8
16427 ; PWR6-NEXT: and 8, 3, 6
16428 ; PWR6-NEXT: rotldi 3, 3, 62
16429 ; PWR6-NEXT: and 3, 3, 6
16430 ; PWR6-NEXT: lis 7, 3855
16431 ; PWR6-NEXT: and 5, 4, 6
16432 ; PWR6-NEXT: rotldi 4, 4, 62
16433 ; PWR6-NEXT: add 3, 8, 3
16434 ; PWR6-NEXT: lis 9, 257
16435 ; PWR6-NEXT: ori 7, 7, 3855
16436 ; PWR6-NEXT: and 4, 4, 6
16437 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16438 ; PWR6-NEXT: ori 9, 9, 257
16439 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16440 ; PWR6-NEXT: add 4, 5, 4
16441 ; PWR6-NEXT: add 3, 3, 6
16442 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16443 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16444 ; PWR6-NEXT: and 3, 3, 7
16445 ; PWR6-NEXT: add 4, 4, 5
16446 ; PWR6-NEXT: mulld 3, 3, 9
16447 ; PWR6-NEXT: and 4, 4, 7
16448 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16449 ; PWR6-NEXT: mulld 4, 4, 9
16450 ; PWR6-NEXT: li 5, 18
16451 ; PWR6-NEXT: subfic 3, 3, 18
16452 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16453 ; PWR6-NEXT: subfe 3, 5, 5
16454 ; PWR6-NEXT: subfic 4, 4, 18
16455 ; PWR6-NEXT: subfe 4, 5, 5
16456 ; PWR6-NEXT: blr
16460 ; PWR7-NEXT: addi 3, 1, -32
16461 ; PWR7-NEXT: li 5, 0
16462 ; PWR7-NEXT: li 6, -1
16463 ; PWR7-NEXT: stxvd2x 34, 0, 3
16464 ; PWR7-NEXT: ld 3, -24(1)
16465 ; PWR7-NEXT: ld 4, -32(1)
16466 ; PWR7-NEXT: popcntd 3, 3
16467 ; PWR7-NEXT: popcntd 4, 4
16468 ; PWR7-NEXT: cmpldi 3, 18
16469 ; PWR7-NEXT: iselgt 3, 6, 5
16470 ; PWR7-NEXT: cmpldi 4, 18
16471 ; PWR7-NEXT: iselgt 4, 6, 5
16472 ; PWR7-NEXT: std 3, -8(1)
16473 ; PWR7-NEXT: addi 3, 1, -16
16474 ; PWR7-NEXT: std 4, -16(1)
16475 ; PWR7-NEXT: lxvd2x 34, 0, 3
16476 ; PWR7-NEXT: blr
16480 ; PWR8-NEXT: addis 3, 2, .LCPI134_0@toc@ha
16481 ; PWR8-NEXT: vpopcntd 2, 2
16482 ; PWR8-NEXT: addi 3, 3, .LCPI134_0@toc@l
16483 ; PWR8-NEXT: lxvd2x 35, 0, 3
16484 ; PWR8-NEXT: vcmpgtud 2, 2, 3
16485 ; PWR8-NEXT: blr
16489 ; PWR9-NEXT: addis 3, 2, .LCPI134_0@toc@ha
16490 ; PWR9-NEXT: vpopcntd 2, 2
16491 ; PWR9-NEXT: addi 3, 3, .LCPI134_0@toc@l
16492 ; PWR9-NEXT: lxvx 35, 0, 3
16493 ; PWR9-NEXT: vcmpgtud 2, 2, 3
16494 ; PWR9-NEXT: blr
16504 ; PWR5-NEXT: lis 5, 21845
16505 ; PWR5-NEXT: lis 6, 13107
16506 ; PWR5-NEXT: ori 5, 5, 21845
16507 ; PWR5-NEXT: rotldi 8, 4, 63
16508 ; PWR5-NEXT: rotldi 9, 3, 63
16509 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16510 ; PWR5-NEXT: and 8, 8, 5
16511 ; PWR5-NEXT: and 5, 9, 5
16512 ; PWR5-NEXT: ori 6, 6, 13107
16513 ; PWR5-NEXT: sub 3, 3, 5
16514 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16515 ; PWR5-NEXT: sub 4, 4, 8
16516 ; PWR5-NEXT: and 8, 3, 6
16517 ; PWR5-NEXT: rotldi 3, 3, 62
16518 ; PWR5-NEXT: and 3, 3, 6
16519 ; PWR5-NEXT: lis 7, 3855
16520 ; PWR5-NEXT: and 5, 4, 6
16521 ; PWR5-NEXT: rotldi 4, 4, 62
16522 ; PWR5-NEXT: add 3, 8, 3
16523 ; PWR5-NEXT: lis 9, 257
16524 ; PWR5-NEXT: ori 7, 7, 3855
16525 ; PWR5-NEXT: and 4, 4, 6
16526 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16527 ; PWR5-NEXT: ori 9, 9, 257
16528 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16529 ; PWR5-NEXT: add 4, 5, 4
16530 ; PWR5-NEXT: add 3, 3, 6
16531 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16532 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16533 ; PWR5-NEXT: and 3, 3, 7
16534 ; PWR5-NEXT: add 4, 4, 5
16535 ; PWR5-NEXT: mulld 3, 3, 9
16536 ; PWR5-NEXT: and 4, 4, 7
16537 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16538 ; PWR5-NEXT: li 5, 19
16539 ; PWR5-NEXT: mulld 4, 4, 9
16540 ; PWR5-NEXT: subc 6, 3, 5
16541 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16542 ; PWR5-NEXT: subfe 3, 3, 3
16543 ; PWR5-NEXT: subc 5, 4, 5
16544 ; PWR5-NEXT: subfe 4, 4, 4
16545 ; PWR5-NEXT: blr
16549 ; PWR6-NEXT: lis 5, 21845
16550 ; PWR6-NEXT: lis 6, 13107
16551 ; PWR6-NEXT: ori 5, 5, 21845
16552 ; PWR6-NEXT: rotldi 8, 4, 63
16553 ; PWR6-NEXT: rotldi 9, 3, 63
16554 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16555 ; PWR6-NEXT: and 8, 8, 5
16556 ; PWR6-NEXT: and 5, 9, 5
16557 ; PWR6-NEXT: ori 6, 6, 13107
16558 ; PWR6-NEXT: sub 3, 3, 5
16559 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16560 ; PWR6-NEXT: sub 4, 4, 8
16561 ; PWR6-NEXT: and 8, 3, 6
16562 ; PWR6-NEXT: rotldi 3, 3, 62
16563 ; PWR6-NEXT: and 3, 3, 6
16564 ; PWR6-NEXT: lis 7, 3855
16565 ; PWR6-NEXT: and 5, 4, 6
16566 ; PWR6-NEXT: rotldi 4, 4, 62
16567 ; PWR6-NEXT: add 3, 8, 3
16568 ; PWR6-NEXT: lis 9, 257
16569 ; PWR6-NEXT: ori 7, 7, 3855
16570 ; PWR6-NEXT: and 4, 4, 6
16571 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16572 ; PWR6-NEXT: ori 9, 9, 257
16573 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16574 ; PWR6-NEXT: add 4, 5, 4
16575 ; PWR6-NEXT: add 3, 3, 6
16576 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16577 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16578 ; PWR6-NEXT: and 3, 3, 7
16579 ; PWR6-NEXT: add 4, 4, 5
16580 ; PWR6-NEXT: mulld 3, 3, 9
16581 ; PWR6-NEXT: and 4, 4, 7
16582 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16583 ; PWR6-NEXT: li 5, 19
16584 ; PWR6-NEXT: mulld 4, 4, 9
16585 ; PWR6-NEXT: subc 6, 3, 5
16586 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16587 ; PWR6-NEXT: subfe 3, 3, 3
16588 ; PWR6-NEXT: subc 5, 4, 5
16589 ; PWR6-NEXT: subfe 4, 4, 4
16590 ; PWR6-NEXT: blr
16594 ; PWR7-NEXT: addi 3, 1, -32
16595 ; PWR7-NEXT: li 5, 0
16596 ; PWR7-NEXT: li 6, -1
16597 ; PWR7-NEXT: stxvd2x 34, 0, 3
16598 ; PWR7-NEXT: ld 3, -24(1)
16599 ; PWR7-NEXT: ld 4, -32(1)
16600 ; PWR7-NEXT: popcntd 3, 3
16601 ; PWR7-NEXT: popcntd 4, 4
16602 ; PWR7-NEXT: cmpldi 3, 19
16603 ; PWR7-NEXT: isellt 3, 6, 5
16604 ; PWR7-NEXT: cmpldi 4, 19
16605 ; PWR7-NEXT: isellt 4, 6, 5
16606 ; PWR7-NEXT: std 3, -8(1)
16607 ; PWR7-NEXT: addi 3, 1, -16
16608 ; PWR7-NEXT: std 4, -16(1)
16609 ; PWR7-NEXT: lxvd2x 34, 0, 3
16610 ; PWR7-NEXT: blr
16614 ; PWR8-NEXT: addis 3, 2, .LCPI135_0@toc@ha
16615 ; PWR8-NEXT: vpopcntd 2, 2
16616 ; PWR8-NEXT: addi 3, 3, .LCPI135_0@toc@l
16617 ; PWR8-NEXT: lxvd2x 35, 0, 3
16618 ; PWR8-NEXT: vcmpgtud 2, 3, 2
16619 ; PWR8-NEXT: blr
16623 ; PWR9-NEXT: addis 3, 2, .LCPI135_0@toc@ha
16624 ; PWR9-NEXT: vpopcntd 2, 2
16625 ; PWR9-NEXT: addi 3, 3, .LCPI135_0@toc@l
16626 ; PWR9-NEXT: lxvx 35, 0, 3
16627 ; PWR9-NEXT: vcmpgtud 2, 3, 2
16628 ; PWR9-NEXT: blr
16638 ; PWR5-NEXT: lis 5, 21845
16639 ; PWR5-NEXT: lis 6, 13107
16640 ; PWR5-NEXT: ori 5, 5, 21845
16641 ; PWR5-NEXT: rotldi 8, 4, 63
16642 ; PWR5-NEXT: rotldi 9, 3, 63
16643 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16644 ; PWR5-NEXT: and 8, 8, 5
16645 ; PWR5-NEXT: and 5, 9, 5
16646 ; PWR5-NEXT: ori 6, 6, 13107
16647 ; PWR5-NEXT: sub 3, 3, 5
16648 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16649 ; PWR5-NEXT: sub 4, 4, 8
16650 ; PWR5-NEXT: and 8, 3, 6
16651 ; PWR5-NEXT: rotldi 3, 3, 62
16652 ; PWR5-NEXT: and 3, 3, 6
16653 ; PWR5-NEXT: lis 7, 3855
16654 ; PWR5-NEXT: and 5, 4, 6
16655 ; PWR5-NEXT: rotldi 4, 4, 62
16656 ; PWR5-NEXT: add 3, 8, 3
16657 ; PWR5-NEXT: lis 9, 257
16658 ; PWR5-NEXT: ori 7, 7, 3855
16659 ; PWR5-NEXT: and 4, 4, 6
16660 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16661 ; PWR5-NEXT: ori 9, 9, 257
16662 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16663 ; PWR5-NEXT: add 4, 5, 4
16664 ; PWR5-NEXT: add 3, 3, 6
16665 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16666 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16667 ; PWR5-NEXT: and 3, 3, 7
16668 ; PWR5-NEXT: add 4, 4, 5
16669 ; PWR5-NEXT: mulld 3, 3, 9
16670 ; PWR5-NEXT: and 4, 4, 7
16671 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16672 ; PWR5-NEXT: mulld 4, 4, 9
16673 ; PWR5-NEXT: li 5, 19
16674 ; PWR5-NEXT: subfic 3, 3, 19
16675 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16676 ; PWR5-NEXT: subfe 3, 5, 5
16677 ; PWR5-NEXT: subfic 4, 4, 19
16678 ; PWR5-NEXT: subfe 4, 5, 5
16679 ; PWR5-NEXT: blr
16683 ; PWR6-NEXT: lis 5, 21845
16684 ; PWR6-NEXT: lis 6, 13107
16685 ; PWR6-NEXT: ori 5, 5, 21845
16686 ; PWR6-NEXT: rotldi 8, 4, 63
16687 ; PWR6-NEXT: rotldi 9, 3, 63
16688 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16689 ; PWR6-NEXT: and 8, 8, 5
16690 ; PWR6-NEXT: and 5, 9, 5
16691 ; PWR6-NEXT: ori 6, 6, 13107
16692 ; PWR6-NEXT: sub 3, 3, 5
16693 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16694 ; PWR6-NEXT: sub 4, 4, 8
16695 ; PWR6-NEXT: and 8, 3, 6
16696 ; PWR6-NEXT: rotldi 3, 3, 62
16697 ; PWR6-NEXT: and 3, 3, 6
16698 ; PWR6-NEXT: lis 7, 3855
16699 ; PWR6-NEXT: and 5, 4, 6
16700 ; PWR6-NEXT: rotldi 4, 4, 62
16701 ; PWR6-NEXT: add 3, 8, 3
16702 ; PWR6-NEXT: lis 9, 257
16703 ; PWR6-NEXT: ori 7, 7, 3855
16704 ; PWR6-NEXT: and 4, 4, 6
16705 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16706 ; PWR6-NEXT: ori 9, 9, 257
16707 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16708 ; PWR6-NEXT: add 4, 5, 4
16709 ; PWR6-NEXT: add 3, 3, 6
16710 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16711 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16712 ; PWR6-NEXT: and 3, 3, 7
16713 ; PWR6-NEXT: add 4, 4, 5
16714 ; PWR6-NEXT: mulld 3, 3, 9
16715 ; PWR6-NEXT: and 4, 4, 7
16716 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16717 ; PWR6-NEXT: mulld 4, 4, 9
16718 ; PWR6-NEXT: li 5, 19
16719 ; PWR6-NEXT: subfic 3, 3, 19
16720 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16721 ; PWR6-NEXT: subfe 3, 5, 5
16722 ; PWR6-NEXT: subfic 4, 4, 19
16723 ; PWR6-NEXT: subfe 4, 5, 5
16724 ; PWR6-NEXT: blr
16728 ; PWR7-NEXT: addi 3, 1, -32
16729 ; PWR7-NEXT: li 5, 0
16730 ; PWR7-NEXT: li 6, -1
16731 ; PWR7-NEXT: stxvd2x 34, 0, 3
16732 ; PWR7-NEXT: ld 3, -24(1)
16733 ; PWR7-NEXT: ld 4, -32(1)
16734 ; PWR7-NEXT: popcntd 3, 3
16735 ; PWR7-NEXT: popcntd 4, 4
16736 ; PWR7-NEXT: cmpldi 3, 19
16737 ; PWR7-NEXT: iselgt 3, 6, 5
16738 ; PWR7-NEXT: cmpldi 4, 19
16739 ; PWR7-NEXT: iselgt 4, 6, 5
16740 ; PWR7-NEXT: std 3, -8(1)
16741 ; PWR7-NEXT: addi 3, 1, -16
16742 ; PWR7-NEXT: std 4, -16(1)
16743 ; PWR7-NEXT: lxvd2x 34, 0, 3
16744 ; PWR7-NEXT: blr
16748 ; PWR8-NEXT: addis 3, 2, .LCPI136_0@toc@ha
16749 ; PWR8-NEXT: vpopcntd 2, 2
16750 ; PWR8-NEXT: addi 3, 3, .LCPI136_0@toc@l
16751 ; PWR8-NEXT: lxvd2x 35, 0, 3
16752 ; PWR8-NEXT: vcmpgtud 2, 2, 3
16753 ; PWR8-NEXT: blr
16757 ; PWR9-NEXT: addis 3, 2, .LCPI136_0@toc@ha
16758 ; PWR9-NEXT: vpopcntd 2, 2
16759 ; PWR9-NEXT: addi 3, 3, .LCPI136_0@toc@l
16760 ; PWR9-NEXT: lxvx 35, 0, 3
16761 ; PWR9-NEXT: vcmpgtud 2, 2, 3
16762 ; PWR9-NEXT: blr
16772 ; PWR5-NEXT: lis 5, 21845
16773 ; PWR5-NEXT: lis 6, 13107
16774 ; PWR5-NEXT: ori 5, 5, 21845
16775 ; PWR5-NEXT: rotldi 8, 4, 63
16776 ; PWR5-NEXT: rotldi 9, 3, 63
16777 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16778 ; PWR5-NEXT: and 8, 8, 5
16779 ; PWR5-NEXT: and 5, 9, 5
16780 ; PWR5-NEXT: ori 6, 6, 13107
16781 ; PWR5-NEXT: sub 3, 3, 5
16782 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16783 ; PWR5-NEXT: sub 4, 4, 8
16784 ; PWR5-NEXT: and 8, 3, 6
16785 ; PWR5-NEXT: rotldi 3, 3, 62
16786 ; PWR5-NEXT: and 3, 3, 6
16787 ; PWR5-NEXT: lis 7, 3855
16788 ; PWR5-NEXT: and 5, 4, 6
16789 ; PWR5-NEXT: rotldi 4, 4, 62
16790 ; PWR5-NEXT: add 3, 8, 3
16791 ; PWR5-NEXT: lis 9, 257
16792 ; PWR5-NEXT: ori 7, 7, 3855
16793 ; PWR5-NEXT: and 4, 4, 6
16794 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16795 ; PWR5-NEXT: ori 9, 9, 257
16796 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16797 ; PWR5-NEXT: add 4, 5, 4
16798 ; PWR5-NEXT: add 3, 3, 6
16799 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16800 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16801 ; PWR5-NEXT: and 3, 3, 7
16802 ; PWR5-NEXT: add 4, 4, 5
16803 ; PWR5-NEXT: mulld 3, 3, 9
16804 ; PWR5-NEXT: and 4, 4, 7
16805 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16806 ; PWR5-NEXT: li 5, 20
16807 ; PWR5-NEXT: mulld 4, 4, 9
16808 ; PWR5-NEXT: subc 6, 3, 5
16809 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16810 ; PWR5-NEXT: subfe 3, 3, 3
16811 ; PWR5-NEXT: subc 5, 4, 5
16812 ; PWR5-NEXT: subfe 4, 4, 4
16813 ; PWR5-NEXT: blr
16817 ; PWR6-NEXT: lis 5, 21845
16818 ; PWR6-NEXT: lis 6, 13107
16819 ; PWR6-NEXT: ori 5, 5, 21845
16820 ; PWR6-NEXT: rotldi 8, 4, 63
16821 ; PWR6-NEXT: rotldi 9, 3, 63
16822 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16823 ; PWR6-NEXT: and 8, 8, 5
16824 ; PWR6-NEXT: and 5, 9, 5
16825 ; PWR6-NEXT: ori 6, 6, 13107
16826 ; PWR6-NEXT: sub 3, 3, 5
16827 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16828 ; PWR6-NEXT: sub 4, 4, 8
16829 ; PWR6-NEXT: and 8, 3, 6
16830 ; PWR6-NEXT: rotldi 3, 3, 62
16831 ; PWR6-NEXT: and 3, 3, 6
16832 ; PWR6-NEXT: lis 7, 3855
16833 ; PWR6-NEXT: and 5, 4, 6
16834 ; PWR6-NEXT: rotldi 4, 4, 62
16835 ; PWR6-NEXT: add 3, 8, 3
16836 ; PWR6-NEXT: lis 9, 257
16837 ; PWR6-NEXT: ori 7, 7, 3855
16838 ; PWR6-NEXT: and 4, 4, 6
16839 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16840 ; PWR6-NEXT: ori 9, 9, 257
16841 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16842 ; PWR6-NEXT: add 4, 5, 4
16843 ; PWR6-NEXT: add 3, 3, 6
16844 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16845 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16846 ; PWR6-NEXT: and 3, 3, 7
16847 ; PWR6-NEXT: add 4, 4, 5
16848 ; PWR6-NEXT: mulld 3, 3, 9
16849 ; PWR6-NEXT: and 4, 4, 7
16850 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16851 ; PWR6-NEXT: li 5, 20
16852 ; PWR6-NEXT: mulld 4, 4, 9
16853 ; PWR6-NEXT: subc 6, 3, 5
16854 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16855 ; PWR6-NEXT: subfe 3, 3, 3
16856 ; PWR6-NEXT: subc 5, 4, 5
16857 ; PWR6-NEXT: subfe 4, 4, 4
16858 ; PWR6-NEXT: blr
16862 ; PWR7-NEXT: addi 3, 1, -32
16863 ; PWR7-NEXT: li 5, 0
16864 ; PWR7-NEXT: li 6, -1
16865 ; PWR7-NEXT: stxvd2x 34, 0, 3
16866 ; PWR7-NEXT: ld 3, -24(1)
16867 ; PWR7-NEXT: ld 4, -32(1)
16868 ; PWR7-NEXT: popcntd 3, 3
16869 ; PWR7-NEXT: popcntd 4, 4
16870 ; PWR7-NEXT: cmpldi 3, 20
16871 ; PWR7-NEXT: isellt 3, 6, 5
16872 ; PWR7-NEXT: cmpldi 4, 20
16873 ; PWR7-NEXT: isellt 4, 6, 5
16874 ; PWR7-NEXT: std 3, -8(1)
16875 ; PWR7-NEXT: addi 3, 1, -16
16876 ; PWR7-NEXT: std 4, -16(1)
16877 ; PWR7-NEXT: lxvd2x 34, 0, 3
16878 ; PWR7-NEXT: blr
16882 ; PWR8-NEXT: addis 3, 2, .LCPI137_0@toc@ha
16883 ; PWR8-NEXT: vpopcntd 2, 2
16884 ; PWR8-NEXT: addi 3, 3, .LCPI137_0@toc@l
16885 ; PWR8-NEXT: lxvd2x 35, 0, 3
16886 ; PWR8-NEXT: vcmpgtud 2, 3, 2
16887 ; PWR8-NEXT: blr
16891 ; PWR9-NEXT: addis 3, 2, .LCPI137_0@toc@ha
16892 ; PWR9-NEXT: vpopcntd 2, 2
16893 ; PWR9-NEXT: addi 3, 3, .LCPI137_0@toc@l
16894 ; PWR9-NEXT: lxvx 35, 0, 3
16895 ; PWR9-NEXT: vcmpgtud 2, 3, 2
16896 ; PWR9-NEXT: blr
16906 ; PWR5-NEXT: lis 5, 21845
16907 ; PWR5-NEXT: lis 6, 13107
16908 ; PWR5-NEXT: ori 5, 5, 21845
16909 ; PWR5-NEXT: rotldi 8, 4, 63
16910 ; PWR5-NEXT: rotldi 9, 3, 63
16911 ; PWR5-NEXT: rldimi 5, 5, 32, 0
16912 ; PWR5-NEXT: and 8, 8, 5
16913 ; PWR5-NEXT: and 5, 9, 5
16914 ; PWR5-NEXT: ori 6, 6, 13107
16915 ; PWR5-NEXT: sub 3, 3, 5
16916 ; PWR5-NEXT: rldimi 6, 6, 32, 0
16917 ; PWR5-NEXT: sub 4, 4, 8
16918 ; PWR5-NEXT: and 8, 3, 6
16919 ; PWR5-NEXT: rotldi 3, 3, 62
16920 ; PWR5-NEXT: and 3, 3, 6
16921 ; PWR5-NEXT: lis 7, 3855
16922 ; PWR5-NEXT: and 5, 4, 6
16923 ; PWR5-NEXT: rotldi 4, 4, 62
16924 ; PWR5-NEXT: add 3, 8, 3
16925 ; PWR5-NEXT: lis 9, 257
16926 ; PWR5-NEXT: ori 7, 7, 3855
16927 ; PWR5-NEXT: and 4, 4, 6
16928 ; PWR5-NEXT: rldicl 6, 3, 60, 4
16929 ; PWR5-NEXT: ori 9, 9, 257
16930 ; PWR5-NEXT: rldimi 7, 7, 32, 0
16931 ; PWR5-NEXT: add 4, 5, 4
16932 ; PWR5-NEXT: add 3, 3, 6
16933 ; PWR5-NEXT: rldimi 9, 9, 32, 0
16934 ; PWR5-NEXT: rldicl 5, 4, 60, 4
16935 ; PWR5-NEXT: and 3, 3, 7
16936 ; PWR5-NEXT: add 4, 4, 5
16937 ; PWR5-NEXT: mulld 3, 3, 9
16938 ; PWR5-NEXT: and 4, 4, 7
16939 ; PWR5-NEXT: rldicl 3, 3, 8, 56
16940 ; PWR5-NEXT: mulld 4, 4, 9
16941 ; PWR5-NEXT: li 5, 20
16942 ; PWR5-NEXT: subfic 3, 3, 20
16943 ; PWR5-NEXT: rldicl 4, 4, 8, 56
16944 ; PWR5-NEXT: subfe 3, 5, 5
16945 ; PWR5-NEXT: subfic 4, 4, 20
16946 ; PWR5-NEXT: subfe 4, 5, 5
16947 ; PWR5-NEXT: blr
16951 ; PWR6-NEXT: lis 5, 21845
16952 ; PWR6-NEXT: lis 6, 13107
16953 ; PWR6-NEXT: ori 5, 5, 21845
16954 ; PWR6-NEXT: rotldi 8, 4, 63
16955 ; PWR6-NEXT: rotldi 9, 3, 63
16956 ; PWR6-NEXT: rldimi 5, 5, 32, 0
16957 ; PWR6-NEXT: and 8, 8, 5
16958 ; PWR6-NEXT: and 5, 9, 5
16959 ; PWR6-NEXT: ori 6, 6, 13107
16960 ; PWR6-NEXT: sub 3, 3, 5
16961 ; PWR6-NEXT: rldimi 6, 6, 32, 0
16962 ; PWR6-NEXT: sub 4, 4, 8
16963 ; PWR6-NEXT: and 8, 3, 6
16964 ; PWR6-NEXT: rotldi 3, 3, 62
16965 ; PWR6-NEXT: and 3, 3, 6
16966 ; PWR6-NEXT: lis 7, 3855
16967 ; PWR6-NEXT: and 5, 4, 6
16968 ; PWR6-NEXT: rotldi 4, 4, 62
16969 ; PWR6-NEXT: add 3, 8, 3
16970 ; PWR6-NEXT: lis 9, 257
16971 ; PWR6-NEXT: ori 7, 7, 3855
16972 ; PWR6-NEXT: and 4, 4, 6
16973 ; PWR6-NEXT: rldicl 6, 3, 60, 4
16974 ; PWR6-NEXT: ori 9, 9, 257
16975 ; PWR6-NEXT: rldimi 7, 7, 32, 0
16976 ; PWR6-NEXT: add 4, 5, 4
16977 ; PWR6-NEXT: add 3, 3, 6
16978 ; PWR6-NEXT: rldimi 9, 9, 32, 0
16979 ; PWR6-NEXT: rldicl 5, 4, 60, 4
16980 ; PWR6-NEXT: and 3, 3, 7
16981 ; PWR6-NEXT: add 4, 4, 5
16982 ; PWR6-NEXT: mulld 3, 3, 9
16983 ; PWR6-NEXT: and 4, 4, 7
16984 ; PWR6-NEXT: rldicl 3, 3, 8, 56
16985 ; PWR6-NEXT: mulld 4, 4, 9
16986 ; PWR6-NEXT: li 5, 20
16987 ; PWR6-NEXT: subfic 3, 3, 20
16988 ; PWR6-NEXT: rldicl 4, 4, 8, 56
16989 ; PWR6-NEXT: subfe 3, 5, 5
16990 ; PWR6-NEXT: subfic 4, 4, 20
16991 ; PWR6-NEXT: subfe 4, 5, 5
16992 ; PWR6-NEXT: blr
16996 ; PWR7-NEXT: addi 3, 1, -32
16997 ; PWR7-NEXT: li 5, 0
16998 ; PWR7-NEXT: li 6, -1
16999 ; PWR7-NEXT: stxvd2x 34, 0, 3
17000 ; PWR7-NEXT: ld 3, -24(1)
17001 ; PWR7-NEXT: ld 4, -32(1)
17002 ; PWR7-NEXT: popcntd 3, 3
17003 ; PWR7-NEXT: popcntd 4, 4
17004 ; PWR7-NEXT: cmpldi 3, 20
17005 ; PWR7-NEXT: iselgt 3, 6, 5
17006 ; PWR7-NEXT: cmpldi 4, 20
17007 ; PWR7-NEXT: iselgt 4, 6, 5
17008 ; PWR7-NEXT: std 3, -8(1)
17009 ; PWR7-NEXT: addi 3, 1, -16
17010 ; PWR7-NEXT: std 4, -16(1)
17011 ; PWR7-NEXT: lxvd2x 34, 0, 3
17012 ; PWR7-NEXT: blr
17016 ; PWR8-NEXT: addis 3, 2, .LCPI138_0@toc@ha
17017 ; PWR8-NEXT: vpopcntd 2, 2
17018 ; PWR8-NEXT: addi 3, 3, .LCPI138_0@toc@l
17019 ; PWR8-NEXT: lxvd2x 35, 0, 3
17020 ; PWR8-NEXT: vcmpgtud 2, 2, 3
17021 ; PWR8-NEXT: blr
17025 ; PWR9-NEXT: addis 3, 2, .LCPI138_0@toc@ha
17026 ; PWR9-NEXT: vpopcntd 2, 2
17027 ; PWR9-NEXT: addi 3, 3, .LCPI138_0@toc@l
17028 ; PWR9-NEXT: lxvx 35, 0, 3
17029 ; PWR9-NEXT: vcmpgtud 2, 2, 3
17030 ; PWR9-NEXT: blr
17040 ; PWR5-NEXT: lis 5, 21845
17041 ; PWR5-NEXT: lis 6, 13107
17042 ; PWR5-NEXT: ori 5, 5, 21845
17043 ; PWR5-NEXT: rotldi 8, 4, 63
17044 ; PWR5-NEXT: rotldi 9, 3, 63
17045 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17046 ; PWR5-NEXT: and 8, 8, 5
17047 ; PWR5-NEXT: and 5, 9, 5
17048 ; PWR5-NEXT: ori 6, 6, 13107
17049 ; PWR5-NEXT: sub 3, 3, 5
17050 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17051 ; PWR5-NEXT: sub 4, 4, 8
17052 ; PWR5-NEXT: and 8, 3, 6
17053 ; PWR5-NEXT: rotldi 3, 3, 62
17054 ; PWR5-NEXT: and 3, 3, 6
17055 ; PWR5-NEXT: lis 7, 3855
17056 ; PWR5-NEXT: and 5, 4, 6
17057 ; PWR5-NEXT: rotldi 4, 4, 62
17058 ; PWR5-NEXT: add 3, 8, 3
17059 ; PWR5-NEXT: lis 9, 257
17060 ; PWR5-NEXT: ori 7, 7, 3855
17061 ; PWR5-NEXT: and 4, 4, 6
17062 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17063 ; PWR5-NEXT: ori 9, 9, 257
17064 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17065 ; PWR5-NEXT: add 4, 5, 4
17066 ; PWR5-NEXT: add 3, 3, 6
17067 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17068 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17069 ; PWR5-NEXT: and 3, 3, 7
17070 ; PWR5-NEXT: add 4, 4, 5
17071 ; PWR5-NEXT: mulld 3, 3, 9
17072 ; PWR5-NEXT: and 4, 4, 7
17073 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17074 ; PWR5-NEXT: li 5, 21
17075 ; PWR5-NEXT: mulld 4, 4, 9
17076 ; PWR5-NEXT: subc 6, 3, 5
17077 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17078 ; PWR5-NEXT: subfe 3, 3, 3
17079 ; PWR5-NEXT: subc 5, 4, 5
17080 ; PWR5-NEXT: subfe 4, 4, 4
17081 ; PWR5-NEXT: blr
17085 ; PWR6-NEXT: lis 5, 21845
17086 ; PWR6-NEXT: lis 6, 13107
17087 ; PWR6-NEXT: ori 5, 5, 21845
17088 ; PWR6-NEXT: rotldi 8, 4, 63
17089 ; PWR6-NEXT: rotldi 9, 3, 63
17090 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17091 ; PWR6-NEXT: and 8, 8, 5
17092 ; PWR6-NEXT: and 5, 9, 5
17093 ; PWR6-NEXT: ori 6, 6, 13107
17094 ; PWR6-NEXT: sub 3, 3, 5
17095 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17096 ; PWR6-NEXT: sub 4, 4, 8
17097 ; PWR6-NEXT: and 8, 3, 6
17098 ; PWR6-NEXT: rotldi 3, 3, 62
17099 ; PWR6-NEXT: and 3, 3, 6
17100 ; PWR6-NEXT: lis 7, 3855
17101 ; PWR6-NEXT: and 5, 4, 6
17102 ; PWR6-NEXT: rotldi 4, 4, 62
17103 ; PWR6-NEXT: add 3, 8, 3
17104 ; PWR6-NEXT: lis 9, 257
17105 ; PWR6-NEXT: ori 7, 7, 3855
17106 ; PWR6-NEXT: and 4, 4, 6
17107 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17108 ; PWR6-NEXT: ori 9, 9, 257
17109 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17110 ; PWR6-NEXT: add 4, 5, 4
17111 ; PWR6-NEXT: add 3, 3, 6
17112 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17113 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17114 ; PWR6-NEXT: and 3, 3, 7
17115 ; PWR6-NEXT: add 4, 4, 5
17116 ; PWR6-NEXT: mulld 3, 3, 9
17117 ; PWR6-NEXT: and 4, 4, 7
17118 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17119 ; PWR6-NEXT: li 5, 21
17120 ; PWR6-NEXT: mulld 4, 4, 9
17121 ; PWR6-NEXT: subc 6, 3, 5
17122 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17123 ; PWR6-NEXT: subfe 3, 3, 3
17124 ; PWR6-NEXT: subc 5, 4, 5
17125 ; PWR6-NEXT: subfe 4, 4, 4
17126 ; PWR6-NEXT: blr
17130 ; PWR7-NEXT: addi 3, 1, -32
17131 ; PWR7-NEXT: li 5, 0
17132 ; PWR7-NEXT: li 6, -1
17133 ; PWR7-NEXT: stxvd2x 34, 0, 3
17134 ; PWR7-NEXT: ld 3, -24(1)
17135 ; PWR7-NEXT: ld 4, -32(1)
17136 ; PWR7-NEXT: popcntd 3, 3
17137 ; PWR7-NEXT: popcntd 4, 4
17138 ; PWR7-NEXT: cmpldi 3, 21
17139 ; PWR7-NEXT: isellt 3, 6, 5
17140 ; PWR7-NEXT: cmpldi 4, 21
17141 ; PWR7-NEXT: isellt 4, 6, 5
17142 ; PWR7-NEXT: std 3, -8(1)
17143 ; PWR7-NEXT: addi 3, 1, -16
17144 ; PWR7-NEXT: std 4, -16(1)
17145 ; PWR7-NEXT: lxvd2x 34, 0, 3
17146 ; PWR7-NEXT: blr
17150 ; PWR8-NEXT: addis 3, 2, .LCPI139_0@toc@ha
17151 ; PWR8-NEXT: vpopcntd 2, 2
17152 ; PWR8-NEXT: addi 3, 3, .LCPI139_0@toc@l
17153 ; PWR8-NEXT: lxvd2x 35, 0, 3
17154 ; PWR8-NEXT: vcmpgtud 2, 3, 2
17155 ; PWR8-NEXT: blr
17159 ; PWR9-NEXT: addis 3, 2, .LCPI139_0@toc@ha
17160 ; PWR9-NEXT: vpopcntd 2, 2
17161 ; PWR9-NEXT: addi 3, 3, .LCPI139_0@toc@l
17162 ; PWR9-NEXT: lxvx 35, 0, 3
17163 ; PWR9-NEXT: vcmpgtud 2, 3, 2
17164 ; PWR9-NEXT: blr
17174 ; PWR5-NEXT: lis 5, 21845
17175 ; PWR5-NEXT: lis 6, 13107
17176 ; PWR5-NEXT: ori 5, 5, 21845
17177 ; PWR5-NEXT: rotldi 8, 4, 63
17178 ; PWR5-NEXT: rotldi 9, 3, 63
17179 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17180 ; PWR5-NEXT: and 8, 8, 5
17181 ; PWR5-NEXT: and 5, 9, 5
17182 ; PWR5-NEXT: ori 6, 6, 13107
17183 ; PWR5-NEXT: sub 3, 3, 5
17184 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17185 ; PWR5-NEXT: sub 4, 4, 8
17186 ; PWR5-NEXT: and 8, 3, 6
17187 ; PWR5-NEXT: rotldi 3, 3, 62
17188 ; PWR5-NEXT: and 3, 3, 6
17189 ; PWR5-NEXT: lis 7, 3855
17190 ; PWR5-NEXT: and 5, 4, 6
17191 ; PWR5-NEXT: rotldi 4, 4, 62
17192 ; PWR5-NEXT: add 3, 8, 3
17193 ; PWR5-NEXT: lis 9, 257
17194 ; PWR5-NEXT: ori 7, 7, 3855
17195 ; PWR5-NEXT: and 4, 4, 6
17196 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17197 ; PWR5-NEXT: ori 9, 9, 257
17198 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17199 ; PWR5-NEXT: add 4, 5, 4
17200 ; PWR5-NEXT: add 3, 3, 6
17201 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17202 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17203 ; PWR5-NEXT: and 3, 3, 7
17204 ; PWR5-NEXT: add 4, 4, 5
17205 ; PWR5-NEXT: mulld 3, 3, 9
17206 ; PWR5-NEXT: and 4, 4, 7
17207 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17208 ; PWR5-NEXT: mulld 4, 4, 9
17209 ; PWR5-NEXT: li 5, 21
17210 ; PWR5-NEXT: subfic 3, 3, 21
17211 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17212 ; PWR5-NEXT: subfe 3, 5, 5
17213 ; PWR5-NEXT: subfic 4, 4, 21
17214 ; PWR5-NEXT: subfe 4, 5, 5
17215 ; PWR5-NEXT: blr
17219 ; PWR6-NEXT: lis 5, 21845
17220 ; PWR6-NEXT: lis 6, 13107
17221 ; PWR6-NEXT: ori 5, 5, 21845
17222 ; PWR6-NEXT: rotldi 8, 4, 63
17223 ; PWR6-NEXT: rotldi 9, 3, 63
17224 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17225 ; PWR6-NEXT: and 8, 8, 5
17226 ; PWR6-NEXT: and 5, 9, 5
17227 ; PWR6-NEXT: ori 6, 6, 13107
17228 ; PWR6-NEXT: sub 3, 3, 5
17229 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17230 ; PWR6-NEXT: sub 4, 4, 8
17231 ; PWR6-NEXT: and 8, 3, 6
17232 ; PWR6-NEXT: rotldi 3, 3, 62
17233 ; PWR6-NEXT: and 3, 3, 6
17234 ; PWR6-NEXT: lis 7, 3855
17235 ; PWR6-NEXT: and 5, 4, 6
17236 ; PWR6-NEXT: rotldi 4, 4, 62
17237 ; PWR6-NEXT: add 3, 8, 3
17238 ; PWR6-NEXT: lis 9, 257
17239 ; PWR6-NEXT: ori 7, 7, 3855
17240 ; PWR6-NEXT: and 4, 4, 6
17241 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17242 ; PWR6-NEXT: ori 9, 9, 257
17243 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17244 ; PWR6-NEXT: add 4, 5, 4
17245 ; PWR6-NEXT: add 3, 3, 6
17246 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17247 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17248 ; PWR6-NEXT: and 3, 3, 7
17249 ; PWR6-NEXT: add 4, 4, 5
17250 ; PWR6-NEXT: mulld 3, 3, 9
17251 ; PWR6-NEXT: and 4, 4, 7
17252 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17253 ; PWR6-NEXT: mulld 4, 4, 9
17254 ; PWR6-NEXT: li 5, 21
17255 ; PWR6-NEXT: subfic 3, 3, 21
17256 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17257 ; PWR6-NEXT: subfe 3, 5, 5
17258 ; PWR6-NEXT: subfic 4, 4, 21
17259 ; PWR6-NEXT: subfe 4, 5, 5
17260 ; PWR6-NEXT: blr
17264 ; PWR7-NEXT: addi 3, 1, -32
17265 ; PWR7-NEXT: li 5, 0
17266 ; PWR7-NEXT: li 6, -1
17267 ; PWR7-NEXT: stxvd2x 34, 0, 3
17268 ; PWR7-NEXT: ld 3, -24(1)
17269 ; PWR7-NEXT: ld 4, -32(1)
17270 ; PWR7-NEXT: popcntd 3, 3
17271 ; PWR7-NEXT: popcntd 4, 4
17272 ; PWR7-NEXT: cmpldi 3, 21
17273 ; PWR7-NEXT: iselgt 3, 6, 5
17274 ; PWR7-NEXT: cmpldi 4, 21
17275 ; PWR7-NEXT: iselgt 4, 6, 5
17276 ; PWR7-NEXT: std 3, -8(1)
17277 ; PWR7-NEXT: addi 3, 1, -16
17278 ; PWR7-NEXT: std 4, -16(1)
17279 ; PWR7-NEXT: lxvd2x 34, 0, 3
17280 ; PWR7-NEXT: blr
17284 ; PWR8-NEXT: addis 3, 2, .LCPI140_0@toc@ha
17285 ; PWR8-NEXT: vpopcntd 2, 2
17286 ; PWR8-NEXT: addi 3, 3, .LCPI140_0@toc@l
17287 ; PWR8-NEXT: lxvd2x 35, 0, 3
17288 ; PWR8-NEXT: vcmpgtud 2, 2, 3
17289 ; PWR8-NEXT: blr
17293 ; PWR9-NEXT: addis 3, 2, .LCPI140_0@toc@ha
17294 ; PWR9-NEXT: vpopcntd 2, 2
17295 ; PWR9-NEXT: addi 3, 3, .LCPI140_0@toc@l
17296 ; PWR9-NEXT: lxvx 35, 0, 3
17297 ; PWR9-NEXT: vcmpgtud 2, 2, 3
17298 ; PWR9-NEXT: blr
17308 ; PWR5-NEXT: lis 5, 21845
17309 ; PWR5-NEXT: lis 6, 13107
17310 ; PWR5-NEXT: ori 5, 5, 21845
17311 ; PWR5-NEXT: rotldi 8, 4, 63
17312 ; PWR5-NEXT: rotldi 9, 3, 63
17313 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17314 ; PWR5-NEXT: and 8, 8, 5
17315 ; PWR5-NEXT: and 5, 9, 5
17316 ; PWR5-NEXT: ori 6, 6, 13107
17317 ; PWR5-NEXT: sub 3, 3, 5
17318 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17319 ; PWR5-NEXT: sub 4, 4, 8
17320 ; PWR5-NEXT: and 8, 3, 6
17321 ; PWR5-NEXT: rotldi 3, 3, 62
17322 ; PWR5-NEXT: and 3, 3, 6
17323 ; PWR5-NEXT: lis 7, 3855
17324 ; PWR5-NEXT: and 5, 4, 6
17325 ; PWR5-NEXT: rotldi 4, 4, 62
17326 ; PWR5-NEXT: add 3, 8, 3
17327 ; PWR5-NEXT: lis 9, 257
17328 ; PWR5-NEXT: ori 7, 7, 3855
17329 ; PWR5-NEXT: and 4, 4, 6
17330 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17331 ; PWR5-NEXT: ori 9, 9, 257
17332 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17333 ; PWR5-NEXT: add 4, 5, 4
17334 ; PWR5-NEXT: add 3, 3, 6
17335 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17336 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17337 ; PWR5-NEXT: and 3, 3, 7
17338 ; PWR5-NEXT: add 4, 4, 5
17339 ; PWR5-NEXT: mulld 3, 3, 9
17340 ; PWR5-NEXT: and 4, 4, 7
17341 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17342 ; PWR5-NEXT: li 5, 22
17343 ; PWR5-NEXT: mulld 4, 4, 9
17344 ; PWR5-NEXT: subc 6, 3, 5
17345 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17346 ; PWR5-NEXT: subfe 3, 3, 3
17347 ; PWR5-NEXT: subc 5, 4, 5
17348 ; PWR5-NEXT: subfe 4, 4, 4
17349 ; PWR5-NEXT: blr
17353 ; PWR6-NEXT: lis 5, 21845
17354 ; PWR6-NEXT: lis 6, 13107
17355 ; PWR6-NEXT: ori 5, 5, 21845
17356 ; PWR6-NEXT: rotldi 8, 4, 63
17357 ; PWR6-NEXT: rotldi 9, 3, 63
17358 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17359 ; PWR6-NEXT: and 8, 8, 5
17360 ; PWR6-NEXT: and 5, 9, 5
17361 ; PWR6-NEXT: ori 6, 6, 13107
17362 ; PWR6-NEXT: sub 3, 3, 5
17363 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17364 ; PWR6-NEXT: sub 4, 4, 8
17365 ; PWR6-NEXT: and 8, 3, 6
17366 ; PWR6-NEXT: rotldi 3, 3, 62
17367 ; PWR6-NEXT: and 3, 3, 6
17368 ; PWR6-NEXT: lis 7, 3855
17369 ; PWR6-NEXT: and 5, 4, 6
17370 ; PWR6-NEXT: rotldi 4, 4, 62
17371 ; PWR6-NEXT: add 3, 8, 3
17372 ; PWR6-NEXT: lis 9, 257
17373 ; PWR6-NEXT: ori 7, 7, 3855
17374 ; PWR6-NEXT: and 4, 4, 6
17375 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17376 ; PWR6-NEXT: ori 9, 9, 257
17377 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17378 ; PWR6-NEXT: add 4, 5, 4
17379 ; PWR6-NEXT: add 3, 3, 6
17380 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17381 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17382 ; PWR6-NEXT: and 3, 3, 7
17383 ; PWR6-NEXT: add 4, 4, 5
17384 ; PWR6-NEXT: mulld 3, 3, 9
17385 ; PWR6-NEXT: and 4, 4, 7
17386 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17387 ; PWR6-NEXT: li 5, 22
17388 ; PWR6-NEXT: mulld 4, 4, 9
17389 ; PWR6-NEXT: subc 6, 3, 5
17390 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17391 ; PWR6-NEXT: subfe 3, 3, 3
17392 ; PWR6-NEXT: subc 5, 4, 5
17393 ; PWR6-NEXT: subfe 4, 4, 4
17394 ; PWR6-NEXT: blr
17398 ; PWR7-NEXT: addi 3, 1, -32
17399 ; PWR7-NEXT: li 5, 0
17400 ; PWR7-NEXT: li 6, -1
17401 ; PWR7-NEXT: stxvd2x 34, 0, 3
17402 ; PWR7-NEXT: ld 3, -24(1)
17403 ; PWR7-NEXT: ld 4, -32(1)
17404 ; PWR7-NEXT: popcntd 3, 3
17405 ; PWR7-NEXT: popcntd 4, 4
17406 ; PWR7-NEXT: cmpldi 3, 22
17407 ; PWR7-NEXT: isellt 3, 6, 5
17408 ; PWR7-NEXT: cmpldi 4, 22
17409 ; PWR7-NEXT: isellt 4, 6, 5
17410 ; PWR7-NEXT: std 3, -8(1)
17411 ; PWR7-NEXT: addi 3, 1, -16
17412 ; PWR7-NEXT: std 4, -16(1)
17413 ; PWR7-NEXT: lxvd2x 34, 0, 3
17414 ; PWR7-NEXT: blr
17418 ; PWR8-NEXT: addis 3, 2, .LCPI141_0@toc@ha
17419 ; PWR8-NEXT: vpopcntd 2, 2
17420 ; PWR8-NEXT: addi 3, 3, .LCPI141_0@toc@l
17421 ; PWR8-NEXT: lxvd2x 35, 0, 3
17422 ; PWR8-NEXT: vcmpgtud 2, 3, 2
17423 ; PWR8-NEXT: blr
17427 ; PWR9-NEXT: addis 3, 2, .LCPI141_0@toc@ha
17428 ; PWR9-NEXT: vpopcntd 2, 2
17429 ; PWR9-NEXT: addi 3, 3, .LCPI141_0@toc@l
17430 ; PWR9-NEXT: lxvx 35, 0, 3
17431 ; PWR9-NEXT: vcmpgtud 2, 3, 2
17432 ; PWR9-NEXT: blr
17442 ; PWR5-NEXT: lis 5, 21845
17443 ; PWR5-NEXT: lis 6, 13107
17444 ; PWR5-NEXT: ori 5, 5, 21845
17445 ; PWR5-NEXT: rotldi 8, 4, 63
17446 ; PWR5-NEXT: rotldi 9, 3, 63
17447 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17448 ; PWR5-NEXT: and 8, 8, 5
17449 ; PWR5-NEXT: and 5, 9, 5
17450 ; PWR5-NEXT: ori 6, 6, 13107
17451 ; PWR5-NEXT: sub 3, 3, 5
17452 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17453 ; PWR5-NEXT: sub 4, 4, 8
17454 ; PWR5-NEXT: and 8, 3, 6
17455 ; PWR5-NEXT: rotldi 3, 3, 62
17456 ; PWR5-NEXT: and 3, 3, 6
17457 ; PWR5-NEXT: lis 7, 3855
17458 ; PWR5-NEXT: and 5, 4, 6
17459 ; PWR5-NEXT: rotldi 4, 4, 62
17460 ; PWR5-NEXT: add 3, 8, 3
17461 ; PWR5-NEXT: lis 9, 257
17462 ; PWR5-NEXT: ori 7, 7, 3855
17463 ; PWR5-NEXT: and 4, 4, 6
17464 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17465 ; PWR5-NEXT: ori 9, 9, 257
17466 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17467 ; PWR5-NEXT: add 4, 5, 4
17468 ; PWR5-NEXT: add 3, 3, 6
17469 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17470 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17471 ; PWR5-NEXT: and 3, 3, 7
17472 ; PWR5-NEXT: add 4, 4, 5
17473 ; PWR5-NEXT: mulld 3, 3, 9
17474 ; PWR5-NEXT: and 4, 4, 7
17475 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17476 ; PWR5-NEXT: mulld 4, 4, 9
17477 ; PWR5-NEXT: li 5, 22
17478 ; PWR5-NEXT: subfic 3, 3, 22
17479 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17480 ; PWR5-NEXT: subfe 3, 5, 5
17481 ; PWR5-NEXT: subfic 4, 4, 22
17482 ; PWR5-NEXT: subfe 4, 5, 5
17483 ; PWR5-NEXT: blr
17487 ; PWR6-NEXT: lis 5, 21845
17488 ; PWR6-NEXT: lis 6, 13107
17489 ; PWR6-NEXT: ori 5, 5, 21845
17490 ; PWR6-NEXT: rotldi 8, 4, 63
17491 ; PWR6-NEXT: rotldi 9, 3, 63
17492 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17493 ; PWR6-NEXT: and 8, 8, 5
17494 ; PWR6-NEXT: and 5, 9, 5
17495 ; PWR6-NEXT: ori 6, 6, 13107
17496 ; PWR6-NEXT: sub 3, 3, 5
17497 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17498 ; PWR6-NEXT: sub 4, 4, 8
17499 ; PWR6-NEXT: and 8, 3, 6
17500 ; PWR6-NEXT: rotldi 3, 3, 62
17501 ; PWR6-NEXT: and 3, 3, 6
17502 ; PWR6-NEXT: lis 7, 3855
17503 ; PWR6-NEXT: and 5, 4, 6
17504 ; PWR6-NEXT: rotldi 4, 4, 62
17505 ; PWR6-NEXT: add 3, 8, 3
17506 ; PWR6-NEXT: lis 9, 257
17507 ; PWR6-NEXT: ori 7, 7, 3855
17508 ; PWR6-NEXT: and 4, 4, 6
17509 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17510 ; PWR6-NEXT: ori 9, 9, 257
17511 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17512 ; PWR6-NEXT: add 4, 5, 4
17513 ; PWR6-NEXT: add 3, 3, 6
17514 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17515 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17516 ; PWR6-NEXT: and 3, 3, 7
17517 ; PWR6-NEXT: add 4, 4, 5
17518 ; PWR6-NEXT: mulld 3, 3, 9
17519 ; PWR6-NEXT: and 4, 4, 7
17520 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17521 ; PWR6-NEXT: mulld 4, 4, 9
17522 ; PWR6-NEXT: li 5, 22
17523 ; PWR6-NEXT: subfic 3, 3, 22
17524 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17525 ; PWR6-NEXT: subfe 3, 5, 5
17526 ; PWR6-NEXT: subfic 4, 4, 22
17527 ; PWR6-NEXT: subfe 4, 5, 5
17528 ; PWR6-NEXT: blr
17532 ; PWR7-NEXT: addi 3, 1, -32
17533 ; PWR7-NEXT: li 5, 0
17534 ; PWR7-NEXT: li 6, -1
17535 ; PWR7-NEXT: stxvd2x 34, 0, 3
17536 ; PWR7-NEXT: ld 3, -24(1)
17537 ; PWR7-NEXT: ld 4, -32(1)
17538 ; PWR7-NEXT: popcntd 3, 3
17539 ; PWR7-NEXT: popcntd 4, 4
17540 ; PWR7-NEXT: cmpldi 3, 22
17541 ; PWR7-NEXT: iselgt 3, 6, 5
17542 ; PWR7-NEXT: cmpldi 4, 22
17543 ; PWR7-NEXT: iselgt 4, 6, 5
17544 ; PWR7-NEXT: std 3, -8(1)
17545 ; PWR7-NEXT: addi 3, 1, -16
17546 ; PWR7-NEXT: std 4, -16(1)
17547 ; PWR7-NEXT: lxvd2x 34, 0, 3
17548 ; PWR7-NEXT: blr
17552 ; PWR8-NEXT: addis 3, 2, .LCPI142_0@toc@ha
17553 ; PWR8-NEXT: vpopcntd 2, 2
17554 ; PWR8-NEXT: addi 3, 3, .LCPI142_0@toc@l
17555 ; PWR8-NEXT: lxvd2x 35, 0, 3
17556 ; PWR8-NEXT: vcmpgtud 2, 2, 3
17557 ; PWR8-NEXT: blr
17561 ; PWR9-NEXT: addis 3, 2, .LCPI142_0@toc@ha
17562 ; PWR9-NEXT: vpopcntd 2, 2
17563 ; PWR9-NEXT: addi 3, 3, .LCPI142_0@toc@l
17564 ; PWR9-NEXT: lxvx 35, 0, 3
17565 ; PWR9-NEXT: vcmpgtud 2, 2, 3
17566 ; PWR9-NEXT: blr
17576 ; PWR5-NEXT: lis 5, 21845
17577 ; PWR5-NEXT: lis 6, 13107
17578 ; PWR5-NEXT: ori 5, 5, 21845
17579 ; PWR5-NEXT: rotldi 8, 4, 63
17580 ; PWR5-NEXT: rotldi 9, 3, 63
17581 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17582 ; PWR5-NEXT: and 8, 8, 5
17583 ; PWR5-NEXT: and 5, 9, 5
17584 ; PWR5-NEXT: ori 6, 6, 13107
17585 ; PWR5-NEXT: sub 3, 3, 5
17586 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17587 ; PWR5-NEXT: sub 4, 4, 8
17588 ; PWR5-NEXT: and 8, 3, 6
17589 ; PWR5-NEXT: rotldi 3, 3, 62
17590 ; PWR5-NEXT: and 3, 3, 6
17591 ; PWR5-NEXT: lis 7, 3855
17592 ; PWR5-NEXT: and 5, 4, 6
17593 ; PWR5-NEXT: rotldi 4, 4, 62
17594 ; PWR5-NEXT: add 3, 8, 3
17595 ; PWR5-NEXT: lis 9, 257
17596 ; PWR5-NEXT: ori 7, 7, 3855
17597 ; PWR5-NEXT: and 4, 4, 6
17598 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17599 ; PWR5-NEXT: ori 9, 9, 257
17600 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17601 ; PWR5-NEXT: add 4, 5, 4
17602 ; PWR5-NEXT: add 3, 3, 6
17603 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17604 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17605 ; PWR5-NEXT: and 3, 3, 7
17606 ; PWR5-NEXT: add 4, 4, 5
17607 ; PWR5-NEXT: mulld 3, 3, 9
17608 ; PWR5-NEXT: and 4, 4, 7
17609 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17610 ; PWR5-NEXT: li 5, 23
17611 ; PWR5-NEXT: mulld 4, 4, 9
17612 ; PWR5-NEXT: subc 6, 3, 5
17613 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17614 ; PWR5-NEXT: subfe 3, 3, 3
17615 ; PWR5-NEXT: subc 5, 4, 5
17616 ; PWR5-NEXT: subfe 4, 4, 4
17617 ; PWR5-NEXT: blr
17621 ; PWR6-NEXT: lis 5, 21845
17622 ; PWR6-NEXT: lis 6, 13107
17623 ; PWR6-NEXT: ori 5, 5, 21845
17624 ; PWR6-NEXT: rotldi 8, 4, 63
17625 ; PWR6-NEXT: rotldi 9, 3, 63
17626 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17627 ; PWR6-NEXT: and 8, 8, 5
17628 ; PWR6-NEXT: and 5, 9, 5
17629 ; PWR6-NEXT: ori 6, 6, 13107
17630 ; PWR6-NEXT: sub 3, 3, 5
17631 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17632 ; PWR6-NEXT: sub 4, 4, 8
17633 ; PWR6-NEXT: and 8, 3, 6
17634 ; PWR6-NEXT: rotldi 3, 3, 62
17635 ; PWR6-NEXT: and 3, 3, 6
17636 ; PWR6-NEXT: lis 7, 3855
17637 ; PWR6-NEXT: and 5, 4, 6
17638 ; PWR6-NEXT: rotldi 4, 4, 62
17639 ; PWR6-NEXT: add 3, 8, 3
17640 ; PWR6-NEXT: lis 9, 257
17641 ; PWR6-NEXT: ori 7, 7, 3855
17642 ; PWR6-NEXT: and 4, 4, 6
17643 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17644 ; PWR6-NEXT: ori 9, 9, 257
17645 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17646 ; PWR6-NEXT: add 4, 5, 4
17647 ; PWR6-NEXT: add 3, 3, 6
17648 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17649 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17650 ; PWR6-NEXT: and 3, 3, 7
17651 ; PWR6-NEXT: add 4, 4, 5
17652 ; PWR6-NEXT: mulld 3, 3, 9
17653 ; PWR6-NEXT: and 4, 4, 7
17654 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17655 ; PWR6-NEXT: li 5, 23
17656 ; PWR6-NEXT: mulld 4, 4, 9
17657 ; PWR6-NEXT: subc 6, 3, 5
17658 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17659 ; PWR6-NEXT: subfe 3, 3, 3
17660 ; PWR6-NEXT: subc 5, 4, 5
17661 ; PWR6-NEXT: subfe 4, 4, 4
17662 ; PWR6-NEXT: blr
17666 ; PWR7-NEXT: addi 3, 1, -32
17667 ; PWR7-NEXT: li 5, 0
17668 ; PWR7-NEXT: li 6, -1
17669 ; PWR7-NEXT: stxvd2x 34, 0, 3
17670 ; PWR7-NEXT: ld 3, -24(1)
17671 ; PWR7-NEXT: ld 4, -32(1)
17672 ; PWR7-NEXT: popcntd 3, 3
17673 ; PWR7-NEXT: popcntd 4, 4
17674 ; PWR7-NEXT: cmpldi 3, 23
17675 ; PWR7-NEXT: isellt 3, 6, 5
17676 ; PWR7-NEXT: cmpldi 4, 23
17677 ; PWR7-NEXT: isellt 4, 6, 5
17678 ; PWR7-NEXT: std 3, -8(1)
17679 ; PWR7-NEXT: addi 3, 1, -16
17680 ; PWR7-NEXT: std 4, -16(1)
17681 ; PWR7-NEXT: lxvd2x 34, 0, 3
17682 ; PWR7-NEXT: blr
17686 ; PWR8-NEXT: addis 3, 2, .LCPI143_0@toc@ha
17687 ; PWR8-NEXT: vpopcntd 2, 2
17688 ; PWR8-NEXT: addi 3, 3, .LCPI143_0@toc@l
17689 ; PWR8-NEXT: lxvd2x 35, 0, 3
17690 ; PWR8-NEXT: vcmpgtud 2, 3, 2
17691 ; PWR8-NEXT: blr
17695 ; PWR9-NEXT: addis 3, 2, .LCPI143_0@toc@ha
17696 ; PWR9-NEXT: vpopcntd 2, 2
17697 ; PWR9-NEXT: addi 3, 3, .LCPI143_0@toc@l
17698 ; PWR9-NEXT: lxvx 35, 0, 3
17699 ; PWR9-NEXT: vcmpgtud 2, 3, 2
17700 ; PWR9-NEXT: blr
17710 ; PWR5-NEXT: lis 5, 21845
17711 ; PWR5-NEXT: lis 6, 13107
17712 ; PWR5-NEXT: ori 5, 5, 21845
17713 ; PWR5-NEXT: rotldi 8, 4, 63
17714 ; PWR5-NEXT: rotldi 9, 3, 63
17715 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17716 ; PWR5-NEXT: and 8, 8, 5
17717 ; PWR5-NEXT: and 5, 9, 5
17718 ; PWR5-NEXT: ori 6, 6, 13107
17719 ; PWR5-NEXT: sub 3, 3, 5
17720 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17721 ; PWR5-NEXT: sub 4, 4, 8
17722 ; PWR5-NEXT: and 8, 3, 6
17723 ; PWR5-NEXT: rotldi 3, 3, 62
17724 ; PWR5-NEXT: and 3, 3, 6
17725 ; PWR5-NEXT: lis 7, 3855
17726 ; PWR5-NEXT: and 5, 4, 6
17727 ; PWR5-NEXT: rotldi 4, 4, 62
17728 ; PWR5-NEXT: add 3, 8, 3
17729 ; PWR5-NEXT: lis 9, 257
17730 ; PWR5-NEXT: ori 7, 7, 3855
17731 ; PWR5-NEXT: and 4, 4, 6
17732 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17733 ; PWR5-NEXT: ori 9, 9, 257
17734 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17735 ; PWR5-NEXT: add 4, 5, 4
17736 ; PWR5-NEXT: add 3, 3, 6
17737 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17738 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17739 ; PWR5-NEXT: and 3, 3, 7
17740 ; PWR5-NEXT: add 4, 4, 5
17741 ; PWR5-NEXT: mulld 3, 3, 9
17742 ; PWR5-NEXT: and 4, 4, 7
17743 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17744 ; PWR5-NEXT: mulld 4, 4, 9
17745 ; PWR5-NEXT: li 5, 23
17746 ; PWR5-NEXT: subfic 3, 3, 23
17747 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17748 ; PWR5-NEXT: subfe 3, 5, 5
17749 ; PWR5-NEXT: subfic 4, 4, 23
17750 ; PWR5-NEXT: subfe 4, 5, 5
17751 ; PWR5-NEXT: blr
17755 ; PWR6-NEXT: lis 5, 21845
17756 ; PWR6-NEXT: lis 6, 13107
17757 ; PWR6-NEXT: ori 5, 5, 21845
17758 ; PWR6-NEXT: rotldi 8, 4, 63
17759 ; PWR6-NEXT: rotldi 9, 3, 63
17760 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17761 ; PWR6-NEXT: and 8, 8, 5
17762 ; PWR6-NEXT: and 5, 9, 5
17763 ; PWR6-NEXT: ori 6, 6, 13107
17764 ; PWR6-NEXT: sub 3, 3, 5
17765 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17766 ; PWR6-NEXT: sub 4, 4, 8
17767 ; PWR6-NEXT: and 8, 3, 6
17768 ; PWR6-NEXT: rotldi 3, 3, 62
17769 ; PWR6-NEXT: and 3, 3, 6
17770 ; PWR6-NEXT: lis 7, 3855
17771 ; PWR6-NEXT: and 5, 4, 6
17772 ; PWR6-NEXT: rotldi 4, 4, 62
17773 ; PWR6-NEXT: add 3, 8, 3
17774 ; PWR6-NEXT: lis 9, 257
17775 ; PWR6-NEXT: ori 7, 7, 3855
17776 ; PWR6-NEXT: and 4, 4, 6
17777 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17778 ; PWR6-NEXT: ori 9, 9, 257
17779 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17780 ; PWR6-NEXT: add 4, 5, 4
17781 ; PWR6-NEXT: add 3, 3, 6
17782 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17783 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17784 ; PWR6-NEXT: and 3, 3, 7
17785 ; PWR6-NEXT: add 4, 4, 5
17786 ; PWR6-NEXT: mulld 3, 3, 9
17787 ; PWR6-NEXT: and 4, 4, 7
17788 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17789 ; PWR6-NEXT: mulld 4, 4, 9
17790 ; PWR6-NEXT: li 5, 23
17791 ; PWR6-NEXT: subfic 3, 3, 23
17792 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17793 ; PWR6-NEXT: subfe 3, 5, 5
17794 ; PWR6-NEXT: subfic 4, 4, 23
17795 ; PWR6-NEXT: subfe 4, 5, 5
17796 ; PWR6-NEXT: blr
17800 ; PWR7-NEXT: addi 3, 1, -32
17801 ; PWR7-NEXT: li 5, 0
17802 ; PWR7-NEXT: li 6, -1
17803 ; PWR7-NEXT: stxvd2x 34, 0, 3
17804 ; PWR7-NEXT: ld 3, -24(1)
17805 ; PWR7-NEXT: ld 4, -32(1)
17806 ; PWR7-NEXT: popcntd 3, 3
17807 ; PWR7-NEXT: popcntd 4, 4
17808 ; PWR7-NEXT: cmpldi 3, 23
17809 ; PWR7-NEXT: iselgt 3, 6, 5
17810 ; PWR7-NEXT: cmpldi 4, 23
17811 ; PWR7-NEXT: iselgt 4, 6, 5
17812 ; PWR7-NEXT: std 3, -8(1)
17813 ; PWR7-NEXT: addi 3, 1, -16
17814 ; PWR7-NEXT: std 4, -16(1)
17815 ; PWR7-NEXT: lxvd2x 34, 0, 3
17816 ; PWR7-NEXT: blr
17820 ; PWR8-NEXT: addis 3, 2, .LCPI144_0@toc@ha
17821 ; PWR8-NEXT: vpopcntd 2, 2
17822 ; PWR8-NEXT: addi 3, 3, .LCPI144_0@toc@l
17823 ; PWR8-NEXT: lxvd2x 35, 0, 3
17824 ; PWR8-NEXT: vcmpgtud 2, 2, 3
17825 ; PWR8-NEXT: blr
17829 ; PWR9-NEXT: addis 3, 2, .LCPI144_0@toc@ha
17830 ; PWR9-NEXT: vpopcntd 2, 2
17831 ; PWR9-NEXT: addi 3, 3, .LCPI144_0@toc@l
17832 ; PWR9-NEXT: lxvx 35, 0, 3
17833 ; PWR9-NEXT: vcmpgtud 2, 2, 3
17834 ; PWR9-NEXT: blr
17844 ; PWR5-NEXT: lis 5, 21845
17845 ; PWR5-NEXT: lis 6, 13107
17846 ; PWR5-NEXT: ori 5, 5, 21845
17847 ; PWR5-NEXT: rotldi 8, 4, 63
17848 ; PWR5-NEXT: rotldi 9, 3, 63
17849 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17850 ; PWR5-NEXT: and 8, 8, 5
17851 ; PWR5-NEXT: and 5, 9, 5
17852 ; PWR5-NEXT: ori 6, 6, 13107
17853 ; PWR5-NEXT: sub 3, 3, 5
17854 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17855 ; PWR5-NEXT: sub 4, 4, 8
17856 ; PWR5-NEXT: and 8, 3, 6
17857 ; PWR5-NEXT: rotldi 3, 3, 62
17858 ; PWR5-NEXT: and 3, 3, 6
17859 ; PWR5-NEXT: lis 7, 3855
17860 ; PWR5-NEXT: and 5, 4, 6
17861 ; PWR5-NEXT: rotldi 4, 4, 62
17862 ; PWR5-NEXT: add 3, 8, 3
17863 ; PWR5-NEXT: lis 9, 257
17864 ; PWR5-NEXT: ori 7, 7, 3855
17865 ; PWR5-NEXT: and 4, 4, 6
17866 ; PWR5-NEXT: rldicl 6, 3, 60, 4
17867 ; PWR5-NEXT: ori 9, 9, 257
17868 ; PWR5-NEXT: rldimi 7, 7, 32, 0
17869 ; PWR5-NEXT: add 4, 5, 4
17870 ; PWR5-NEXT: add 3, 3, 6
17871 ; PWR5-NEXT: rldimi 9, 9, 32, 0
17872 ; PWR5-NEXT: rldicl 5, 4, 60, 4
17873 ; PWR5-NEXT: and 3, 3, 7
17874 ; PWR5-NEXT: add 4, 4, 5
17875 ; PWR5-NEXT: mulld 3, 3, 9
17876 ; PWR5-NEXT: and 4, 4, 7
17877 ; PWR5-NEXT: rldicl 3, 3, 8, 56
17878 ; PWR5-NEXT: li 5, 24
17879 ; PWR5-NEXT: mulld 4, 4, 9
17880 ; PWR5-NEXT: subc 6, 3, 5
17881 ; PWR5-NEXT: rldicl 4, 4, 8, 56
17882 ; PWR5-NEXT: subfe 3, 3, 3
17883 ; PWR5-NEXT: subc 5, 4, 5
17884 ; PWR5-NEXT: subfe 4, 4, 4
17885 ; PWR5-NEXT: blr
17889 ; PWR6-NEXT: lis 5, 21845
17890 ; PWR6-NEXT: lis 6, 13107
17891 ; PWR6-NEXT: ori 5, 5, 21845
17892 ; PWR6-NEXT: rotldi 8, 4, 63
17893 ; PWR6-NEXT: rotldi 9, 3, 63
17894 ; PWR6-NEXT: rldimi 5, 5, 32, 0
17895 ; PWR6-NEXT: and 8, 8, 5
17896 ; PWR6-NEXT: and 5, 9, 5
17897 ; PWR6-NEXT: ori 6, 6, 13107
17898 ; PWR6-NEXT: sub 3, 3, 5
17899 ; PWR6-NEXT: rldimi 6, 6, 32, 0
17900 ; PWR6-NEXT: sub 4, 4, 8
17901 ; PWR6-NEXT: and 8, 3, 6
17902 ; PWR6-NEXT: rotldi 3, 3, 62
17903 ; PWR6-NEXT: and 3, 3, 6
17904 ; PWR6-NEXT: lis 7, 3855
17905 ; PWR6-NEXT: and 5, 4, 6
17906 ; PWR6-NEXT: rotldi 4, 4, 62
17907 ; PWR6-NEXT: add 3, 8, 3
17908 ; PWR6-NEXT: lis 9, 257
17909 ; PWR6-NEXT: ori 7, 7, 3855
17910 ; PWR6-NEXT: and 4, 4, 6
17911 ; PWR6-NEXT: rldicl 6, 3, 60, 4
17912 ; PWR6-NEXT: ori 9, 9, 257
17913 ; PWR6-NEXT: rldimi 7, 7, 32, 0
17914 ; PWR6-NEXT: add 4, 5, 4
17915 ; PWR6-NEXT: add 3, 3, 6
17916 ; PWR6-NEXT: rldimi 9, 9, 32, 0
17917 ; PWR6-NEXT: rldicl 5, 4, 60, 4
17918 ; PWR6-NEXT: and 3, 3, 7
17919 ; PWR6-NEXT: add 4, 4, 5
17920 ; PWR6-NEXT: mulld 3, 3, 9
17921 ; PWR6-NEXT: and 4, 4, 7
17922 ; PWR6-NEXT: rldicl 3, 3, 8, 56
17923 ; PWR6-NEXT: li 5, 24
17924 ; PWR6-NEXT: mulld 4, 4, 9
17925 ; PWR6-NEXT: subc 6, 3, 5
17926 ; PWR6-NEXT: rldicl 4, 4, 8, 56
17927 ; PWR6-NEXT: subfe 3, 3, 3
17928 ; PWR6-NEXT: subc 5, 4, 5
17929 ; PWR6-NEXT: subfe 4, 4, 4
17930 ; PWR6-NEXT: blr
17934 ; PWR7-NEXT: addi 3, 1, -32
17935 ; PWR7-NEXT: li 5, 0
17936 ; PWR7-NEXT: li 6, -1
17937 ; PWR7-NEXT: stxvd2x 34, 0, 3
17938 ; PWR7-NEXT: ld 3, -24(1)
17939 ; PWR7-NEXT: ld 4, -32(1)
17940 ; PWR7-NEXT: popcntd 3, 3
17941 ; PWR7-NEXT: popcntd 4, 4
17942 ; PWR7-NEXT: cmpldi 3, 24
17943 ; PWR7-NEXT: isellt 3, 6, 5
17944 ; PWR7-NEXT: cmpldi 4, 24
17945 ; PWR7-NEXT: isellt 4, 6, 5
17946 ; PWR7-NEXT: std 3, -8(1)
17947 ; PWR7-NEXT: addi 3, 1, -16
17948 ; PWR7-NEXT: std 4, -16(1)
17949 ; PWR7-NEXT: lxvd2x 34, 0, 3
17950 ; PWR7-NEXT: blr
17954 ; PWR8-NEXT: addis 3, 2, .LCPI145_0@toc@ha
17955 ; PWR8-NEXT: vpopcntd 2, 2
17956 ; PWR8-NEXT: addi 3, 3, .LCPI145_0@toc@l
17957 ; PWR8-NEXT: lxvd2x 35, 0, 3
17958 ; PWR8-NEXT: vcmpgtud 2, 3, 2
17959 ; PWR8-NEXT: blr
17963 ; PWR9-NEXT: addis 3, 2, .LCPI145_0@toc@ha
17964 ; PWR9-NEXT: vpopcntd 2, 2
17965 ; PWR9-NEXT: addi 3, 3, .LCPI145_0@toc@l
17966 ; PWR9-NEXT: lxvx 35, 0, 3
17967 ; PWR9-NEXT: vcmpgtud 2, 3, 2
17968 ; PWR9-NEXT: blr
17978 ; PWR5-NEXT: lis 5, 21845
17979 ; PWR5-NEXT: lis 6, 13107
17980 ; PWR5-NEXT: ori 5, 5, 21845
17981 ; PWR5-NEXT: rotldi 8, 4, 63
17982 ; PWR5-NEXT: rotldi 9, 3, 63
17983 ; PWR5-NEXT: rldimi 5, 5, 32, 0
17984 ; PWR5-NEXT: and 8, 8, 5
17985 ; PWR5-NEXT: and 5, 9, 5
17986 ; PWR5-NEXT: ori 6, 6, 13107
17987 ; PWR5-NEXT: sub 3, 3, 5
17988 ; PWR5-NEXT: rldimi 6, 6, 32, 0
17989 ; PWR5-NEXT: sub 4, 4, 8
17990 ; PWR5-NEXT: and 8, 3, 6
17991 ; PWR5-NEXT: rotldi 3, 3, 62
17992 ; PWR5-NEXT: and 3, 3, 6
17993 ; PWR5-NEXT: lis 7, 3855
17994 ; PWR5-NEXT: and 5, 4, 6
17995 ; PWR5-NEXT: rotldi 4, 4, 62
17996 ; PWR5-NEXT: add 3, 8, 3
17997 ; PWR5-NEXT: lis 9, 257
17998 ; PWR5-NEXT: ori 7, 7, 3855
17999 ; PWR5-NEXT: and 4, 4, 6
18000 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18001 ; PWR5-NEXT: ori 9, 9, 257
18002 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18003 ; PWR5-NEXT: add 4, 5, 4
18004 ; PWR5-NEXT: add 3, 3, 6
18005 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18006 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18007 ; PWR5-NEXT: and 3, 3, 7
18008 ; PWR5-NEXT: add 4, 4, 5
18009 ; PWR5-NEXT: mulld 3, 3, 9
18010 ; PWR5-NEXT: and 4, 4, 7
18011 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18012 ; PWR5-NEXT: mulld 4, 4, 9
18013 ; PWR5-NEXT: li 5, 24
18014 ; PWR5-NEXT: subfic 3, 3, 24
18015 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18016 ; PWR5-NEXT: subfe 3, 5, 5
18017 ; PWR5-NEXT: subfic 4, 4, 24
18018 ; PWR5-NEXT: subfe 4, 5, 5
18019 ; PWR5-NEXT: blr
18023 ; PWR6-NEXT: lis 5, 21845
18024 ; PWR6-NEXT: lis 6, 13107
18025 ; PWR6-NEXT: ori 5, 5, 21845
18026 ; PWR6-NEXT: rotldi 8, 4, 63
18027 ; PWR6-NEXT: rotldi 9, 3, 63
18028 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18029 ; PWR6-NEXT: and 8, 8, 5
18030 ; PWR6-NEXT: and 5, 9, 5
18031 ; PWR6-NEXT: ori 6, 6, 13107
18032 ; PWR6-NEXT: sub 3, 3, 5
18033 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18034 ; PWR6-NEXT: sub 4, 4, 8
18035 ; PWR6-NEXT: and 8, 3, 6
18036 ; PWR6-NEXT: rotldi 3, 3, 62
18037 ; PWR6-NEXT: and 3, 3, 6
18038 ; PWR6-NEXT: lis 7, 3855
18039 ; PWR6-NEXT: and 5, 4, 6
18040 ; PWR6-NEXT: rotldi 4, 4, 62
18041 ; PWR6-NEXT: add 3, 8, 3
18042 ; PWR6-NEXT: lis 9, 257
18043 ; PWR6-NEXT: ori 7, 7, 3855
18044 ; PWR6-NEXT: and 4, 4, 6
18045 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18046 ; PWR6-NEXT: ori 9, 9, 257
18047 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18048 ; PWR6-NEXT: add 4, 5, 4
18049 ; PWR6-NEXT: add 3, 3, 6
18050 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18051 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18052 ; PWR6-NEXT: and 3, 3, 7
18053 ; PWR6-NEXT: add 4, 4, 5
18054 ; PWR6-NEXT: mulld 3, 3, 9
18055 ; PWR6-NEXT: and 4, 4, 7
18056 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18057 ; PWR6-NEXT: mulld 4, 4, 9
18058 ; PWR6-NEXT: li 5, 24
18059 ; PWR6-NEXT: subfic 3, 3, 24
18060 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18061 ; PWR6-NEXT: subfe 3, 5, 5
18062 ; PWR6-NEXT: subfic 4, 4, 24
18063 ; PWR6-NEXT: subfe 4, 5, 5
18064 ; PWR6-NEXT: blr
18068 ; PWR7-NEXT: addi 3, 1, -32
18069 ; PWR7-NEXT: li 5, 0
18070 ; PWR7-NEXT: li 6, -1
18071 ; PWR7-NEXT: stxvd2x 34, 0, 3
18072 ; PWR7-NEXT: ld 3, -24(1)
18073 ; PWR7-NEXT: ld 4, -32(1)
18074 ; PWR7-NEXT: popcntd 3, 3
18075 ; PWR7-NEXT: popcntd 4, 4
18076 ; PWR7-NEXT: cmpldi 3, 24
18077 ; PWR7-NEXT: iselgt 3, 6, 5
18078 ; PWR7-NEXT: cmpldi 4, 24
18079 ; PWR7-NEXT: iselgt 4, 6, 5
18080 ; PWR7-NEXT: std 3, -8(1)
18081 ; PWR7-NEXT: addi 3, 1, -16
18082 ; PWR7-NEXT: std 4, -16(1)
18083 ; PWR7-NEXT: lxvd2x 34, 0, 3
18084 ; PWR7-NEXT: blr
18088 ; PWR8-NEXT: addis 3, 2, .LCPI146_0@toc@ha
18089 ; PWR8-NEXT: vpopcntd 2, 2
18090 ; PWR8-NEXT: addi 3, 3, .LCPI146_0@toc@l
18091 ; PWR8-NEXT: lxvd2x 35, 0, 3
18092 ; PWR8-NEXT: vcmpgtud 2, 2, 3
18093 ; PWR8-NEXT: blr
18097 ; PWR9-NEXT: addis 3, 2, .LCPI146_0@toc@ha
18098 ; PWR9-NEXT: vpopcntd 2, 2
18099 ; PWR9-NEXT: addi 3, 3, .LCPI146_0@toc@l
18100 ; PWR9-NEXT: lxvx 35, 0, 3
18101 ; PWR9-NEXT: vcmpgtud 2, 2, 3
18102 ; PWR9-NEXT: blr
18112 ; PWR5-NEXT: lis 5, 21845
18113 ; PWR5-NEXT: lis 6, 13107
18114 ; PWR5-NEXT: ori 5, 5, 21845
18115 ; PWR5-NEXT: rotldi 8, 4, 63
18116 ; PWR5-NEXT: rotldi 9, 3, 63
18117 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18118 ; PWR5-NEXT: and 8, 8, 5
18119 ; PWR5-NEXT: and 5, 9, 5
18120 ; PWR5-NEXT: ori 6, 6, 13107
18121 ; PWR5-NEXT: sub 3, 3, 5
18122 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18123 ; PWR5-NEXT: sub 4, 4, 8
18124 ; PWR5-NEXT: and 8, 3, 6
18125 ; PWR5-NEXT: rotldi 3, 3, 62
18126 ; PWR5-NEXT: and 3, 3, 6
18127 ; PWR5-NEXT: lis 7, 3855
18128 ; PWR5-NEXT: and 5, 4, 6
18129 ; PWR5-NEXT: rotldi 4, 4, 62
18130 ; PWR5-NEXT: add 3, 8, 3
18131 ; PWR5-NEXT: lis 9, 257
18132 ; PWR5-NEXT: ori 7, 7, 3855
18133 ; PWR5-NEXT: and 4, 4, 6
18134 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18135 ; PWR5-NEXT: ori 9, 9, 257
18136 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18137 ; PWR5-NEXT: add 4, 5, 4
18138 ; PWR5-NEXT: add 3, 3, 6
18139 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18140 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18141 ; PWR5-NEXT: and 3, 3, 7
18142 ; PWR5-NEXT: add 4, 4, 5
18143 ; PWR5-NEXT: mulld 3, 3, 9
18144 ; PWR5-NEXT: and 4, 4, 7
18145 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18146 ; PWR5-NEXT: li 5, 25
18147 ; PWR5-NEXT: mulld 4, 4, 9
18148 ; PWR5-NEXT: subc 6, 3, 5
18149 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18150 ; PWR5-NEXT: subfe 3, 3, 3
18151 ; PWR5-NEXT: subc 5, 4, 5
18152 ; PWR5-NEXT: subfe 4, 4, 4
18153 ; PWR5-NEXT: blr
18157 ; PWR6-NEXT: lis 5, 21845
18158 ; PWR6-NEXT: lis 6, 13107
18159 ; PWR6-NEXT: ori 5, 5, 21845
18160 ; PWR6-NEXT: rotldi 8, 4, 63
18161 ; PWR6-NEXT: rotldi 9, 3, 63
18162 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18163 ; PWR6-NEXT: and 8, 8, 5
18164 ; PWR6-NEXT: and 5, 9, 5
18165 ; PWR6-NEXT: ori 6, 6, 13107
18166 ; PWR6-NEXT: sub 3, 3, 5
18167 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18168 ; PWR6-NEXT: sub 4, 4, 8
18169 ; PWR6-NEXT: and 8, 3, 6
18170 ; PWR6-NEXT: rotldi 3, 3, 62
18171 ; PWR6-NEXT: and 3, 3, 6
18172 ; PWR6-NEXT: lis 7, 3855
18173 ; PWR6-NEXT: and 5, 4, 6
18174 ; PWR6-NEXT: rotldi 4, 4, 62
18175 ; PWR6-NEXT: add 3, 8, 3
18176 ; PWR6-NEXT: lis 9, 257
18177 ; PWR6-NEXT: ori 7, 7, 3855
18178 ; PWR6-NEXT: and 4, 4, 6
18179 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18180 ; PWR6-NEXT: ori 9, 9, 257
18181 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18182 ; PWR6-NEXT: add 4, 5, 4
18183 ; PWR6-NEXT: add 3, 3, 6
18184 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18185 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18186 ; PWR6-NEXT: and 3, 3, 7
18187 ; PWR6-NEXT: add 4, 4, 5
18188 ; PWR6-NEXT: mulld 3, 3, 9
18189 ; PWR6-NEXT: and 4, 4, 7
18190 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18191 ; PWR6-NEXT: li 5, 25
18192 ; PWR6-NEXT: mulld 4, 4, 9
18193 ; PWR6-NEXT: subc 6, 3, 5
18194 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18195 ; PWR6-NEXT: subfe 3, 3, 3
18196 ; PWR6-NEXT: subc 5, 4, 5
18197 ; PWR6-NEXT: subfe 4, 4, 4
18198 ; PWR6-NEXT: blr
18202 ; PWR7-NEXT: addi 3, 1, -32
18203 ; PWR7-NEXT: li 5, 0
18204 ; PWR7-NEXT: li 6, -1
18205 ; PWR7-NEXT: stxvd2x 34, 0, 3
18206 ; PWR7-NEXT: ld 3, -24(1)
18207 ; PWR7-NEXT: ld 4, -32(1)
18208 ; PWR7-NEXT: popcntd 3, 3
18209 ; PWR7-NEXT: popcntd 4, 4
18210 ; PWR7-NEXT: cmpldi 3, 25
18211 ; PWR7-NEXT: isellt 3, 6, 5
18212 ; PWR7-NEXT: cmpldi 4, 25
18213 ; PWR7-NEXT: isellt 4, 6, 5
18214 ; PWR7-NEXT: std 3, -8(1)
18215 ; PWR7-NEXT: addi 3, 1, -16
18216 ; PWR7-NEXT: std 4, -16(1)
18217 ; PWR7-NEXT: lxvd2x 34, 0, 3
18218 ; PWR7-NEXT: blr
18222 ; PWR8-NEXT: addis 3, 2, .LCPI147_0@toc@ha
18223 ; PWR8-NEXT: vpopcntd 2, 2
18224 ; PWR8-NEXT: addi 3, 3, .LCPI147_0@toc@l
18225 ; PWR8-NEXT: lxvd2x 35, 0, 3
18226 ; PWR8-NEXT: vcmpgtud 2, 3, 2
18227 ; PWR8-NEXT: blr
18231 ; PWR9-NEXT: addis 3, 2, .LCPI147_0@toc@ha
18232 ; PWR9-NEXT: vpopcntd 2, 2
18233 ; PWR9-NEXT: addi 3, 3, .LCPI147_0@toc@l
18234 ; PWR9-NEXT: lxvx 35, 0, 3
18235 ; PWR9-NEXT: vcmpgtud 2, 3, 2
18236 ; PWR9-NEXT: blr
18246 ; PWR5-NEXT: lis 5, 21845
18247 ; PWR5-NEXT: lis 6, 13107
18248 ; PWR5-NEXT: ori 5, 5, 21845
18249 ; PWR5-NEXT: rotldi 8, 4, 63
18250 ; PWR5-NEXT: rotldi 9, 3, 63
18251 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18252 ; PWR5-NEXT: and 8, 8, 5
18253 ; PWR5-NEXT: and 5, 9, 5
18254 ; PWR5-NEXT: ori 6, 6, 13107
18255 ; PWR5-NEXT: sub 3, 3, 5
18256 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18257 ; PWR5-NEXT: sub 4, 4, 8
18258 ; PWR5-NEXT: and 8, 3, 6
18259 ; PWR5-NEXT: rotldi 3, 3, 62
18260 ; PWR5-NEXT: and 3, 3, 6
18261 ; PWR5-NEXT: lis 7, 3855
18262 ; PWR5-NEXT: and 5, 4, 6
18263 ; PWR5-NEXT: rotldi 4, 4, 62
18264 ; PWR5-NEXT: add 3, 8, 3
18265 ; PWR5-NEXT: lis 9, 257
18266 ; PWR5-NEXT: ori 7, 7, 3855
18267 ; PWR5-NEXT: and 4, 4, 6
18268 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18269 ; PWR5-NEXT: ori 9, 9, 257
18270 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18271 ; PWR5-NEXT: add 4, 5, 4
18272 ; PWR5-NEXT: add 3, 3, 6
18273 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18274 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18275 ; PWR5-NEXT: and 3, 3, 7
18276 ; PWR5-NEXT: add 4, 4, 5
18277 ; PWR5-NEXT: mulld 3, 3, 9
18278 ; PWR5-NEXT: and 4, 4, 7
18279 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18280 ; PWR5-NEXT: mulld 4, 4, 9
18281 ; PWR5-NEXT: li 5, 25
18282 ; PWR5-NEXT: subfic 3, 3, 25
18283 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18284 ; PWR5-NEXT: subfe 3, 5, 5
18285 ; PWR5-NEXT: subfic 4, 4, 25
18286 ; PWR5-NEXT: subfe 4, 5, 5
18287 ; PWR5-NEXT: blr
18291 ; PWR6-NEXT: lis 5, 21845
18292 ; PWR6-NEXT: lis 6, 13107
18293 ; PWR6-NEXT: ori 5, 5, 21845
18294 ; PWR6-NEXT: rotldi 8, 4, 63
18295 ; PWR6-NEXT: rotldi 9, 3, 63
18296 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18297 ; PWR6-NEXT: and 8, 8, 5
18298 ; PWR6-NEXT: and 5, 9, 5
18299 ; PWR6-NEXT: ori 6, 6, 13107
18300 ; PWR6-NEXT: sub 3, 3, 5
18301 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18302 ; PWR6-NEXT: sub 4, 4, 8
18303 ; PWR6-NEXT: and 8, 3, 6
18304 ; PWR6-NEXT: rotldi 3, 3, 62
18305 ; PWR6-NEXT: and 3, 3, 6
18306 ; PWR6-NEXT: lis 7, 3855
18307 ; PWR6-NEXT: and 5, 4, 6
18308 ; PWR6-NEXT: rotldi 4, 4, 62
18309 ; PWR6-NEXT: add 3, 8, 3
18310 ; PWR6-NEXT: lis 9, 257
18311 ; PWR6-NEXT: ori 7, 7, 3855
18312 ; PWR6-NEXT: and 4, 4, 6
18313 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18314 ; PWR6-NEXT: ori 9, 9, 257
18315 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18316 ; PWR6-NEXT: add 4, 5, 4
18317 ; PWR6-NEXT: add 3, 3, 6
18318 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18319 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18320 ; PWR6-NEXT: and 3, 3, 7
18321 ; PWR6-NEXT: add 4, 4, 5
18322 ; PWR6-NEXT: mulld 3, 3, 9
18323 ; PWR6-NEXT: and 4, 4, 7
18324 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18325 ; PWR6-NEXT: mulld 4, 4, 9
18326 ; PWR6-NEXT: li 5, 25
18327 ; PWR6-NEXT: subfic 3, 3, 25
18328 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18329 ; PWR6-NEXT: subfe 3, 5, 5
18330 ; PWR6-NEXT: subfic 4, 4, 25
18331 ; PWR6-NEXT: subfe 4, 5, 5
18332 ; PWR6-NEXT: blr
18336 ; PWR7-NEXT: addi 3, 1, -32
18337 ; PWR7-NEXT: li 5, 0
18338 ; PWR7-NEXT: li 6, -1
18339 ; PWR7-NEXT: stxvd2x 34, 0, 3
18340 ; PWR7-NEXT: ld 3, -24(1)
18341 ; PWR7-NEXT: ld 4, -32(1)
18342 ; PWR7-NEXT: popcntd 3, 3
18343 ; PWR7-NEXT: popcntd 4, 4
18344 ; PWR7-NEXT: cmpldi 3, 25
18345 ; PWR7-NEXT: iselgt 3, 6, 5
18346 ; PWR7-NEXT: cmpldi 4, 25
18347 ; PWR7-NEXT: iselgt 4, 6, 5
18348 ; PWR7-NEXT: std 3, -8(1)
18349 ; PWR7-NEXT: addi 3, 1, -16
18350 ; PWR7-NEXT: std 4, -16(1)
18351 ; PWR7-NEXT: lxvd2x 34, 0, 3
18352 ; PWR7-NEXT: blr
18356 ; PWR8-NEXT: addis 3, 2, .LCPI148_0@toc@ha
18357 ; PWR8-NEXT: vpopcntd 2, 2
18358 ; PWR8-NEXT: addi 3, 3, .LCPI148_0@toc@l
18359 ; PWR8-NEXT: lxvd2x 35, 0, 3
18360 ; PWR8-NEXT: vcmpgtud 2, 2, 3
18361 ; PWR8-NEXT: blr
18365 ; PWR9-NEXT: addis 3, 2, .LCPI148_0@toc@ha
18366 ; PWR9-NEXT: vpopcntd 2, 2
18367 ; PWR9-NEXT: addi 3, 3, .LCPI148_0@toc@l
18368 ; PWR9-NEXT: lxvx 35, 0, 3
18369 ; PWR9-NEXT: vcmpgtud 2, 2, 3
18370 ; PWR9-NEXT: blr
18380 ; PWR5-NEXT: lis 5, 21845
18381 ; PWR5-NEXT: lis 6, 13107
18382 ; PWR5-NEXT: ori 5, 5, 21845
18383 ; PWR5-NEXT: rotldi 8, 4, 63
18384 ; PWR5-NEXT: rotldi 9, 3, 63
18385 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18386 ; PWR5-NEXT: and 8, 8, 5
18387 ; PWR5-NEXT: and 5, 9, 5
18388 ; PWR5-NEXT: ori 6, 6, 13107
18389 ; PWR5-NEXT: sub 3, 3, 5
18390 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18391 ; PWR5-NEXT: sub 4, 4, 8
18392 ; PWR5-NEXT: and 8, 3, 6
18393 ; PWR5-NEXT: rotldi 3, 3, 62
18394 ; PWR5-NEXT: and 3, 3, 6
18395 ; PWR5-NEXT: lis 7, 3855
18396 ; PWR5-NEXT: and 5, 4, 6
18397 ; PWR5-NEXT: rotldi 4, 4, 62
18398 ; PWR5-NEXT: add 3, 8, 3
18399 ; PWR5-NEXT: lis 9, 257
18400 ; PWR5-NEXT: ori 7, 7, 3855
18401 ; PWR5-NEXT: and 4, 4, 6
18402 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18403 ; PWR5-NEXT: ori 9, 9, 257
18404 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18405 ; PWR5-NEXT: add 4, 5, 4
18406 ; PWR5-NEXT: add 3, 3, 6
18407 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18408 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18409 ; PWR5-NEXT: and 3, 3, 7
18410 ; PWR5-NEXT: add 4, 4, 5
18411 ; PWR5-NEXT: mulld 3, 3, 9
18412 ; PWR5-NEXT: and 4, 4, 7
18413 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18414 ; PWR5-NEXT: li 5, 26
18415 ; PWR5-NEXT: mulld 4, 4, 9
18416 ; PWR5-NEXT: subc 6, 3, 5
18417 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18418 ; PWR5-NEXT: subfe 3, 3, 3
18419 ; PWR5-NEXT: subc 5, 4, 5
18420 ; PWR5-NEXT: subfe 4, 4, 4
18421 ; PWR5-NEXT: blr
18425 ; PWR6-NEXT: lis 5, 21845
18426 ; PWR6-NEXT: lis 6, 13107
18427 ; PWR6-NEXT: ori 5, 5, 21845
18428 ; PWR6-NEXT: rotldi 8, 4, 63
18429 ; PWR6-NEXT: rotldi 9, 3, 63
18430 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18431 ; PWR6-NEXT: and 8, 8, 5
18432 ; PWR6-NEXT: and 5, 9, 5
18433 ; PWR6-NEXT: ori 6, 6, 13107
18434 ; PWR6-NEXT: sub 3, 3, 5
18435 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18436 ; PWR6-NEXT: sub 4, 4, 8
18437 ; PWR6-NEXT: and 8, 3, 6
18438 ; PWR6-NEXT: rotldi 3, 3, 62
18439 ; PWR6-NEXT: and 3, 3, 6
18440 ; PWR6-NEXT: lis 7, 3855
18441 ; PWR6-NEXT: and 5, 4, 6
18442 ; PWR6-NEXT: rotldi 4, 4, 62
18443 ; PWR6-NEXT: add 3, 8, 3
18444 ; PWR6-NEXT: lis 9, 257
18445 ; PWR6-NEXT: ori 7, 7, 3855
18446 ; PWR6-NEXT: and 4, 4, 6
18447 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18448 ; PWR6-NEXT: ori 9, 9, 257
18449 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18450 ; PWR6-NEXT: add 4, 5, 4
18451 ; PWR6-NEXT: add 3, 3, 6
18452 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18453 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18454 ; PWR6-NEXT: and 3, 3, 7
18455 ; PWR6-NEXT: add 4, 4, 5
18456 ; PWR6-NEXT: mulld 3, 3, 9
18457 ; PWR6-NEXT: and 4, 4, 7
18458 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18459 ; PWR6-NEXT: li 5, 26
18460 ; PWR6-NEXT: mulld 4, 4, 9
18461 ; PWR6-NEXT: subc 6, 3, 5
18462 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18463 ; PWR6-NEXT: subfe 3, 3, 3
18464 ; PWR6-NEXT: subc 5, 4, 5
18465 ; PWR6-NEXT: subfe 4, 4, 4
18466 ; PWR6-NEXT: blr
18470 ; PWR7-NEXT: addi 3, 1, -32
18471 ; PWR7-NEXT: li 5, 0
18472 ; PWR7-NEXT: li 6, -1
18473 ; PWR7-NEXT: stxvd2x 34, 0, 3
18474 ; PWR7-NEXT: ld 3, -24(1)
18475 ; PWR7-NEXT: ld 4, -32(1)
18476 ; PWR7-NEXT: popcntd 3, 3
18477 ; PWR7-NEXT: popcntd 4, 4
18478 ; PWR7-NEXT: cmpldi 3, 26
18479 ; PWR7-NEXT: isellt 3, 6, 5
18480 ; PWR7-NEXT: cmpldi 4, 26
18481 ; PWR7-NEXT: isellt 4, 6, 5
18482 ; PWR7-NEXT: std 3, -8(1)
18483 ; PWR7-NEXT: addi 3, 1, -16
18484 ; PWR7-NEXT: std 4, -16(1)
18485 ; PWR7-NEXT: lxvd2x 34, 0, 3
18486 ; PWR7-NEXT: blr
18490 ; PWR8-NEXT: addis 3, 2, .LCPI149_0@toc@ha
18491 ; PWR8-NEXT: vpopcntd 2, 2
18492 ; PWR8-NEXT: addi 3, 3, .LCPI149_0@toc@l
18493 ; PWR8-NEXT: lxvd2x 35, 0, 3
18494 ; PWR8-NEXT: vcmpgtud 2, 3, 2
18495 ; PWR8-NEXT: blr
18499 ; PWR9-NEXT: addis 3, 2, .LCPI149_0@toc@ha
18500 ; PWR9-NEXT: vpopcntd 2, 2
18501 ; PWR9-NEXT: addi 3, 3, .LCPI149_0@toc@l
18502 ; PWR9-NEXT: lxvx 35, 0, 3
18503 ; PWR9-NEXT: vcmpgtud 2, 3, 2
18504 ; PWR9-NEXT: blr
18514 ; PWR5-NEXT: lis 5, 21845
18515 ; PWR5-NEXT: lis 6, 13107
18516 ; PWR5-NEXT: ori 5, 5, 21845
18517 ; PWR5-NEXT: rotldi 8, 4, 63
18518 ; PWR5-NEXT: rotldi 9, 3, 63
18519 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18520 ; PWR5-NEXT: and 8, 8, 5
18521 ; PWR5-NEXT: and 5, 9, 5
18522 ; PWR5-NEXT: ori 6, 6, 13107
18523 ; PWR5-NEXT: sub 3, 3, 5
18524 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18525 ; PWR5-NEXT: sub 4, 4, 8
18526 ; PWR5-NEXT: and 8, 3, 6
18527 ; PWR5-NEXT: rotldi 3, 3, 62
18528 ; PWR5-NEXT: and 3, 3, 6
18529 ; PWR5-NEXT: lis 7, 3855
18530 ; PWR5-NEXT: and 5, 4, 6
18531 ; PWR5-NEXT: rotldi 4, 4, 62
18532 ; PWR5-NEXT: add 3, 8, 3
18533 ; PWR5-NEXT: lis 9, 257
18534 ; PWR5-NEXT: ori 7, 7, 3855
18535 ; PWR5-NEXT: and 4, 4, 6
18536 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18537 ; PWR5-NEXT: ori 9, 9, 257
18538 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18539 ; PWR5-NEXT: add 4, 5, 4
18540 ; PWR5-NEXT: add 3, 3, 6
18541 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18542 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18543 ; PWR5-NEXT: and 3, 3, 7
18544 ; PWR5-NEXT: add 4, 4, 5
18545 ; PWR5-NEXT: mulld 3, 3, 9
18546 ; PWR5-NEXT: and 4, 4, 7
18547 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18548 ; PWR5-NEXT: mulld 4, 4, 9
18549 ; PWR5-NEXT: li 5, 26
18550 ; PWR5-NEXT: subfic 3, 3, 26
18551 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18552 ; PWR5-NEXT: subfe 3, 5, 5
18553 ; PWR5-NEXT: subfic 4, 4, 26
18554 ; PWR5-NEXT: subfe 4, 5, 5
18555 ; PWR5-NEXT: blr
18559 ; PWR6-NEXT: lis 5, 21845
18560 ; PWR6-NEXT: lis 6, 13107
18561 ; PWR6-NEXT: ori 5, 5, 21845
18562 ; PWR6-NEXT: rotldi 8, 4, 63
18563 ; PWR6-NEXT: rotldi 9, 3, 63
18564 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18565 ; PWR6-NEXT: and 8, 8, 5
18566 ; PWR6-NEXT: and 5, 9, 5
18567 ; PWR6-NEXT: ori 6, 6, 13107
18568 ; PWR6-NEXT: sub 3, 3, 5
18569 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18570 ; PWR6-NEXT: sub 4, 4, 8
18571 ; PWR6-NEXT: and 8, 3, 6
18572 ; PWR6-NEXT: rotldi 3, 3, 62
18573 ; PWR6-NEXT: and 3, 3, 6
18574 ; PWR6-NEXT: lis 7, 3855
18575 ; PWR6-NEXT: and 5, 4, 6
18576 ; PWR6-NEXT: rotldi 4, 4, 62
18577 ; PWR6-NEXT: add 3, 8, 3
18578 ; PWR6-NEXT: lis 9, 257
18579 ; PWR6-NEXT: ori 7, 7, 3855
18580 ; PWR6-NEXT: and 4, 4, 6
18581 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18582 ; PWR6-NEXT: ori 9, 9, 257
18583 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18584 ; PWR6-NEXT: add 4, 5, 4
18585 ; PWR6-NEXT: add 3, 3, 6
18586 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18587 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18588 ; PWR6-NEXT: and 3, 3, 7
18589 ; PWR6-NEXT: add 4, 4, 5
18590 ; PWR6-NEXT: mulld 3, 3, 9
18591 ; PWR6-NEXT: and 4, 4, 7
18592 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18593 ; PWR6-NEXT: mulld 4, 4, 9
18594 ; PWR6-NEXT: li 5, 26
18595 ; PWR6-NEXT: subfic 3, 3, 26
18596 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18597 ; PWR6-NEXT: subfe 3, 5, 5
18598 ; PWR6-NEXT: subfic 4, 4, 26
18599 ; PWR6-NEXT: subfe 4, 5, 5
18600 ; PWR6-NEXT: blr
18604 ; PWR7-NEXT: addi 3, 1, -32
18605 ; PWR7-NEXT: li 5, 0
18606 ; PWR7-NEXT: li 6, -1
18607 ; PWR7-NEXT: stxvd2x 34, 0, 3
18608 ; PWR7-NEXT: ld 3, -24(1)
18609 ; PWR7-NEXT: ld 4, -32(1)
18610 ; PWR7-NEXT: popcntd 3, 3
18611 ; PWR7-NEXT: popcntd 4, 4
18612 ; PWR7-NEXT: cmpldi 3, 26
18613 ; PWR7-NEXT: iselgt 3, 6, 5
18614 ; PWR7-NEXT: cmpldi 4, 26
18615 ; PWR7-NEXT: iselgt 4, 6, 5
18616 ; PWR7-NEXT: std 3, -8(1)
18617 ; PWR7-NEXT: addi 3, 1, -16
18618 ; PWR7-NEXT: std 4, -16(1)
18619 ; PWR7-NEXT: lxvd2x 34, 0, 3
18620 ; PWR7-NEXT: blr
18624 ; PWR8-NEXT: addis 3, 2, .LCPI150_0@toc@ha
18625 ; PWR8-NEXT: vpopcntd 2, 2
18626 ; PWR8-NEXT: addi 3, 3, .LCPI150_0@toc@l
18627 ; PWR8-NEXT: lxvd2x 35, 0, 3
18628 ; PWR8-NEXT: vcmpgtud 2, 2, 3
18629 ; PWR8-NEXT: blr
18633 ; PWR9-NEXT: addis 3, 2, .LCPI150_0@toc@ha
18634 ; PWR9-NEXT: vpopcntd 2, 2
18635 ; PWR9-NEXT: addi 3, 3, .LCPI150_0@toc@l
18636 ; PWR9-NEXT: lxvx 35, 0, 3
18637 ; PWR9-NEXT: vcmpgtud 2, 2, 3
18638 ; PWR9-NEXT: blr
18648 ; PWR5-NEXT: lis 5, 21845
18649 ; PWR5-NEXT: lis 6, 13107
18650 ; PWR5-NEXT: ori 5, 5, 21845
18651 ; PWR5-NEXT: rotldi 8, 4, 63
18652 ; PWR5-NEXT: rotldi 9, 3, 63
18653 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18654 ; PWR5-NEXT: and 8, 8, 5
18655 ; PWR5-NEXT: and 5, 9, 5
18656 ; PWR5-NEXT: ori 6, 6, 13107
18657 ; PWR5-NEXT: sub 3, 3, 5
18658 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18659 ; PWR5-NEXT: sub 4, 4, 8
18660 ; PWR5-NEXT: and 8, 3, 6
18661 ; PWR5-NEXT: rotldi 3, 3, 62
18662 ; PWR5-NEXT: and 3, 3, 6
18663 ; PWR5-NEXT: lis 7, 3855
18664 ; PWR5-NEXT: and 5, 4, 6
18665 ; PWR5-NEXT: rotldi 4, 4, 62
18666 ; PWR5-NEXT: add 3, 8, 3
18667 ; PWR5-NEXT: lis 9, 257
18668 ; PWR5-NEXT: ori 7, 7, 3855
18669 ; PWR5-NEXT: and 4, 4, 6
18670 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18671 ; PWR5-NEXT: ori 9, 9, 257
18672 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18673 ; PWR5-NEXT: add 4, 5, 4
18674 ; PWR5-NEXT: add 3, 3, 6
18675 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18676 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18677 ; PWR5-NEXT: and 3, 3, 7
18678 ; PWR5-NEXT: add 4, 4, 5
18679 ; PWR5-NEXT: mulld 3, 3, 9
18680 ; PWR5-NEXT: and 4, 4, 7
18681 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18682 ; PWR5-NEXT: li 5, 27
18683 ; PWR5-NEXT: mulld 4, 4, 9
18684 ; PWR5-NEXT: subc 6, 3, 5
18685 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18686 ; PWR5-NEXT: subfe 3, 3, 3
18687 ; PWR5-NEXT: subc 5, 4, 5
18688 ; PWR5-NEXT: subfe 4, 4, 4
18689 ; PWR5-NEXT: blr
18693 ; PWR6-NEXT: lis 5, 21845
18694 ; PWR6-NEXT: lis 6, 13107
18695 ; PWR6-NEXT: ori 5, 5, 21845
18696 ; PWR6-NEXT: rotldi 8, 4, 63
18697 ; PWR6-NEXT: rotldi 9, 3, 63
18698 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18699 ; PWR6-NEXT: and 8, 8, 5
18700 ; PWR6-NEXT: and 5, 9, 5
18701 ; PWR6-NEXT: ori 6, 6, 13107
18702 ; PWR6-NEXT: sub 3, 3, 5
18703 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18704 ; PWR6-NEXT: sub 4, 4, 8
18705 ; PWR6-NEXT: and 8, 3, 6
18706 ; PWR6-NEXT: rotldi 3, 3, 62
18707 ; PWR6-NEXT: and 3, 3, 6
18708 ; PWR6-NEXT: lis 7, 3855
18709 ; PWR6-NEXT: and 5, 4, 6
18710 ; PWR6-NEXT: rotldi 4, 4, 62
18711 ; PWR6-NEXT: add 3, 8, 3
18712 ; PWR6-NEXT: lis 9, 257
18713 ; PWR6-NEXT: ori 7, 7, 3855
18714 ; PWR6-NEXT: and 4, 4, 6
18715 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18716 ; PWR6-NEXT: ori 9, 9, 257
18717 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18718 ; PWR6-NEXT: add 4, 5, 4
18719 ; PWR6-NEXT: add 3, 3, 6
18720 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18721 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18722 ; PWR6-NEXT: and 3, 3, 7
18723 ; PWR6-NEXT: add 4, 4, 5
18724 ; PWR6-NEXT: mulld 3, 3, 9
18725 ; PWR6-NEXT: and 4, 4, 7
18726 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18727 ; PWR6-NEXT: li 5, 27
18728 ; PWR6-NEXT: mulld 4, 4, 9
18729 ; PWR6-NEXT: subc 6, 3, 5
18730 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18731 ; PWR6-NEXT: subfe 3, 3, 3
18732 ; PWR6-NEXT: subc 5, 4, 5
18733 ; PWR6-NEXT: subfe 4, 4, 4
18734 ; PWR6-NEXT: blr
18738 ; PWR7-NEXT: addi 3, 1, -32
18739 ; PWR7-NEXT: li 5, 0
18740 ; PWR7-NEXT: li 6, -1
18741 ; PWR7-NEXT: stxvd2x 34, 0, 3
18742 ; PWR7-NEXT: ld 3, -24(1)
18743 ; PWR7-NEXT: ld 4, -32(1)
18744 ; PWR7-NEXT: popcntd 3, 3
18745 ; PWR7-NEXT: popcntd 4, 4
18746 ; PWR7-NEXT: cmpldi 3, 27
18747 ; PWR7-NEXT: isellt 3, 6, 5
18748 ; PWR7-NEXT: cmpldi 4, 27
18749 ; PWR7-NEXT: isellt 4, 6, 5
18750 ; PWR7-NEXT: std 3, -8(1)
18751 ; PWR7-NEXT: addi 3, 1, -16
18752 ; PWR7-NEXT: std 4, -16(1)
18753 ; PWR7-NEXT: lxvd2x 34, 0, 3
18754 ; PWR7-NEXT: blr
18758 ; PWR8-NEXT: addis 3, 2, .LCPI151_0@toc@ha
18759 ; PWR8-NEXT: vpopcntd 2, 2
18760 ; PWR8-NEXT: addi 3, 3, .LCPI151_0@toc@l
18761 ; PWR8-NEXT: lxvd2x 35, 0, 3
18762 ; PWR8-NEXT: vcmpgtud 2, 3, 2
18763 ; PWR8-NEXT: blr
18767 ; PWR9-NEXT: addis 3, 2, .LCPI151_0@toc@ha
18768 ; PWR9-NEXT: vpopcntd 2, 2
18769 ; PWR9-NEXT: addi 3, 3, .LCPI151_0@toc@l
18770 ; PWR9-NEXT: lxvx 35, 0, 3
18771 ; PWR9-NEXT: vcmpgtud 2, 3, 2
18772 ; PWR9-NEXT: blr
18782 ; PWR5-NEXT: lis 5, 21845
18783 ; PWR5-NEXT: lis 6, 13107
18784 ; PWR5-NEXT: ori 5, 5, 21845
18785 ; PWR5-NEXT: rotldi 8, 4, 63
18786 ; PWR5-NEXT: rotldi 9, 3, 63
18787 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18788 ; PWR5-NEXT: and 8, 8, 5
18789 ; PWR5-NEXT: and 5, 9, 5
18790 ; PWR5-NEXT: ori 6, 6, 13107
18791 ; PWR5-NEXT: sub 3, 3, 5
18792 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18793 ; PWR5-NEXT: sub 4, 4, 8
18794 ; PWR5-NEXT: and 8, 3, 6
18795 ; PWR5-NEXT: rotldi 3, 3, 62
18796 ; PWR5-NEXT: and 3, 3, 6
18797 ; PWR5-NEXT: lis 7, 3855
18798 ; PWR5-NEXT: and 5, 4, 6
18799 ; PWR5-NEXT: rotldi 4, 4, 62
18800 ; PWR5-NEXT: add 3, 8, 3
18801 ; PWR5-NEXT: lis 9, 257
18802 ; PWR5-NEXT: ori 7, 7, 3855
18803 ; PWR5-NEXT: and 4, 4, 6
18804 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18805 ; PWR5-NEXT: ori 9, 9, 257
18806 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18807 ; PWR5-NEXT: add 4, 5, 4
18808 ; PWR5-NEXT: add 3, 3, 6
18809 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18810 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18811 ; PWR5-NEXT: and 3, 3, 7
18812 ; PWR5-NEXT: add 4, 4, 5
18813 ; PWR5-NEXT: mulld 3, 3, 9
18814 ; PWR5-NEXT: and 4, 4, 7
18815 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18816 ; PWR5-NEXT: mulld 4, 4, 9
18817 ; PWR5-NEXT: li 5, 27
18818 ; PWR5-NEXT: subfic 3, 3, 27
18819 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18820 ; PWR5-NEXT: subfe 3, 5, 5
18821 ; PWR5-NEXT: subfic 4, 4, 27
18822 ; PWR5-NEXT: subfe 4, 5, 5
18823 ; PWR5-NEXT: blr
18827 ; PWR6-NEXT: lis 5, 21845
18828 ; PWR6-NEXT: lis 6, 13107
18829 ; PWR6-NEXT: ori 5, 5, 21845
18830 ; PWR6-NEXT: rotldi 8, 4, 63
18831 ; PWR6-NEXT: rotldi 9, 3, 63
18832 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18833 ; PWR6-NEXT: and 8, 8, 5
18834 ; PWR6-NEXT: and 5, 9, 5
18835 ; PWR6-NEXT: ori 6, 6, 13107
18836 ; PWR6-NEXT: sub 3, 3, 5
18837 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18838 ; PWR6-NEXT: sub 4, 4, 8
18839 ; PWR6-NEXT: and 8, 3, 6
18840 ; PWR6-NEXT: rotldi 3, 3, 62
18841 ; PWR6-NEXT: and 3, 3, 6
18842 ; PWR6-NEXT: lis 7, 3855
18843 ; PWR6-NEXT: and 5, 4, 6
18844 ; PWR6-NEXT: rotldi 4, 4, 62
18845 ; PWR6-NEXT: add 3, 8, 3
18846 ; PWR6-NEXT: lis 9, 257
18847 ; PWR6-NEXT: ori 7, 7, 3855
18848 ; PWR6-NEXT: and 4, 4, 6
18849 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18850 ; PWR6-NEXT: ori 9, 9, 257
18851 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18852 ; PWR6-NEXT: add 4, 5, 4
18853 ; PWR6-NEXT: add 3, 3, 6
18854 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18855 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18856 ; PWR6-NEXT: and 3, 3, 7
18857 ; PWR6-NEXT: add 4, 4, 5
18858 ; PWR6-NEXT: mulld 3, 3, 9
18859 ; PWR6-NEXT: and 4, 4, 7
18860 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18861 ; PWR6-NEXT: mulld 4, 4, 9
18862 ; PWR6-NEXT: li 5, 27
18863 ; PWR6-NEXT: subfic 3, 3, 27
18864 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18865 ; PWR6-NEXT: subfe 3, 5, 5
18866 ; PWR6-NEXT: subfic 4, 4, 27
18867 ; PWR6-NEXT: subfe 4, 5, 5
18868 ; PWR6-NEXT: blr
18872 ; PWR7-NEXT: addi 3, 1, -32
18873 ; PWR7-NEXT: li 5, 0
18874 ; PWR7-NEXT: li 6, -1
18875 ; PWR7-NEXT: stxvd2x 34, 0, 3
18876 ; PWR7-NEXT: ld 3, -24(1)
18877 ; PWR7-NEXT: ld 4, -32(1)
18878 ; PWR7-NEXT: popcntd 3, 3
18879 ; PWR7-NEXT: popcntd 4, 4
18880 ; PWR7-NEXT: cmpldi 3, 27
18881 ; PWR7-NEXT: iselgt 3, 6, 5
18882 ; PWR7-NEXT: cmpldi 4, 27
18883 ; PWR7-NEXT: iselgt 4, 6, 5
18884 ; PWR7-NEXT: std 3, -8(1)
18885 ; PWR7-NEXT: addi 3, 1, -16
18886 ; PWR7-NEXT: std 4, -16(1)
18887 ; PWR7-NEXT: lxvd2x 34, 0, 3
18888 ; PWR7-NEXT: blr
18892 ; PWR8-NEXT: addis 3, 2, .LCPI152_0@toc@ha
18893 ; PWR8-NEXT: vpopcntd 2, 2
18894 ; PWR8-NEXT: addi 3, 3, .LCPI152_0@toc@l
18895 ; PWR8-NEXT: lxvd2x 35, 0, 3
18896 ; PWR8-NEXT: vcmpgtud 2, 2, 3
18897 ; PWR8-NEXT: blr
18901 ; PWR9-NEXT: addis 3, 2, .LCPI152_0@toc@ha
18902 ; PWR9-NEXT: vpopcntd 2, 2
18903 ; PWR9-NEXT: addi 3, 3, .LCPI152_0@toc@l
18904 ; PWR9-NEXT: lxvx 35, 0, 3
18905 ; PWR9-NEXT: vcmpgtud 2, 2, 3
18906 ; PWR9-NEXT: blr
18916 ; PWR5-NEXT: lis 5, 21845
18917 ; PWR5-NEXT: lis 6, 13107
18918 ; PWR5-NEXT: ori 5, 5, 21845
18919 ; PWR5-NEXT: rotldi 8, 4, 63
18920 ; PWR5-NEXT: rotldi 9, 3, 63
18921 ; PWR5-NEXT: rldimi 5, 5, 32, 0
18922 ; PWR5-NEXT: and 8, 8, 5
18923 ; PWR5-NEXT: and 5, 9, 5
18924 ; PWR5-NEXT: ori 6, 6, 13107
18925 ; PWR5-NEXT: sub 3, 3, 5
18926 ; PWR5-NEXT: rldimi 6, 6, 32, 0
18927 ; PWR5-NEXT: sub 4, 4, 8
18928 ; PWR5-NEXT: and 8, 3, 6
18929 ; PWR5-NEXT: rotldi 3, 3, 62
18930 ; PWR5-NEXT: and 3, 3, 6
18931 ; PWR5-NEXT: lis 7, 3855
18932 ; PWR5-NEXT: and 5, 4, 6
18933 ; PWR5-NEXT: rotldi 4, 4, 62
18934 ; PWR5-NEXT: add 3, 8, 3
18935 ; PWR5-NEXT: lis 9, 257
18936 ; PWR5-NEXT: ori 7, 7, 3855
18937 ; PWR5-NEXT: and 4, 4, 6
18938 ; PWR5-NEXT: rldicl 6, 3, 60, 4
18939 ; PWR5-NEXT: ori 9, 9, 257
18940 ; PWR5-NEXT: rldimi 7, 7, 32, 0
18941 ; PWR5-NEXT: add 4, 5, 4
18942 ; PWR5-NEXT: add 3, 3, 6
18943 ; PWR5-NEXT: rldimi 9, 9, 32, 0
18944 ; PWR5-NEXT: rldicl 5, 4, 60, 4
18945 ; PWR5-NEXT: and 3, 3, 7
18946 ; PWR5-NEXT: add 4, 4, 5
18947 ; PWR5-NEXT: mulld 3, 3, 9
18948 ; PWR5-NEXT: and 4, 4, 7
18949 ; PWR5-NEXT: rldicl 3, 3, 8, 56
18950 ; PWR5-NEXT: li 5, 28
18951 ; PWR5-NEXT: mulld 4, 4, 9
18952 ; PWR5-NEXT: subc 6, 3, 5
18953 ; PWR5-NEXT: rldicl 4, 4, 8, 56
18954 ; PWR5-NEXT: subfe 3, 3, 3
18955 ; PWR5-NEXT: subc 5, 4, 5
18956 ; PWR5-NEXT: subfe 4, 4, 4
18957 ; PWR5-NEXT: blr
18961 ; PWR6-NEXT: lis 5, 21845
18962 ; PWR6-NEXT: lis 6, 13107
18963 ; PWR6-NEXT: ori 5, 5, 21845
18964 ; PWR6-NEXT: rotldi 8, 4, 63
18965 ; PWR6-NEXT: rotldi 9, 3, 63
18966 ; PWR6-NEXT: rldimi 5, 5, 32, 0
18967 ; PWR6-NEXT: and 8, 8, 5
18968 ; PWR6-NEXT: and 5, 9, 5
18969 ; PWR6-NEXT: ori 6, 6, 13107
18970 ; PWR6-NEXT: sub 3, 3, 5
18971 ; PWR6-NEXT: rldimi 6, 6, 32, 0
18972 ; PWR6-NEXT: sub 4, 4, 8
18973 ; PWR6-NEXT: and 8, 3, 6
18974 ; PWR6-NEXT: rotldi 3, 3, 62
18975 ; PWR6-NEXT: and 3, 3, 6
18976 ; PWR6-NEXT: lis 7, 3855
18977 ; PWR6-NEXT: and 5, 4, 6
18978 ; PWR6-NEXT: rotldi 4, 4, 62
18979 ; PWR6-NEXT: add 3, 8, 3
18980 ; PWR6-NEXT: lis 9, 257
18981 ; PWR6-NEXT: ori 7, 7, 3855
18982 ; PWR6-NEXT: and 4, 4, 6
18983 ; PWR6-NEXT: rldicl 6, 3, 60, 4
18984 ; PWR6-NEXT: ori 9, 9, 257
18985 ; PWR6-NEXT: rldimi 7, 7, 32, 0
18986 ; PWR6-NEXT: add 4, 5, 4
18987 ; PWR6-NEXT: add 3, 3, 6
18988 ; PWR6-NEXT: rldimi 9, 9, 32, 0
18989 ; PWR6-NEXT: rldicl 5, 4, 60, 4
18990 ; PWR6-NEXT: and 3, 3, 7
18991 ; PWR6-NEXT: add 4, 4, 5
18992 ; PWR6-NEXT: mulld 3, 3, 9
18993 ; PWR6-NEXT: and 4, 4, 7
18994 ; PWR6-NEXT: rldicl 3, 3, 8, 56
18995 ; PWR6-NEXT: li 5, 28
18996 ; PWR6-NEXT: mulld 4, 4, 9
18997 ; PWR6-NEXT: subc 6, 3, 5
18998 ; PWR6-NEXT: rldicl 4, 4, 8, 56
18999 ; PWR6-NEXT: subfe 3, 3, 3
19000 ; PWR6-NEXT: subc 5, 4, 5
19001 ; PWR6-NEXT: subfe 4, 4, 4
19002 ; PWR6-NEXT: blr
19006 ; PWR7-NEXT: addi 3, 1, -32
19007 ; PWR7-NEXT: li 5, 0
19008 ; PWR7-NEXT: li 6, -1
19009 ; PWR7-NEXT: stxvd2x 34, 0, 3
19010 ; PWR7-NEXT: ld 3, -24(1)
19011 ; PWR7-NEXT: ld 4, -32(1)
19012 ; PWR7-NEXT: popcntd 3, 3
19013 ; PWR7-NEXT: popcntd 4, 4
19014 ; PWR7-NEXT: cmpldi 3, 28
19015 ; PWR7-NEXT: isellt 3, 6, 5
19016 ; PWR7-NEXT: cmpldi 4, 28
19017 ; PWR7-NEXT: isellt 4, 6, 5
19018 ; PWR7-NEXT: std 3, -8(1)
19019 ; PWR7-NEXT: addi 3, 1, -16
19020 ; PWR7-NEXT: std 4, -16(1)
19021 ; PWR7-NEXT: lxvd2x 34, 0, 3
19022 ; PWR7-NEXT: blr
19026 ; PWR8-NEXT: addis 3, 2, .LCPI153_0@toc@ha
19027 ; PWR8-NEXT: vpopcntd 2, 2
19028 ; PWR8-NEXT: addi 3, 3, .LCPI153_0@toc@l
19029 ; PWR8-NEXT: lxvd2x 35, 0, 3
19030 ; PWR8-NEXT: vcmpgtud 2, 3, 2
19031 ; PWR8-NEXT: blr
19035 ; PWR9-NEXT: addis 3, 2, .LCPI153_0@toc@ha
19036 ; PWR9-NEXT: vpopcntd 2, 2
19037 ; PWR9-NEXT: addi 3, 3, .LCPI153_0@toc@l
19038 ; PWR9-NEXT: lxvx 35, 0, 3
19039 ; PWR9-NEXT: vcmpgtud 2, 3, 2
19040 ; PWR9-NEXT: blr
19050 ; PWR5-NEXT: lis 5, 21845
19051 ; PWR5-NEXT: lis 6, 13107
19052 ; PWR5-NEXT: ori 5, 5, 21845
19053 ; PWR5-NEXT: rotldi 8, 4, 63
19054 ; PWR5-NEXT: rotldi 9, 3, 63
19055 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19056 ; PWR5-NEXT: and 8, 8, 5
19057 ; PWR5-NEXT: and 5, 9, 5
19058 ; PWR5-NEXT: ori 6, 6, 13107
19059 ; PWR5-NEXT: sub 3, 3, 5
19060 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19061 ; PWR5-NEXT: sub 4, 4, 8
19062 ; PWR5-NEXT: and 8, 3, 6
19063 ; PWR5-NEXT: rotldi 3, 3, 62
19064 ; PWR5-NEXT: and 3, 3, 6
19065 ; PWR5-NEXT: lis 7, 3855
19066 ; PWR5-NEXT: and 5, 4, 6
19067 ; PWR5-NEXT: rotldi 4, 4, 62
19068 ; PWR5-NEXT: add 3, 8, 3
19069 ; PWR5-NEXT: lis 9, 257
19070 ; PWR5-NEXT: ori 7, 7, 3855
19071 ; PWR5-NEXT: and 4, 4, 6
19072 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19073 ; PWR5-NEXT: ori 9, 9, 257
19074 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19075 ; PWR5-NEXT: add 4, 5, 4
19076 ; PWR5-NEXT: add 3, 3, 6
19077 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19078 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19079 ; PWR5-NEXT: and 3, 3, 7
19080 ; PWR5-NEXT: add 4, 4, 5
19081 ; PWR5-NEXT: mulld 3, 3, 9
19082 ; PWR5-NEXT: and 4, 4, 7
19083 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19084 ; PWR5-NEXT: mulld 4, 4, 9
19085 ; PWR5-NEXT: li 5, 28
19086 ; PWR5-NEXT: subfic 3, 3, 28
19087 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19088 ; PWR5-NEXT: subfe 3, 5, 5
19089 ; PWR5-NEXT: subfic 4, 4, 28
19090 ; PWR5-NEXT: subfe 4, 5, 5
19091 ; PWR5-NEXT: blr
19095 ; PWR6-NEXT: lis 5, 21845
19096 ; PWR6-NEXT: lis 6, 13107
19097 ; PWR6-NEXT: ori 5, 5, 21845
19098 ; PWR6-NEXT: rotldi 8, 4, 63
19099 ; PWR6-NEXT: rotldi 9, 3, 63
19100 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19101 ; PWR6-NEXT: and 8, 8, 5
19102 ; PWR6-NEXT: and 5, 9, 5
19103 ; PWR6-NEXT: ori 6, 6, 13107
19104 ; PWR6-NEXT: sub 3, 3, 5
19105 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19106 ; PWR6-NEXT: sub 4, 4, 8
19107 ; PWR6-NEXT: and 8, 3, 6
19108 ; PWR6-NEXT: rotldi 3, 3, 62
19109 ; PWR6-NEXT: and 3, 3, 6
19110 ; PWR6-NEXT: lis 7, 3855
19111 ; PWR6-NEXT: and 5, 4, 6
19112 ; PWR6-NEXT: rotldi 4, 4, 62
19113 ; PWR6-NEXT: add 3, 8, 3
19114 ; PWR6-NEXT: lis 9, 257
19115 ; PWR6-NEXT: ori 7, 7, 3855
19116 ; PWR6-NEXT: and 4, 4, 6
19117 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19118 ; PWR6-NEXT: ori 9, 9, 257
19119 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19120 ; PWR6-NEXT: add 4, 5, 4
19121 ; PWR6-NEXT: add 3, 3, 6
19122 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19123 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19124 ; PWR6-NEXT: and 3, 3, 7
19125 ; PWR6-NEXT: add 4, 4, 5
19126 ; PWR6-NEXT: mulld 3, 3, 9
19127 ; PWR6-NEXT: and 4, 4, 7
19128 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19129 ; PWR6-NEXT: mulld 4, 4, 9
19130 ; PWR6-NEXT: li 5, 28
19131 ; PWR6-NEXT: subfic 3, 3, 28
19132 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19133 ; PWR6-NEXT: subfe 3, 5, 5
19134 ; PWR6-NEXT: subfic 4, 4, 28
19135 ; PWR6-NEXT: subfe 4, 5, 5
19136 ; PWR6-NEXT: blr
19140 ; PWR7-NEXT: addi 3, 1, -32
19141 ; PWR7-NEXT: li 5, 0
19142 ; PWR7-NEXT: li 6, -1
19143 ; PWR7-NEXT: stxvd2x 34, 0, 3
19144 ; PWR7-NEXT: ld 3, -24(1)
19145 ; PWR7-NEXT: ld 4, -32(1)
19146 ; PWR7-NEXT: popcntd 3, 3
19147 ; PWR7-NEXT: popcntd 4, 4
19148 ; PWR7-NEXT: cmpldi 3, 28
19149 ; PWR7-NEXT: iselgt 3, 6, 5
19150 ; PWR7-NEXT: cmpldi 4, 28
19151 ; PWR7-NEXT: iselgt 4, 6, 5
19152 ; PWR7-NEXT: std 3, -8(1)
19153 ; PWR7-NEXT: addi 3, 1, -16
19154 ; PWR7-NEXT: std 4, -16(1)
19155 ; PWR7-NEXT: lxvd2x 34, 0, 3
19156 ; PWR7-NEXT: blr
19160 ; PWR8-NEXT: addis 3, 2, .LCPI154_0@toc@ha
19161 ; PWR8-NEXT: vpopcntd 2, 2
19162 ; PWR8-NEXT: addi 3, 3, .LCPI154_0@toc@l
19163 ; PWR8-NEXT: lxvd2x 35, 0, 3
19164 ; PWR8-NEXT: vcmpgtud 2, 2, 3
19165 ; PWR8-NEXT: blr
19169 ; PWR9-NEXT: addis 3, 2, .LCPI154_0@toc@ha
19170 ; PWR9-NEXT: vpopcntd 2, 2
19171 ; PWR9-NEXT: addi 3, 3, .LCPI154_0@toc@l
19172 ; PWR9-NEXT: lxvx 35, 0, 3
19173 ; PWR9-NEXT: vcmpgtud 2, 2, 3
19174 ; PWR9-NEXT: blr
19184 ; PWR5-NEXT: lis 5, 21845
19185 ; PWR5-NEXT: lis 6, 13107
19186 ; PWR5-NEXT: ori 5, 5, 21845
19187 ; PWR5-NEXT: rotldi 8, 4, 63
19188 ; PWR5-NEXT: rotldi 9, 3, 63
19189 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19190 ; PWR5-NEXT: and 8, 8, 5
19191 ; PWR5-NEXT: and 5, 9, 5
19192 ; PWR5-NEXT: ori 6, 6, 13107
19193 ; PWR5-NEXT: sub 3, 3, 5
19194 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19195 ; PWR5-NEXT: sub 4, 4, 8
19196 ; PWR5-NEXT: and 8, 3, 6
19197 ; PWR5-NEXT: rotldi 3, 3, 62
19198 ; PWR5-NEXT: and 3, 3, 6
19199 ; PWR5-NEXT: lis 7, 3855
19200 ; PWR5-NEXT: and 5, 4, 6
19201 ; PWR5-NEXT: rotldi 4, 4, 62
19202 ; PWR5-NEXT: add 3, 8, 3
19203 ; PWR5-NEXT: lis 9, 257
19204 ; PWR5-NEXT: ori 7, 7, 3855
19205 ; PWR5-NEXT: and 4, 4, 6
19206 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19207 ; PWR5-NEXT: ori 9, 9, 257
19208 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19209 ; PWR5-NEXT: add 4, 5, 4
19210 ; PWR5-NEXT: add 3, 3, 6
19211 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19212 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19213 ; PWR5-NEXT: and 3, 3, 7
19214 ; PWR5-NEXT: add 4, 4, 5
19215 ; PWR5-NEXT: mulld 3, 3, 9
19216 ; PWR5-NEXT: and 4, 4, 7
19217 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19218 ; PWR5-NEXT: li 5, 29
19219 ; PWR5-NEXT: mulld 4, 4, 9
19220 ; PWR5-NEXT: subc 6, 3, 5
19221 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19222 ; PWR5-NEXT: subfe 3, 3, 3
19223 ; PWR5-NEXT: subc 5, 4, 5
19224 ; PWR5-NEXT: subfe 4, 4, 4
19225 ; PWR5-NEXT: blr
19229 ; PWR6-NEXT: lis 5, 21845
19230 ; PWR6-NEXT: lis 6, 13107
19231 ; PWR6-NEXT: ori 5, 5, 21845
19232 ; PWR6-NEXT: rotldi 8, 4, 63
19233 ; PWR6-NEXT: rotldi 9, 3, 63
19234 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19235 ; PWR6-NEXT: and 8, 8, 5
19236 ; PWR6-NEXT: and 5, 9, 5
19237 ; PWR6-NEXT: ori 6, 6, 13107
19238 ; PWR6-NEXT: sub 3, 3, 5
19239 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19240 ; PWR6-NEXT: sub 4, 4, 8
19241 ; PWR6-NEXT: and 8, 3, 6
19242 ; PWR6-NEXT: rotldi 3, 3, 62
19243 ; PWR6-NEXT: and 3, 3, 6
19244 ; PWR6-NEXT: lis 7, 3855
19245 ; PWR6-NEXT: and 5, 4, 6
19246 ; PWR6-NEXT: rotldi 4, 4, 62
19247 ; PWR6-NEXT: add 3, 8, 3
19248 ; PWR6-NEXT: lis 9, 257
19249 ; PWR6-NEXT: ori 7, 7, 3855
19250 ; PWR6-NEXT: and 4, 4, 6
19251 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19252 ; PWR6-NEXT: ori 9, 9, 257
19253 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19254 ; PWR6-NEXT: add 4, 5, 4
19255 ; PWR6-NEXT: add 3, 3, 6
19256 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19257 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19258 ; PWR6-NEXT: and 3, 3, 7
19259 ; PWR6-NEXT: add 4, 4, 5
19260 ; PWR6-NEXT: mulld 3, 3, 9
19261 ; PWR6-NEXT: and 4, 4, 7
19262 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19263 ; PWR6-NEXT: li 5, 29
19264 ; PWR6-NEXT: mulld 4, 4, 9
19265 ; PWR6-NEXT: subc 6, 3, 5
19266 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19267 ; PWR6-NEXT: subfe 3, 3, 3
19268 ; PWR6-NEXT: subc 5, 4, 5
19269 ; PWR6-NEXT: subfe 4, 4, 4
19270 ; PWR6-NEXT: blr
19274 ; PWR7-NEXT: addi 3, 1, -32
19275 ; PWR7-NEXT: li 5, 0
19276 ; PWR7-NEXT: li 6, -1
19277 ; PWR7-NEXT: stxvd2x 34, 0, 3
19278 ; PWR7-NEXT: ld 3, -24(1)
19279 ; PWR7-NEXT: ld 4, -32(1)
19280 ; PWR7-NEXT: popcntd 3, 3
19281 ; PWR7-NEXT: popcntd 4, 4
19282 ; PWR7-NEXT: cmpldi 3, 29
19283 ; PWR7-NEXT: isellt 3, 6, 5
19284 ; PWR7-NEXT: cmpldi 4, 29
19285 ; PWR7-NEXT: isellt 4, 6, 5
19286 ; PWR7-NEXT: std 3, -8(1)
19287 ; PWR7-NEXT: addi 3, 1, -16
19288 ; PWR7-NEXT: std 4, -16(1)
19289 ; PWR7-NEXT: lxvd2x 34, 0, 3
19290 ; PWR7-NEXT: blr
19294 ; PWR8-NEXT: addis 3, 2, .LCPI155_0@toc@ha
19295 ; PWR8-NEXT: vpopcntd 2, 2
19296 ; PWR8-NEXT: addi 3, 3, .LCPI155_0@toc@l
19297 ; PWR8-NEXT: lxvd2x 35, 0, 3
19298 ; PWR8-NEXT: vcmpgtud 2, 3, 2
19299 ; PWR8-NEXT: blr
19303 ; PWR9-NEXT: addis 3, 2, .LCPI155_0@toc@ha
19304 ; PWR9-NEXT: vpopcntd 2, 2
19305 ; PWR9-NEXT: addi 3, 3, .LCPI155_0@toc@l
19306 ; PWR9-NEXT: lxvx 35, 0, 3
19307 ; PWR9-NEXT: vcmpgtud 2, 3, 2
19308 ; PWR9-NEXT: blr
19318 ; PWR5-NEXT: lis 5, 21845
19319 ; PWR5-NEXT: lis 6, 13107
19320 ; PWR5-NEXT: ori 5, 5, 21845
19321 ; PWR5-NEXT: rotldi 8, 4, 63
19322 ; PWR5-NEXT: rotldi 9, 3, 63
19323 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19324 ; PWR5-NEXT: and 8, 8, 5
19325 ; PWR5-NEXT: and 5, 9, 5
19326 ; PWR5-NEXT: ori 6, 6, 13107
19327 ; PWR5-NEXT: sub 3, 3, 5
19328 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19329 ; PWR5-NEXT: sub 4, 4, 8
19330 ; PWR5-NEXT: and 8, 3, 6
19331 ; PWR5-NEXT: rotldi 3, 3, 62
19332 ; PWR5-NEXT: and 3, 3, 6
19333 ; PWR5-NEXT: lis 7, 3855
19334 ; PWR5-NEXT: and 5, 4, 6
19335 ; PWR5-NEXT: rotldi 4, 4, 62
19336 ; PWR5-NEXT: add 3, 8, 3
19337 ; PWR5-NEXT: lis 9, 257
19338 ; PWR5-NEXT: ori 7, 7, 3855
19339 ; PWR5-NEXT: and 4, 4, 6
19340 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19341 ; PWR5-NEXT: ori 9, 9, 257
19342 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19343 ; PWR5-NEXT: add 4, 5, 4
19344 ; PWR5-NEXT: add 3, 3, 6
19345 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19346 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19347 ; PWR5-NEXT: and 3, 3, 7
19348 ; PWR5-NEXT: add 4, 4, 5
19349 ; PWR5-NEXT: mulld 3, 3, 9
19350 ; PWR5-NEXT: and 4, 4, 7
19351 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19352 ; PWR5-NEXT: mulld 4, 4, 9
19353 ; PWR5-NEXT: li 5, 29
19354 ; PWR5-NEXT: subfic 3, 3, 29
19355 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19356 ; PWR5-NEXT: subfe 3, 5, 5
19357 ; PWR5-NEXT: subfic 4, 4, 29
19358 ; PWR5-NEXT: subfe 4, 5, 5
19359 ; PWR5-NEXT: blr
19363 ; PWR6-NEXT: lis 5, 21845
19364 ; PWR6-NEXT: lis 6, 13107
19365 ; PWR6-NEXT: ori 5, 5, 21845
19366 ; PWR6-NEXT: rotldi 8, 4, 63
19367 ; PWR6-NEXT: rotldi 9, 3, 63
19368 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19369 ; PWR6-NEXT: and 8, 8, 5
19370 ; PWR6-NEXT: and 5, 9, 5
19371 ; PWR6-NEXT: ori 6, 6, 13107
19372 ; PWR6-NEXT: sub 3, 3, 5
19373 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19374 ; PWR6-NEXT: sub 4, 4, 8
19375 ; PWR6-NEXT: and 8, 3, 6
19376 ; PWR6-NEXT: rotldi 3, 3, 62
19377 ; PWR6-NEXT: and 3, 3, 6
19378 ; PWR6-NEXT: lis 7, 3855
19379 ; PWR6-NEXT: and 5, 4, 6
19380 ; PWR6-NEXT: rotldi 4, 4, 62
19381 ; PWR6-NEXT: add 3, 8, 3
19382 ; PWR6-NEXT: lis 9, 257
19383 ; PWR6-NEXT: ori 7, 7, 3855
19384 ; PWR6-NEXT: and 4, 4, 6
19385 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19386 ; PWR6-NEXT: ori 9, 9, 257
19387 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19388 ; PWR6-NEXT: add 4, 5, 4
19389 ; PWR6-NEXT: add 3, 3, 6
19390 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19391 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19392 ; PWR6-NEXT: and 3, 3, 7
19393 ; PWR6-NEXT: add 4, 4, 5
19394 ; PWR6-NEXT: mulld 3, 3, 9
19395 ; PWR6-NEXT: and 4, 4, 7
19396 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19397 ; PWR6-NEXT: mulld 4, 4, 9
19398 ; PWR6-NEXT: li 5, 29
19399 ; PWR6-NEXT: subfic 3, 3, 29
19400 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19401 ; PWR6-NEXT: subfe 3, 5, 5
19402 ; PWR6-NEXT: subfic 4, 4, 29
19403 ; PWR6-NEXT: subfe 4, 5, 5
19404 ; PWR6-NEXT: blr
19408 ; PWR7-NEXT: addi 3, 1, -32
19409 ; PWR7-NEXT: li 5, 0
19410 ; PWR7-NEXT: li 6, -1
19411 ; PWR7-NEXT: stxvd2x 34, 0, 3
19412 ; PWR7-NEXT: ld 3, -24(1)
19413 ; PWR7-NEXT: ld 4, -32(1)
19414 ; PWR7-NEXT: popcntd 3, 3
19415 ; PWR7-NEXT: popcntd 4, 4
19416 ; PWR7-NEXT: cmpldi 3, 29
19417 ; PWR7-NEXT: iselgt 3, 6, 5
19418 ; PWR7-NEXT: cmpldi 4, 29
19419 ; PWR7-NEXT: iselgt 4, 6, 5
19420 ; PWR7-NEXT: std 3, -8(1)
19421 ; PWR7-NEXT: addi 3, 1, -16
19422 ; PWR7-NEXT: std 4, -16(1)
19423 ; PWR7-NEXT: lxvd2x 34, 0, 3
19424 ; PWR7-NEXT: blr
19428 ; PWR8-NEXT: addis 3, 2, .LCPI156_0@toc@ha
19429 ; PWR8-NEXT: vpopcntd 2, 2
19430 ; PWR8-NEXT: addi 3, 3, .LCPI156_0@toc@l
19431 ; PWR8-NEXT: lxvd2x 35, 0, 3
19432 ; PWR8-NEXT: vcmpgtud 2, 2, 3
19433 ; PWR8-NEXT: blr
19437 ; PWR9-NEXT: addis 3, 2, .LCPI156_0@toc@ha
19438 ; PWR9-NEXT: vpopcntd 2, 2
19439 ; PWR9-NEXT: addi 3, 3, .LCPI156_0@toc@l
19440 ; PWR9-NEXT: lxvx 35, 0, 3
19441 ; PWR9-NEXT: vcmpgtud 2, 2, 3
19442 ; PWR9-NEXT: blr
19452 ; PWR5-NEXT: lis 5, 21845
19453 ; PWR5-NEXT: lis 6, 13107
19454 ; PWR5-NEXT: ori 5, 5, 21845
19455 ; PWR5-NEXT: rotldi 8, 4, 63
19456 ; PWR5-NEXT: rotldi 9, 3, 63
19457 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19458 ; PWR5-NEXT: and 8, 8, 5
19459 ; PWR5-NEXT: and 5, 9, 5
19460 ; PWR5-NEXT: ori 6, 6, 13107
19461 ; PWR5-NEXT: sub 3, 3, 5
19462 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19463 ; PWR5-NEXT: sub 4, 4, 8
19464 ; PWR5-NEXT: and 8, 3, 6
19465 ; PWR5-NEXT: rotldi 3, 3, 62
19466 ; PWR5-NEXT: and 3, 3, 6
19467 ; PWR5-NEXT: lis 7, 3855
19468 ; PWR5-NEXT: and 5, 4, 6
19469 ; PWR5-NEXT: rotldi 4, 4, 62
19470 ; PWR5-NEXT: add 3, 8, 3
19471 ; PWR5-NEXT: lis 9, 257
19472 ; PWR5-NEXT: ori 7, 7, 3855
19473 ; PWR5-NEXT: and 4, 4, 6
19474 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19475 ; PWR5-NEXT: ori 9, 9, 257
19476 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19477 ; PWR5-NEXT: add 4, 5, 4
19478 ; PWR5-NEXT: add 3, 3, 6
19479 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19480 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19481 ; PWR5-NEXT: and 3, 3, 7
19482 ; PWR5-NEXT: add 4, 4, 5
19483 ; PWR5-NEXT: mulld 3, 3, 9
19484 ; PWR5-NEXT: and 4, 4, 7
19485 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19486 ; PWR5-NEXT: li 5, 30
19487 ; PWR5-NEXT: mulld 4, 4, 9
19488 ; PWR5-NEXT: subc 6, 3, 5
19489 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19490 ; PWR5-NEXT: subfe 3, 3, 3
19491 ; PWR5-NEXT: subc 5, 4, 5
19492 ; PWR5-NEXT: subfe 4, 4, 4
19493 ; PWR5-NEXT: blr
19497 ; PWR6-NEXT: lis 5, 21845
19498 ; PWR6-NEXT: lis 6, 13107
19499 ; PWR6-NEXT: ori 5, 5, 21845
19500 ; PWR6-NEXT: rotldi 8, 4, 63
19501 ; PWR6-NEXT: rotldi 9, 3, 63
19502 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19503 ; PWR6-NEXT: and 8, 8, 5
19504 ; PWR6-NEXT: and 5, 9, 5
19505 ; PWR6-NEXT: ori 6, 6, 13107
19506 ; PWR6-NEXT: sub 3, 3, 5
19507 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19508 ; PWR6-NEXT: sub 4, 4, 8
19509 ; PWR6-NEXT: and 8, 3, 6
19510 ; PWR6-NEXT: rotldi 3, 3, 62
19511 ; PWR6-NEXT: and 3, 3, 6
19512 ; PWR6-NEXT: lis 7, 3855
19513 ; PWR6-NEXT: and 5, 4, 6
19514 ; PWR6-NEXT: rotldi 4, 4, 62
19515 ; PWR6-NEXT: add 3, 8, 3
19516 ; PWR6-NEXT: lis 9, 257
19517 ; PWR6-NEXT: ori 7, 7, 3855
19518 ; PWR6-NEXT: and 4, 4, 6
19519 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19520 ; PWR6-NEXT: ori 9, 9, 257
19521 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19522 ; PWR6-NEXT: add 4, 5, 4
19523 ; PWR6-NEXT: add 3, 3, 6
19524 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19525 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19526 ; PWR6-NEXT: and 3, 3, 7
19527 ; PWR6-NEXT: add 4, 4, 5
19528 ; PWR6-NEXT: mulld 3, 3, 9
19529 ; PWR6-NEXT: and 4, 4, 7
19530 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19531 ; PWR6-NEXT: li 5, 30
19532 ; PWR6-NEXT: mulld 4, 4, 9
19533 ; PWR6-NEXT: subc 6, 3, 5
19534 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19535 ; PWR6-NEXT: subfe 3, 3, 3
19536 ; PWR6-NEXT: subc 5, 4, 5
19537 ; PWR6-NEXT: subfe 4, 4, 4
19538 ; PWR6-NEXT: blr
19542 ; PWR7-NEXT: addi 3, 1, -32
19543 ; PWR7-NEXT: li 5, 0
19544 ; PWR7-NEXT: li 6, -1
19545 ; PWR7-NEXT: stxvd2x 34, 0, 3
19546 ; PWR7-NEXT: ld 3, -24(1)
19547 ; PWR7-NEXT: ld 4, -32(1)
19548 ; PWR7-NEXT: popcntd 3, 3
19549 ; PWR7-NEXT: popcntd 4, 4
19550 ; PWR7-NEXT: cmpldi 3, 30
19551 ; PWR7-NEXT: isellt 3, 6, 5
19552 ; PWR7-NEXT: cmpldi 4, 30
19553 ; PWR7-NEXT: isellt 4, 6, 5
19554 ; PWR7-NEXT: std 3, -8(1)
19555 ; PWR7-NEXT: addi 3, 1, -16
19556 ; PWR7-NEXT: std 4, -16(1)
19557 ; PWR7-NEXT: lxvd2x 34, 0, 3
19558 ; PWR7-NEXT: blr
19562 ; PWR8-NEXT: addis 3, 2, .LCPI157_0@toc@ha
19563 ; PWR8-NEXT: vpopcntd 2, 2
19564 ; PWR8-NEXT: addi 3, 3, .LCPI157_0@toc@l
19565 ; PWR8-NEXT: lxvd2x 35, 0, 3
19566 ; PWR8-NEXT: vcmpgtud 2, 3, 2
19567 ; PWR8-NEXT: blr
19571 ; PWR9-NEXT: addis 3, 2, .LCPI157_0@toc@ha
19572 ; PWR9-NEXT: vpopcntd 2, 2
19573 ; PWR9-NEXT: addi 3, 3, .LCPI157_0@toc@l
19574 ; PWR9-NEXT: lxvx 35, 0, 3
19575 ; PWR9-NEXT: vcmpgtud 2, 3, 2
19576 ; PWR9-NEXT: blr
19586 ; PWR5-NEXT: lis 5, 21845
19587 ; PWR5-NEXT: lis 6, 13107
19588 ; PWR5-NEXT: ori 5, 5, 21845
19589 ; PWR5-NEXT: rotldi 8, 4, 63
19590 ; PWR5-NEXT: rotldi 9, 3, 63
19591 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19592 ; PWR5-NEXT: and 8, 8, 5
19593 ; PWR5-NEXT: and 5, 9, 5
19594 ; PWR5-NEXT: ori 6, 6, 13107
19595 ; PWR5-NEXT: sub 3, 3, 5
19596 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19597 ; PWR5-NEXT: sub 4, 4, 8
19598 ; PWR5-NEXT: and 8, 3, 6
19599 ; PWR5-NEXT: rotldi 3, 3, 62
19600 ; PWR5-NEXT: and 3, 3, 6
19601 ; PWR5-NEXT: lis 7, 3855
19602 ; PWR5-NEXT: and 5, 4, 6
19603 ; PWR5-NEXT: rotldi 4, 4, 62
19604 ; PWR5-NEXT: add 3, 8, 3
19605 ; PWR5-NEXT: lis 9, 257
19606 ; PWR5-NEXT: ori 7, 7, 3855
19607 ; PWR5-NEXT: and 4, 4, 6
19608 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19609 ; PWR5-NEXT: ori 9, 9, 257
19610 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19611 ; PWR5-NEXT: add 4, 5, 4
19612 ; PWR5-NEXT: add 3, 3, 6
19613 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19614 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19615 ; PWR5-NEXT: and 3, 3, 7
19616 ; PWR5-NEXT: add 4, 4, 5
19617 ; PWR5-NEXT: mulld 3, 3, 9
19618 ; PWR5-NEXT: and 4, 4, 7
19619 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19620 ; PWR5-NEXT: mulld 4, 4, 9
19621 ; PWR5-NEXT: li 5, 30
19622 ; PWR5-NEXT: subfic 3, 3, 30
19623 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19624 ; PWR5-NEXT: subfe 3, 5, 5
19625 ; PWR5-NEXT: subfic 4, 4, 30
19626 ; PWR5-NEXT: subfe 4, 5, 5
19627 ; PWR5-NEXT: blr
19631 ; PWR6-NEXT: lis 5, 21845
19632 ; PWR6-NEXT: lis 6, 13107
19633 ; PWR6-NEXT: ori 5, 5, 21845
19634 ; PWR6-NEXT: rotldi 8, 4, 63
19635 ; PWR6-NEXT: rotldi 9, 3, 63
19636 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19637 ; PWR6-NEXT: and 8, 8, 5
19638 ; PWR6-NEXT: and 5, 9, 5
19639 ; PWR6-NEXT: ori 6, 6, 13107
19640 ; PWR6-NEXT: sub 3, 3, 5
19641 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19642 ; PWR6-NEXT: sub 4, 4, 8
19643 ; PWR6-NEXT: and 8, 3, 6
19644 ; PWR6-NEXT: rotldi 3, 3, 62
19645 ; PWR6-NEXT: and 3, 3, 6
19646 ; PWR6-NEXT: lis 7, 3855
19647 ; PWR6-NEXT: and 5, 4, 6
19648 ; PWR6-NEXT: rotldi 4, 4, 62
19649 ; PWR6-NEXT: add 3, 8, 3
19650 ; PWR6-NEXT: lis 9, 257
19651 ; PWR6-NEXT: ori 7, 7, 3855
19652 ; PWR6-NEXT: and 4, 4, 6
19653 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19654 ; PWR6-NEXT: ori 9, 9, 257
19655 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19656 ; PWR6-NEXT: add 4, 5, 4
19657 ; PWR6-NEXT: add 3, 3, 6
19658 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19659 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19660 ; PWR6-NEXT: and 3, 3, 7
19661 ; PWR6-NEXT: add 4, 4, 5
19662 ; PWR6-NEXT: mulld 3, 3, 9
19663 ; PWR6-NEXT: and 4, 4, 7
19664 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19665 ; PWR6-NEXT: mulld 4, 4, 9
19666 ; PWR6-NEXT: li 5, 30
19667 ; PWR6-NEXT: subfic 3, 3, 30
19668 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19669 ; PWR6-NEXT: subfe 3, 5, 5
19670 ; PWR6-NEXT: subfic 4, 4, 30
19671 ; PWR6-NEXT: subfe 4, 5, 5
19672 ; PWR6-NEXT: blr
19676 ; PWR7-NEXT: addi 3, 1, -32
19677 ; PWR7-NEXT: li 5, 0
19678 ; PWR7-NEXT: li 6, -1
19679 ; PWR7-NEXT: stxvd2x 34, 0, 3
19680 ; PWR7-NEXT: ld 3, -24(1)
19681 ; PWR7-NEXT: ld 4, -32(1)
19682 ; PWR7-NEXT: popcntd 3, 3
19683 ; PWR7-NEXT: popcntd 4, 4
19684 ; PWR7-NEXT: cmpldi 3, 30
19685 ; PWR7-NEXT: iselgt 3, 6, 5
19686 ; PWR7-NEXT: cmpldi 4, 30
19687 ; PWR7-NEXT: iselgt 4, 6, 5
19688 ; PWR7-NEXT: std 3, -8(1)
19689 ; PWR7-NEXT: addi 3, 1, -16
19690 ; PWR7-NEXT: std 4, -16(1)
19691 ; PWR7-NEXT: lxvd2x 34, 0, 3
19692 ; PWR7-NEXT: blr
19696 ; PWR8-NEXT: addis 3, 2, .LCPI158_0@toc@ha
19697 ; PWR8-NEXT: vpopcntd 2, 2
19698 ; PWR8-NEXT: addi 3, 3, .LCPI158_0@toc@l
19699 ; PWR8-NEXT: lxvd2x 35, 0, 3
19700 ; PWR8-NEXT: vcmpgtud 2, 2, 3
19701 ; PWR8-NEXT: blr
19705 ; PWR9-NEXT: addis 3, 2, .LCPI158_0@toc@ha
19706 ; PWR9-NEXT: vpopcntd 2, 2
19707 ; PWR9-NEXT: addi 3, 3, .LCPI158_0@toc@l
19708 ; PWR9-NEXT: lxvx 35, 0, 3
19709 ; PWR9-NEXT: vcmpgtud 2, 2, 3
19710 ; PWR9-NEXT: blr
19720 ; PWR5-NEXT: lis 5, 21845
19721 ; PWR5-NEXT: lis 6, 13107
19722 ; PWR5-NEXT: ori 5, 5, 21845
19723 ; PWR5-NEXT: rotldi 8, 4, 63
19724 ; PWR5-NEXT: rotldi 9, 3, 63
19725 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19726 ; PWR5-NEXT: and 8, 8, 5
19727 ; PWR5-NEXT: and 5, 9, 5
19728 ; PWR5-NEXT: ori 6, 6, 13107
19729 ; PWR5-NEXT: sub 3, 3, 5
19730 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19731 ; PWR5-NEXT: sub 4, 4, 8
19732 ; PWR5-NEXT: and 8, 3, 6
19733 ; PWR5-NEXT: rotldi 3, 3, 62
19734 ; PWR5-NEXT: and 3, 3, 6
19735 ; PWR5-NEXT: lis 7, 3855
19736 ; PWR5-NEXT: and 5, 4, 6
19737 ; PWR5-NEXT: rotldi 4, 4, 62
19738 ; PWR5-NEXT: add 3, 8, 3
19739 ; PWR5-NEXT: lis 9, 257
19740 ; PWR5-NEXT: ori 7, 7, 3855
19741 ; PWR5-NEXT: and 4, 4, 6
19742 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19743 ; PWR5-NEXT: ori 9, 9, 257
19744 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19745 ; PWR5-NEXT: add 4, 5, 4
19746 ; PWR5-NEXT: add 3, 3, 6
19747 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19748 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19749 ; PWR5-NEXT: and 3, 3, 7
19750 ; PWR5-NEXT: add 4, 4, 5
19751 ; PWR5-NEXT: mulld 3, 3, 9
19752 ; PWR5-NEXT: and 4, 4, 7
19753 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19754 ; PWR5-NEXT: li 5, 31
19755 ; PWR5-NEXT: mulld 4, 4, 9
19756 ; PWR5-NEXT: subc 6, 3, 5
19757 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19758 ; PWR5-NEXT: subfe 3, 3, 3
19759 ; PWR5-NEXT: subc 5, 4, 5
19760 ; PWR5-NEXT: subfe 4, 4, 4
19761 ; PWR5-NEXT: blr
19765 ; PWR6-NEXT: lis 5, 21845
19766 ; PWR6-NEXT: lis 6, 13107
19767 ; PWR6-NEXT: ori 5, 5, 21845
19768 ; PWR6-NEXT: rotldi 8, 4, 63
19769 ; PWR6-NEXT: rotldi 9, 3, 63
19770 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19771 ; PWR6-NEXT: and 8, 8, 5
19772 ; PWR6-NEXT: and 5, 9, 5
19773 ; PWR6-NEXT: ori 6, 6, 13107
19774 ; PWR6-NEXT: sub 3, 3, 5
19775 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19776 ; PWR6-NEXT: sub 4, 4, 8
19777 ; PWR6-NEXT: and 8, 3, 6
19778 ; PWR6-NEXT: rotldi 3, 3, 62
19779 ; PWR6-NEXT: and 3, 3, 6
19780 ; PWR6-NEXT: lis 7, 3855
19781 ; PWR6-NEXT: and 5, 4, 6
19782 ; PWR6-NEXT: rotldi 4, 4, 62
19783 ; PWR6-NEXT: add 3, 8, 3
19784 ; PWR6-NEXT: lis 9, 257
19785 ; PWR6-NEXT: ori 7, 7, 3855
19786 ; PWR6-NEXT: and 4, 4, 6
19787 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19788 ; PWR6-NEXT: ori 9, 9, 257
19789 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19790 ; PWR6-NEXT: add 4, 5, 4
19791 ; PWR6-NEXT: add 3, 3, 6
19792 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19793 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19794 ; PWR6-NEXT: and 3, 3, 7
19795 ; PWR6-NEXT: add 4, 4, 5
19796 ; PWR6-NEXT: mulld 3, 3, 9
19797 ; PWR6-NEXT: and 4, 4, 7
19798 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19799 ; PWR6-NEXT: li 5, 31
19800 ; PWR6-NEXT: mulld 4, 4, 9
19801 ; PWR6-NEXT: subc 6, 3, 5
19802 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19803 ; PWR6-NEXT: subfe 3, 3, 3
19804 ; PWR6-NEXT: subc 5, 4, 5
19805 ; PWR6-NEXT: subfe 4, 4, 4
19806 ; PWR6-NEXT: blr
19810 ; PWR7-NEXT: addi 3, 1, -32
19811 ; PWR7-NEXT: li 5, 0
19812 ; PWR7-NEXT: li 6, -1
19813 ; PWR7-NEXT: stxvd2x 34, 0, 3
19814 ; PWR7-NEXT: ld 3, -24(1)
19815 ; PWR7-NEXT: ld 4, -32(1)
19816 ; PWR7-NEXT: popcntd 3, 3
19817 ; PWR7-NEXT: popcntd 4, 4
19818 ; PWR7-NEXT: cmpldi 3, 31
19819 ; PWR7-NEXT: isellt 3, 6, 5
19820 ; PWR7-NEXT: cmpldi 4, 31
19821 ; PWR7-NEXT: isellt 4, 6, 5
19822 ; PWR7-NEXT: std 3, -8(1)
19823 ; PWR7-NEXT: addi 3, 1, -16
19824 ; PWR7-NEXT: std 4, -16(1)
19825 ; PWR7-NEXT: lxvd2x 34, 0, 3
19826 ; PWR7-NEXT: blr
19830 ; PWR8-NEXT: addis 3, 2, .LCPI159_0@toc@ha
19831 ; PWR8-NEXT: vpopcntd 2, 2
19832 ; PWR8-NEXT: addi 3, 3, .LCPI159_0@toc@l
19833 ; PWR8-NEXT: lxvd2x 35, 0, 3
19834 ; PWR8-NEXT: vcmpgtud 2, 3, 2
19835 ; PWR8-NEXT: blr
19839 ; PWR9-NEXT: addis 3, 2, .LCPI159_0@toc@ha
19840 ; PWR9-NEXT: vpopcntd 2, 2
19841 ; PWR9-NEXT: addi 3, 3, .LCPI159_0@toc@l
19842 ; PWR9-NEXT: lxvx 35, 0, 3
19843 ; PWR9-NEXT: vcmpgtud 2, 3, 2
19844 ; PWR9-NEXT: blr
19854 ; PWR5-NEXT: lis 5, 21845
19855 ; PWR5-NEXT: lis 6, 13107
19856 ; PWR5-NEXT: ori 5, 5, 21845
19857 ; PWR5-NEXT: rotldi 8, 4, 63
19858 ; PWR5-NEXT: rotldi 9, 3, 63
19859 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19860 ; PWR5-NEXT: and 8, 8, 5
19861 ; PWR5-NEXT: and 5, 9, 5
19862 ; PWR5-NEXT: ori 6, 6, 13107
19863 ; PWR5-NEXT: sub 3, 3, 5
19864 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19865 ; PWR5-NEXT: sub 4, 4, 8
19866 ; PWR5-NEXT: and 8, 3, 6
19867 ; PWR5-NEXT: rotldi 3, 3, 62
19868 ; PWR5-NEXT: and 3, 3, 6
19869 ; PWR5-NEXT: lis 7, 3855
19870 ; PWR5-NEXT: and 5, 4, 6
19871 ; PWR5-NEXT: rotldi 4, 4, 62
19872 ; PWR5-NEXT: add 3, 8, 3
19873 ; PWR5-NEXT: lis 9, 257
19874 ; PWR5-NEXT: ori 7, 7, 3855
19875 ; PWR5-NEXT: and 4, 4, 6
19876 ; PWR5-NEXT: rldicl 6, 3, 60, 4
19877 ; PWR5-NEXT: ori 9, 9, 257
19878 ; PWR5-NEXT: rldimi 7, 7, 32, 0
19879 ; PWR5-NEXT: add 4, 5, 4
19880 ; PWR5-NEXT: add 3, 3, 6
19881 ; PWR5-NEXT: rldimi 9, 9, 32, 0
19882 ; PWR5-NEXT: rldicl 5, 4, 60, 4
19883 ; PWR5-NEXT: and 3, 3, 7
19884 ; PWR5-NEXT: add 4, 4, 5
19885 ; PWR5-NEXT: mulld 3, 3, 9
19886 ; PWR5-NEXT: and 4, 4, 7
19887 ; PWR5-NEXT: rldicl 3, 3, 8, 56
19888 ; PWR5-NEXT: mulld 4, 4, 9
19889 ; PWR5-NEXT: li 5, 31
19890 ; PWR5-NEXT: subfic 3, 3, 31
19891 ; PWR5-NEXT: rldicl 4, 4, 8, 56
19892 ; PWR5-NEXT: subfe 3, 5, 5
19893 ; PWR5-NEXT: subfic 4, 4, 31
19894 ; PWR5-NEXT: subfe 4, 5, 5
19895 ; PWR5-NEXT: blr
19899 ; PWR6-NEXT: lis 5, 21845
19900 ; PWR6-NEXT: lis 6, 13107
19901 ; PWR6-NEXT: ori 5, 5, 21845
19902 ; PWR6-NEXT: rotldi 8, 4, 63
19903 ; PWR6-NEXT: rotldi 9, 3, 63
19904 ; PWR6-NEXT: rldimi 5, 5, 32, 0
19905 ; PWR6-NEXT: and 8, 8, 5
19906 ; PWR6-NEXT: and 5, 9, 5
19907 ; PWR6-NEXT: ori 6, 6, 13107
19908 ; PWR6-NEXT: sub 3, 3, 5
19909 ; PWR6-NEXT: rldimi 6, 6, 32, 0
19910 ; PWR6-NEXT: sub 4, 4, 8
19911 ; PWR6-NEXT: and 8, 3, 6
19912 ; PWR6-NEXT: rotldi 3, 3, 62
19913 ; PWR6-NEXT: and 3, 3, 6
19914 ; PWR6-NEXT: lis 7, 3855
19915 ; PWR6-NEXT: and 5, 4, 6
19916 ; PWR6-NEXT: rotldi 4, 4, 62
19917 ; PWR6-NEXT: add 3, 8, 3
19918 ; PWR6-NEXT: lis 9, 257
19919 ; PWR6-NEXT: ori 7, 7, 3855
19920 ; PWR6-NEXT: and 4, 4, 6
19921 ; PWR6-NEXT: rldicl 6, 3, 60, 4
19922 ; PWR6-NEXT: ori 9, 9, 257
19923 ; PWR6-NEXT: rldimi 7, 7, 32, 0
19924 ; PWR6-NEXT: add 4, 5, 4
19925 ; PWR6-NEXT: add 3, 3, 6
19926 ; PWR6-NEXT: rldimi 9, 9, 32, 0
19927 ; PWR6-NEXT: rldicl 5, 4, 60, 4
19928 ; PWR6-NEXT: and 3, 3, 7
19929 ; PWR6-NEXT: add 4, 4, 5
19930 ; PWR6-NEXT: mulld 3, 3, 9
19931 ; PWR6-NEXT: and 4, 4, 7
19932 ; PWR6-NEXT: rldicl 3, 3, 8, 56
19933 ; PWR6-NEXT: mulld 4, 4, 9
19934 ; PWR6-NEXT: li 5, 31
19935 ; PWR6-NEXT: subfic 3, 3, 31
19936 ; PWR6-NEXT: rldicl 4, 4, 8, 56
19937 ; PWR6-NEXT: subfe 3, 5, 5
19938 ; PWR6-NEXT: subfic 4, 4, 31
19939 ; PWR6-NEXT: subfe 4, 5, 5
19940 ; PWR6-NEXT: blr
19944 ; PWR7-NEXT: addi 3, 1, -32
19945 ; PWR7-NEXT: li 5, 0
19946 ; PWR7-NEXT: li 6, -1
19947 ; PWR7-NEXT: stxvd2x 34, 0, 3
19948 ; PWR7-NEXT: ld 3, -24(1)
19949 ; PWR7-NEXT: ld 4, -32(1)
19950 ; PWR7-NEXT: popcntd 3, 3
19951 ; PWR7-NEXT: popcntd 4, 4
19952 ; PWR7-NEXT: cmpldi 3, 31
19953 ; PWR7-NEXT: iselgt 3, 6, 5
19954 ; PWR7-NEXT: cmpldi 4, 31
19955 ; PWR7-NEXT: iselgt 4, 6, 5
19956 ; PWR7-NEXT: std 3, -8(1)
19957 ; PWR7-NEXT: addi 3, 1, -16
19958 ; PWR7-NEXT: std 4, -16(1)
19959 ; PWR7-NEXT: lxvd2x 34, 0, 3
19960 ; PWR7-NEXT: blr
19964 ; PWR8-NEXT: addis 3, 2, .LCPI160_0@toc@ha
19965 ; PWR8-NEXT: vpopcntd 2, 2
19966 ; PWR8-NEXT: addi 3, 3, .LCPI160_0@toc@l
19967 ; PWR8-NEXT: lxvd2x 35, 0, 3
19968 ; PWR8-NEXT: vcmpgtud 2, 2, 3
19969 ; PWR8-NEXT: blr
19973 ; PWR9-NEXT: addis 3, 2, .LCPI160_0@toc@ha
19974 ; PWR9-NEXT: vpopcntd 2, 2
19975 ; PWR9-NEXT: addi 3, 3, .LCPI160_0@toc@l
19976 ; PWR9-NEXT: lxvx 35, 0, 3
19977 ; PWR9-NEXT: vcmpgtud 2, 2, 3
19978 ; PWR9-NEXT: blr
19988 ; PWR5-NEXT: lis 5, 21845
19989 ; PWR5-NEXT: lis 6, 13107
19990 ; PWR5-NEXT: ori 5, 5, 21845
19991 ; PWR5-NEXT: rotldi 8, 4, 63
19992 ; PWR5-NEXT: rotldi 9, 3, 63
19993 ; PWR5-NEXT: rldimi 5, 5, 32, 0
19994 ; PWR5-NEXT: and 8, 8, 5
19995 ; PWR5-NEXT: and 5, 9, 5
19996 ; PWR5-NEXT: ori 6, 6, 13107
19997 ; PWR5-NEXT: sub 3, 3, 5
19998 ; PWR5-NEXT: rldimi 6, 6, 32, 0
19999 ; PWR5-NEXT: sub 4, 4, 8
20000 ; PWR5-NEXT: and 8, 3, 6
20001 ; PWR5-NEXT: rotldi 3, 3, 62
20002 ; PWR5-NEXT: and 3, 3, 6
20003 ; PWR5-NEXT: lis 7, 3855
20004 ; PWR5-NEXT: and 5, 4, 6
20005 ; PWR5-NEXT: rotldi 4, 4, 62
20006 ; PWR5-NEXT: add 3, 8, 3
20007 ; PWR5-NEXT: lis 9, 257
20008 ; PWR5-NEXT: ori 7, 7, 3855
20009 ; PWR5-NEXT: and 4, 4, 6
20010 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20011 ; PWR5-NEXT: ori 9, 9, 257
20012 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20013 ; PWR5-NEXT: add 4, 5, 4
20014 ; PWR5-NEXT: add 3, 3, 6
20015 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20016 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20017 ; PWR5-NEXT: and 3, 3, 7
20018 ; PWR5-NEXT: add 4, 4, 5
20019 ; PWR5-NEXT: mulld 3, 3, 9
20020 ; PWR5-NEXT: and 4, 4, 7
20021 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20022 ; PWR5-NEXT: li 5, 32
20023 ; PWR5-NEXT: mulld 4, 4, 9
20024 ; PWR5-NEXT: subc 6, 3, 5
20025 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20026 ; PWR5-NEXT: subfe 3, 3, 3
20027 ; PWR5-NEXT: subc 5, 4, 5
20028 ; PWR5-NEXT: subfe 4, 4, 4
20029 ; PWR5-NEXT: blr
20033 ; PWR6-NEXT: lis 5, 21845
20034 ; PWR6-NEXT: lis 6, 13107
20035 ; PWR6-NEXT: ori 5, 5, 21845
20036 ; PWR6-NEXT: rotldi 8, 4, 63
20037 ; PWR6-NEXT: rotldi 9, 3, 63
20038 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20039 ; PWR6-NEXT: and 8, 8, 5
20040 ; PWR6-NEXT: and 5, 9, 5
20041 ; PWR6-NEXT: ori 6, 6, 13107
20042 ; PWR6-NEXT: sub 3, 3, 5
20043 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20044 ; PWR6-NEXT: sub 4, 4, 8
20045 ; PWR6-NEXT: and 8, 3, 6
20046 ; PWR6-NEXT: rotldi 3, 3, 62
20047 ; PWR6-NEXT: and 3, 3, 6
20048 ; PWR6-NEXT: lis 7, 3855
20049 ; PWR6-NEXT: and 5, 4, 6
20050 ; PWR6-NEXT: rotldi 4, 4, 62
20051 ; PWR6-NEXT: add 3, 8, 3
20052 ; PWR6-NEXT: lis 9, 257
20053 ; PWR6-NEXT: ori 7, 7, 3855
20054 ; PWR6-NEXT: and 4, 4, 6
20055 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20056 ; PWR6-NEXT: ori 9, 9, 257
20057 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20058 ; PWR6-NEXT: add 4, 5, 4
20059 ; PWR6-NEXT: add 3, 3, 6
20060 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20061 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20062 ; PWR6-NEXT: and 3, 3, 7
20063 ; PWR6-NEXT: add 4, 4, 5
20064 ; PWR6-NEXT: mulld 3, 3, 9
20065 ; PWR6-NEXT: and 4, 4, 7
20066 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20067 ; PWR6-NEXT: li 5, 32
20068 ; PWR6-NEXT: mulld 4, 4, 9
20069 ; PWR6-NEXT: subc 6, 3, 5
20070 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20071 ; PWR6-NEXT: subfe 3, 3, 3
20072 ; PWR6-NEXT: subc 5, 4, 5
20073 ; PWR6-NEXT: subfe 4, 4, 4
20074 ; PWR6-NEXT: blr
20078 ; PWR7-NEXT: addi 3, 1, -32
20079 ; PWR7-NEXT: li 5, 0
20080 ; PWR7-NEXT: li 6, -1
20081 ; PWR7-NEXT: stxvd2x 34, 0, 3
20082 ; PWR7-NEXT: ld 3, -24(1)
20083 ; PWR7-NEXT: ld 4, -32(1)
20084 ; PWR7-NEXT: popcntd 3, 3
20085 ; PWR7-NEXT: popcntd 4, 4
20086 ; PWR7-NEXT: cmpldi 3, 32
20087 ; PWR7-NEXT: isellt 3, 6, 5
20088 ; PWR7-NEXT: cmpldi 4, 32
20089 ; PWR7-NEXT: isellt 4, 6, 5
20090 ; PWR7-NEXT: std 3, -8(1)
20091 ; PWR7-NEXT: addi 3, 1, -16
20092 ; PWR7-NEXT: std 4, -16(1)
20093 ; PWR7-NEXT: lxvd2x 34, 0, 3
20094 ; PWR7-NEXT: blr
20098 ; PWR8-NEXT: addis 3, 2, .LCPI161_0@toc@ha
20099 ; PWR8-NEXT: vpopcntd 2, 2
20100 ; PWR8-NEXT: addi 3, 3, .LCPI161_0@toc@l
20101 ; PWR8-NEXT: lxvd2x 35, 0, 3
20102 ; PWR8-NEXT: vcmpgtud 2, 3, 2
20103 ; PWR8-NEXT: blr
20107 ; PWR9-NEXT: addis 3, 2, .LCPI161_0@toc@ha
20108 ; PWR9-NEXT: vpopcntd 2, 2
20109 ; PWR9-NEXT: addi 3, 3, .LCPI161_0@toc@l
20110 ; PWR9-NEXT: lxvx 35, 0, 3
20111 ; PWR9-NEXT: vcmpgtud 2, 3, 2
20112 ; PWR9-NEXT: blr
20122 ; PWR5-NEXT: lis 5, 21845
20123 ; PWR5-NEXT: lis 6, 13107
20124 ; PWR5-NEXT: ori 5, 5, 21845
20125 ; PWR5-NEXT: rotldi 8, 4, 63
20126 ; PWR5-NEXT: rotldi 9, 3, 63
20127 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20128 ; PWR5-NEXT: and 8, 8, 5
20129 ; PWR5-NEXT: and 5, 9, 5
20130 ; PWR5-NEXT: ori 6, 6, 13107
20131 ; PWR5-NEXT: sub 3, 3, 5
20132 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20133 ; PWR5-NEXT: sub 4, 4, 8
20134 ; PWR5-NEXT: and 8, 3, 6
20135 ; PWR5-NEXT: rotldi 3, 3, 62
20136 ; PWR5-NEXT: and 3, 3, 6
20137 ; PWR5-NEXT: lis 7, 3855
20138 ; PWR5-NEXT: and 5, 4, 6
20139 ; PWR5-NEXT: rotldi 4, 4, 62
20140 ; PWR5-NEXT: add 3, 8, 3
20141 ; PWR5-NEXT: lis 9, 257
20142 ; PWR5-NEXT: ori 7, 7, 3855
20143 ; PWR5-NEXT: and 4, 4, 6
20144 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20145 ; PWR5-NEXT: ori 9, 9, 257
20146 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20147 ; PWR5-NEXT: add 4, 5, 4
20148 ; PWR5-NEXT: add 3, 3, 6
20149 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20150 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20151 ; PWR5-NEXT: and 3, 3, 7
20152 ; PWR5-NEXT: add 4, 4, 5
20153 ; PWR5-NEXT: mulld 3, 3, 9
20154 ; PWR5-NEXT: and 4, 4, 7
20155 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20156 ; PWR5-NEXT: mulld 4, 4, 9
20157 ; PWR5-NEXT: li 5, 32
20158 ; PWR5-NEXT: subfic 3, 3, 32
20159 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20160 ; PWR5-NEXT: subfe 3, 5, 5
20161 ; PWR5-NEXT: subfic 4, 4, 32
20162 ; PWR5-NEXT: subfe 4, 5, 5
20163 ; PWR5-NEXT: blr
20167 ; PWR6-NEXT: lis 5, 21845
20168 ; PWR6-NEXT: lis 6, 13107
20169 ; PWR6-NEXT: ori 5, 5, 21845
20170 ; PWR6-NEXT: rotldi 8, 4, 63
20171 ; PWR6-NEXT: rotldi 9, 3, 63
20172 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20173 ; PWR6-NEXT: and 8, 8, 5
20174 ; PWR6-NEXT: and 5, 9, 5
20175 ; PWR6-NEXT: ori 6, 6, 13107
20176 ; PWR6-NEXT: sub 3, 3, 5
20177 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20178 ; PWR6-NEXT: sub 4, 4, 8
20179 ; PWR6-NEXT: and 8, 3, 6
20180 ; PWR6-NEXT: rotldi 3, 3, 62
20181 ; PWR6-NEXT: and 3, 3, 6
20182 ; PWR6-NEXT: lis 7, 3855
20183 ; PWR6-NEXT: and 5, 4, 6
20184 ; PWR6-NEXT: rotldi 4, 4, 62
20185 ; PWR6-NEXT: add 3, 8, 3
20186 ; PWR6-NEXT: lis 9, 257
20187 ; PWR6-NEXT: ori 7, 7, 3855
20188 ; PWR6-NEXT: and 4, 4, 6
20189 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20190 ; PWR6-NEXT: ori 9, 9, 257
20191 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20192 ; PWR6-NEXT: add 4, 5, 4
20193 ; PWR6-NEXT: add 3, 3, 6
20194 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20195 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20196 ; PWR6-NEXT: and 3, 3, 7
20197 ; PWR6-NEXT: add 4, 4, 5
20198 ; PWR6-NEXT: mulld 3, 3, 9
20199 ; PWR6-NEXT: and 4, 4, 7
20200 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20201 ; PWR6-NEXT: mulld 4, 4, 9
20202 ; PWR6-NEXT: li 5, 32
20203 ; PWR6-NEXT: subfic 3, 3, 32
20204 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20205 ; PWR6-NEXT: subfe 3, 5, 5
20206 ; PWR6-NEXT: subfic 4, 4, 32
20207 ; PWR6-NEXT: subfe 4, 5, 5
20208 ; PWR6-NEXT: blr
20212 ; PWR7-NEXT: addi 3, 1, -32
20213 ; PWR7-NEXT: li 5, 0
20214 ; PWR7-NEXT: li 6, -1
20215 ; PWR7-NEXT: stxvd2x 34, 0, 3
20216 ; PWR7-NEXT: ld 3, -24(1)
20217 ; PWR7-NEXT: ld 4, -32(1)
20218 ; PWR7-NEXT: popcntd 3, 3
20219 ; PWR7-NEXT: popcntd 4, 4
20220 ; PWR7-NEXT: cmpldi 3, 32
20221 ; PWR7-NEXT: iselgt 3, 6, 5
20222 ; PWR7-NEXT: cmpldi 4, 32
20223 ; PWR7-NEXT: iselgt 4, 6, 5
20224 ; PWR7-NEXT: std 3, -8(1)
20225 ; PWR7-NEXT: addi 3, 1, -16
20226 ; PWR7-NEXT: std 4, -16(1)
20227 ; PWR7-NEXT: lxvd2x 34, 0, 3
20228 ; PWR7-NEXT: blr
20232 ; PWR8-NEXT: addis 3, 2, .LCPI162_0@toc@ha
20233 ; PWR8-NEXT: vpopcntd 2, 2
20234 ; PWR8-NEXT: addi 3, 3, .LCPI162_0@toc@l
20235 ; PWR8-NEXT: lxvd2x 35, 0, 3
20236 ; PWR8-NEXT: vcmpgtud 2, 2, 3
20237 ; PWR8-NEXT: blr
20241 ; PWR9-NEXT: addis 3, 2, .LCPI162_0@toc@ha
20242 ; PWR9-NEXT: vpopcntd 2, 2
20243 ; PWR9-NEXT: addi 3, 3, .LCPI162_0@toc@l
20244 ; PWR9-NEXT: lxvx 35, 0, 3
20245 ; PWR9-NEXT: vcmpgtud 2, 2, 3
20246 ; PWR9-NEXT: blr
20256 ; PWR5-NEXT: lis 5, 21845
20257 ; PWR5-NEXT: lis 6, 13107
20258 ; PWR5-NEXT: ori 5, 5, 21845
20259 ; PWR5-NEXT: rotldi 8, 4, 63
20260 ; PWR5-NEXT: rotldi 9, 3, 63
20261 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20262 ; PWR5-NEXT: and 8, 8, 5
20263 ; PWR5-NEXT: and 5, 9, 5
20264 ; PWR5-NEXT: ori 6, 6, 13107
20265 ; PWR5-NEXT: sub 3, 3, 5
20266 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20267 ; PWR5-NEXT: sub 4, 4, 8
20268 ; PWR5-NEXT: and 8, 3, 6
20269 ; PWR5-NEXT: rotldi 3, 3, 62
20270 ; PWR5-NEXT: and 3, 3, 6
20271 ; PWR5-NEXT: lis 7, 3855
20272 ; PWR5-NEXT: and 5, 4, 6
20273 ; PWR5-NEXT: rotldi 4, 4, 62
20274 ; PWR5-NEXT: add 3, 8, 3
20275 ; PWR5-NEXT: lis 9, 257
20276 ; PWR5-NEXT: ori 7, 7, 3855
20277 ; PWR5-NEXT: and 4, 4, 6
20278 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20279 ; PWR5-NEXT: ori 9, 9, 257
20280 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20281 ; PWR5-NEXT: add 4, 5, 4
20282 ; PWR5-NEXT: add 3, 3, 6
20283 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20284 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20285 ; PWR5-NEXT: and 3, 3, 7
20286 ; PWR5-NEXT: add 4, 4, 5
20287 ; PWR5-NEXT: mulld 3, 3, 9
20288 ; PWR5-NEXT: and 4, 4, 7
20289 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20290 ; PWR5-NEXT: li 5, 33
20291 ; PWR5-NEXT: mulld 4, 4, 9
20292 ; PWR5-NEXT: subc 6, 3, 5
20293 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20294 ; PWR5-NEXT: subfe 3, 3, 3
20295 ; PWR5-NEXT: subc 5, 4, 5
20296 ; PWR5-NEXT: subfe 4, 4, 4
20297 ; PWR5-NEXT: blr
20301 ; PWR6-NEXT: lis 5, 21845
20302 ; PWR6-NEXT: lis 6, 13107
20303 ; PWR6-NEXT: ori 5, 5, 21845
20304 ; PWR6-NEXT: rotldi 8, 4, 63
20305 ; PWR6-NEXT: rotldi 9, 3, 63
20306 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20307 ; PWR6-NEXT: and 8, 8, 5
20308 ; PWR6-NEXT: and 5, 9, 5
20309 ; PWR6-NEXT: ori 6, 6, 13107
20310 ; PWR6-NEXT: sub 3, 3, 5
20311 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20312 ; PWR6-NEXT: sub 4, 4, 8
20313 ; PWR6-NEXT: and 8, 3, 6
20314 ; PWR6-NEXT: rotldi 3, 3, 62
20315 ; PWR6-NEXT: and 3, 3, 6
20316 ; PWR6-NEXT: lis 7, 3855
20317 ; PWR6-NEXT: and 5, 4, 6
20318 ; PWR6-NEXT: rotldi 4, 4, 62
20319 ; PWR6-NEXT: add 3, 8, 3
20320 ; PWR6-NEXT: lis 9, 257
20321 ; PWR6-NEXT: ori 7, 7, 3855
20322 ; PWR6-NEXT: and 4, 4, 6
20323 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20324 ; PWR6-NEXT: ori 9, 9, 257
20325 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20326 ; PWR6-NEXT: add 4, 5, 4
20327 ; PWR6-NEXT: add 3, 3, 6
20328 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20329 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20330 ; PWR6-NEXT: and 3, 3, 7
20331 ; PWR6-NEXT: add 4, 4, 5
20332 ; PWR6-NEXT: mulld 3, 3, 9
20333 ; PWR6-NEXT: and 4, 4, 7
20334 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20335 ; PWR6-NEXT: li 5, 33
20336 ; PWR6-NEXT: mulld 4, 4, 9
20337 ; PWR6-NEXT: subc 6, 3, 5
20338 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20339 ; PWR6-NEXT: subfe 3, 3, 3
20340 ; PWR6-NEXT: subc 5, 4, 5
20341 ; PWR6-NEXT: subfe 4, 4, 4
20342 ; PWR6-NEXT: blr
20346 ; PWR7-NEXT: addi 3, 1, -32
20347 ; PWR7-NEXT: li 5, 0
20348 ; PWR7-NEXT: li 6, -1
20349 ; PWR7-NEXT: stxvd2x 34, 0, 3
20350 ; PWR7-NEXT: ld 3, -24(1)
20351 ; PWR7-NEXT: ld 4, -32(1)
20352 ; PWR7-NEXT: popcntd 3, 3
20353 ; PWR7-NEXT: popcntd 4, 4
20354 ; PWR7-NEXT: cmpldi 3, 33
20355 ; PWR7-NEXT: isellt 3, 6, 5
20356 ; PWR7-NEXT: cmpldi 4, 33
20357 ; PWR7-NEXT: isellt 4, 6, 5
20358 ; PWR7-NEXT: std 3, -8(1)
20359 ; PWR7-NEXT: addi 3, 1, -16
20360 ; PWR7-NEXT: std 4, -16(1)
20361 ; PWR7-NEXT: lxvd2x 34, 0, 3
20362 ; PWR7-NEXT: blr
20366 ; PWR8-NEXT: addis 3, 2, .LCPI163_0@toc@ha
20367 ; PWR8-NEXT: vpopcntd 2, 2
20368 ; PWR8-NEXT: addi 3, 3, .LCPI163_0@toc@l
20369 ; PWR8-NEXT: lxvd2x 35, 0, 3
20370 ; PWR8-NEXT: vcmpgtud 2, 3, 2
20371 ; PWR8-NEXT: blr
20375 ; PWR9-NEXT: addis 3, 2, .LCPI163_0@toc@ha
20376 ; PWR9-NEXT: vpopcntd 2, 2
20377 ; PWR9-NEXT: addi 3, 3, .LCPI163_0@toc@l
20378 ; PWR9-NEXT: lxvx 35, 0, 3
20379 ; PWR9-NEXT: vcmpgtud 2, 3, 2
20380 ; PWR9-NEXT: blr
20390 ; PWR5-NEXT: lis 5, 21845
20391 ; PWR5-NEXT: lis 6, 13107
20392 ; PWR5-NEXT: ori 5, 5, 21845
20393 ; PWR5-NEXT: rotldi 8, 4, 63
20394 ; PWR5-NEXT: rotldi 9, 3, 63
20395 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20396 ; PWR5-NEXT: and 8, 8, 5
20397 ; PWR5-NEXT: and 5, 9, 5
20398 ; PWR5-NEXT: ori 6, 6, 13107
20399 ; PWR5-NEXT: sub 3, 3, 5
20400 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20401 ; PWR5-NEXT: sub 4, 4, 8
20402 ; PWR5-NEXT: and 8, 3, 6
20403 ; PWR5-NEXT: rotldi 3, 3, 62
20404 ; PWR5-NEXT: and 3, 3, 6
20405 ; PWR5-NEXT: lis 7, 3855
20406 ; PWR5-NEXT: and 5, 4, 6
20407 ; PWR5-NEXT: rotldi 4, 4, 62
20408 ; PWR5-NEXT: add 3, 8, 3
20409 ; PWR5-NEXT: lis 9, 257
20410 ; PWR5-NEXT: ori 7, 7, 3855
20411 ; PWR5-NEXT: and 4, 4, 6
20412 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20413 ; PWR5-NEXT: ori 9, 9, 257
20414 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20415 ; PWR5-NEXT: add 4, 5, 4
20416 ; PWR5-NEXT: add 3, 3, 6
20417 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20418 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20419 ; PWR5-NEXT: and 3, 3, 7
20420 ; PWR5-NEXT: add 4, 4, 5
20421 ; PWR5-NEXT: mulld 3, 3, 9
20422 ; PWR5-NEXT: and 4, 4, 7
20423 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20424 ; PWR5-NEXT: mulld 4, 4, 9
20425 ; PWR5-NEXT: li 5, 33
20426 ; PWR5-NEXT: subfic 3, 3, 33
20427 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20428 ; PWR5-NEXT: subfe 3, 5, 5
20429 ; PWR5-NEXT: subfic 4, 4, 33
20430 ; PWR5-NEXT: subfe 4, 5, 5
20431 ; PWR5-NEXT: blr
20435 ; PWR6-NEXT: lis 5, 21845
20436 ; PWR6-NEXT: lis 6, 13107
20437 ; PWR6-NEXT: ori 5, 5, 21845
20438 ; PWR6-NEXT: rotldi 8, 4, 63
20439 ; PWR6-NEXT: rotldi 9, 3, 63
20440 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20441 ; PWR6-NEXT: and 8, 8, 5
20442 ; PWR6-NEXT: and 5, 9, 5
20443 ; PWR6-NEXT: ori 6, 6, 13107
20444 ; PWR6-NEXT: sub 3, 3, 5
20445 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20446 ; PWR6-NEXT: sub 4, 4, 8
20447 ; PWR6-NEXT: and 8, 3, 6
20448 ; PWR6-NEXT: rotldi 3, 3, 62
20449 ; PWR6-NEXT: and 3, 3, 6
20450 ; PWR6-NEXT: lis 7, 3855
20451 ; PWR6-NEXT: and 5, 4, 6
20452 ; PWR6-NEXT: rotldi 4, 4, 62
20453 ; PWR6-NEXT: add 3, 8, 3
20454 ; PWR6-NEXT: lis 9, 257
20455 ; PWR6-NEXT: ori 7, 7, 3855
20456 ; PWR6-NEXT: and 4, 4, 6
20457 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20458 ; PWR6-NEXT: ori 9, 9, 257
20459 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20460 ; PWR6-NEXT: add 4, 5, 4
20461 ; PWR6-NEXT: add 3, 3, 6
20462 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20463 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20464 ; PWR6-NEXT: and 3, 3, 7
20465 ; PWR6-NEXT: add 4, 4, 5
20466 ; PWR6-NEXT: mulld 3, 3, 9
20467 ; PWR6-NEXT: and 4, 4, 7
20468 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20469 ; PWR6-NEXT: mulld 4, 4, 9
20470 ; PWR6-NEXT: li 5, 33
20471 ; PWR6-NEXT: subfic 3, 3, 33
20472 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20473 ; PWR6-NEXT: subfe 3, 5, 5
20474 ; PWR6-NEXT: subfic 4, 4, 33
20475 ; PWR6-NEXT: subfe 4, 5, 5
20476 ; PWR6-NEXT: blr
20480 ; PWR7-NEXT: addi 3, 1, -32
20481 ; PWR7-NEXT: li 5, 0
20482 ; PWR7-NEXT: li 6, -1
20483 ; PWR7-NEXT: stxvd2x 34, 0, 3
20484 ; PWR7-NEXT: ld 3, -24(1)
20485 ; PWR7-NEXT: ld 4, -32(1)
20486 ; PWR7-NEXT: popcntd 3, 3
20487 ; PWR7-NEXT: popcntd 4, 4
20488 ; PWR7-NEXT: cmpldi 3, 33
20489 ; PWR7-NEXT: iselgt 3, 6, 5
20490 ; PWR7-NEXT: cmpldi 4, 33
20491 ; PWR7-NEXT: iselgt 4, 6, 5
20492 ; PWR7-NEXT: std 3, -8(1)
20493 ; PWR7-NEXT: addi 3, 1, -16
20494 ; PWR7-NEXT: std 4, -16(1)
20495 ; PWR7-NEXT: lxvd2x 34, 0, 3
20496 ; PWR7-NEXT: blr
20500 ; PWR8-NEXT: addis 3, 2, .LCPI164_0@toc@ha
20501 ; PWR8-NEXT: vpopcntd 2, 2
20502 ; PWR8-NEXT: addi 3, 3, .LCPI164_0@toc@l
20503 ; PWR8-NEXT: lxvd2x 35, 0, 3
20504 ; PWR8-NEXT: vcmpgtud 2, 2, 3
20505 ; PWR8-NEXT: blr
20509 ; PWR9-NEXT: addis 3, 2, .LCPI164_0@toc@ha
20510 ; PWR9-NEXT: vpopcntd 2, 2
20511 ; PWR9-NEXT: addi 3, 3, .LCPI164_0@toc@l
20512 ; PWR9-NEXT: lxvx 35, 0, 3
20513 ; PWR9-NEXT: vcmpgtud 2, 2, 3
20514 ; PWR9-NEXT: blr
20524 ; PWR5-NEXT: lis 5, 21845
20525 ; PWR5-NEXT: lis 6, 13107
20526 ; PWR5-NEXT: ori 5, 5, 21845
20527 ; PWR5-NEXT: rotldi 8, 4, 63
20528 ; PWR5-NEXT: rotldi 9, 3, 63
20529 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20530 ; PWR5-NEXT: and 8, 8, 5
20531 ; PWR5-NEXT: and 5, 9, 5
20532 ; PWR5-NEXT: ori 6, 6, 13107
20533 ; PWR5-NEXT: sub 3, 3, 5
20534 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20535 ; PWR5-NEXT: sub 4, 4, 8
20536 ; PWR5-NEXT: and 8, 3, 6
20537 ; PWR5-NEXT: rotldi 3, 3, 62
20538 ; PWR5-NEXT: and 3, 3, 6
20539 ; PWR5-NEXT: lis 7, 3855
20540 ; PWR5-NEXT: and 5, 4, 6
20541 ; PWR5-NEXT: rotldi 4, 4, 62
20542 ; PWR5-NEXT: add 3, 8, 3
20543 ; PWR5-NEXT: lis 9, 257
20544 ; PWR5-NEXT: ori 7, 7, 3855
20545 ; PWR5-NEXT: and 4, 4, 6
20546 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20547 ; PWR5-NEXT: ori 9, 9, 257
20548 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20549 ; PWR5-NEXT: add 4, 5, 4
20550 ; PWR5-NEXT: add 3, 3, 6
20551 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20552 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20553 ; PWR5-NEXT: and 3, 3, 7
20554 ; PWR5-NEXT: add 4, 4, 5
20555 ; PWR5-NEXT: mulld 3, 3, 9
20556 ; PWR5-NEXT: and 4, 4, 7
20557 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20558 ; PWR5-NEXT: li 5, 34
20559 ; PWR5-NEXT: mulld 4, 4, 9
20560 ; PWR5-NEXT: subc 6, 3, 5
20561 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20562 ; PWR5-NEXT: subfe 3, 3, 3
20563 ; PWR5-NEXT: subc 5, 4, 5
20564 ; PWR5-NEXT: subfe 4, 4, 4
20565 ; PWR5-NEXT: blr
20569 ; PWR6-NEXT: lis 5, 21845
20570 ; PWR6-NEXT: lis 6, 13107
20571 ; PWR6-NEXT: ori 5, 5, 21845
20572 ; PWR6-NEXT: rotldi 8, 4, 63
20573 ; PWR6-NEXT: rotldi 9, 3, 63
20574 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20575 ; PWR6-NEXT: and 8, 8, 5
20576 ; PWR6-NEXT: and 5, 9, 5
20577 ; PWR6-NEXT: ori 6, 6, 13107
20578 ; PWR6-NEXT: sub 3, 3, 5
20579 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20580 ; PWR6-NEXT: sub 4, 4, 8
20581 ; PWR6-NEXT: and 8, 3, 6
20582 ; PWR6-NEXT: rotldi 3, 3, 62
20583 ; PWR6-NEXT: and 3, 3, 6
20584 ; PWR6-NEXT: lis 7, 3855
20585 ; PWR6-NEXT: and 5, 4, 6
20586 ; PWR6-NEXT: rotldi 4, 4, 62
20587 ; PWR6-NEXT: add 3, 8, 3
20588 ; PWR6-NEXT: lis 9, 257
20589 ; PWR6-NEXT: ori 7, 7, 3855
20590 ; PWR6-NEXT: and 4, 4, 6
20591 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20592 ; PWR6-NEXT: ori 9, 9, 257
20593 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20594 ; PWR6-NEXT: add 4, 5, 4
20595 ; PWR6-NEXT: add 3, 3, 6
20596 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20597 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20598 ; PWR6-NEXT: and 3, 3, 7
20599 ; PWR6-NEXT: add 4, 4, 5
20600 ; PWR6-NEXT: mulld 3, 3, 9
20601 ; PWR6-NEXT: and 4, 4, 7
20602 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20603 ; PWR6-NEXT: li 5, 34
20604 ; PWR6-NEXT: mulld 4, 4, 9
20605 ; PWR6-NEXT: subc 6, 3, 5
20606 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20607 ; PWR6-NEXT: subfe 3, 3, 3
20608 ; PWR6-NEXT: subc 5, 4, 5
20609 ; PWR6-NEXT: subfe 4, 4, 4
20610 ; PWR6-NEXT: blr
20614 ; PWR7-NEXT: addi 3, 1, -32
20615 ; PWR7-NEXT: li 5, 0
20616 ; PWR7-NEXT: li 6, -1
20617 ; PWR7-NEXT: stxvd2x 34, 0, 3
20618 ; PWR7-NEXT: ld 3, -24(1)
20619 ; PWR7-NEXT: ld 4, -32(1)
20620 ; PWR7-NEXT: popcntd 3, 3
20621 ; PWR7-NEXT: popcntd 4, 4
20622 ; PWR7-NEXT: cmpldi 3, 34
20623 ; PWR7-NEXT: isellt 3, 6, 5
20624 ; PWR7-NEXT: cmpldi 4, 34
20625 ; PWR7-NEXT: isellt 4, 6, 5
20626 ; PWR7-NEXT: std 3, -8(1)
20627 ; PWR7-NEXT: addi 3, 1, -16
20628 ; PWR7-NEXT: std 4, -16(1)
20629 ; PWR7-NEXT: lxvd2x 34, 0, 3
20630 ; PWR7-NEXT: blr
20634 ; PWR8-NEXT: addis 3, 2, .LCPI165_0@toc@ha
20635 ; PWR8-NEXT: vpopcntd 2, 2
20636 ; PWR8-NEXT: addi 3, 3, .LCPI165_0@toc@l
20637 ; PWR8-NEXT: lxvd2x 35, 0, 3
20638 ; PWR8-NEXT: vcmpgtud 2, 3, 2
20639 ; PWR8-NEXT: blr
20643 ; PWR9-NEXT: addis 3, 2, .LCPI165_0@toc@ha
20644 ; PWR9-NEXT: vpopcntd 2, 2
20645 ; PWR9-NEXT: addi 3, 3, .LCPI165_0@toc@l
20646 ; PWR9-NEXT: lxvx 35, 0, 3
20647 ; PWR9-NEXT: vcmpgtud 2, 3, 2
20648 ; PWR9-NEXT: blr
20658 ; PWR5-NEXT: lis 5, 21845
20659 ; PWR5-NEXT: lis 6, 13107
20660 ; PWR5-NEXT: ori 5, 5, 21845
20661 ; PWR5-NEXT: rotldi 8, 4, 63
20662 ; PWR5-NEXT: rotldi 9, 3, 63
20663 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20664 ; PWR5-NEXT: and 8, 8, 5
20665 ; PWR5-NEXT: and 5, 9, 5
20666 ; PWR5-NEXT: ori 6, 6, 13107
20667 ; PWR5-NEXT: sub 3, 3, 5
20668 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20669 ; PWR5-NEXT: sub 4, 4, 8
20670 ; PWR5-NEXT: and 8, 3, 6
20671 ; PWR5-NEXT: rotldi 3, 3, 62
20672 ; PWR5-NEXT: and 3, 3, 6
20673 ; PWR5-NEXT: lis 7, 3855
20674 ; PWR5-NEXT: and 5, 4, 6
20675 ; PWR5-NEXT: rotldi 4, 4, 62
20676 ; PWR5-NEXT: add 3, 8, 3
20677 ; PWR5-NEXT: lis 9, 257
20678 ; PWR5-NEXT: ori 7, 7, 3855
20679 ; PWR5-NEXT: and 4, 4, 6
20680 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20681 ; PWR5-NEXT: ori 9, 9, 257
20682 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20683 ; PWR5-NEXT: add 4, 5, 4
20684 ; PWR5-NEXT: add 3, 3, 6
20685 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20686 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20687 ; PWR5-NEXT: and 3, 3, 7
20688 ; PWR5-NEXT: add 4, 4, 5
20689 ; PWR5-NEXT: mulld 3, 3, 9
20690 ; PWR5-NEXT: and 4, 4, 7
20691 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20692 ; PWR5-NEXT: mulld 4, 4, 9
20693 ; PWR5-NEXT: li 5, 34
20694 ; PWR5-NEXT: subfic 3, 3, 34
20695 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20696 ; PWR5-NEXT: subfe 3, 5, 5
20697 ; PWR5-NEXT: subfic 4, 4, 34
20698 ; PWR5-NEXT: subfe 4, 5, 5
20699 ; PWR5-NEXT: blr
20703 ; PWR6-NEXT: lis 5, 21845
20704 ; PWR6-NEXT: lis 6, 13107
20705 ; PWR6-NEXT: ori 5, 5, 21845
20706 ; PWR6-NEXT: rotldi 8, 4, 63
20707 ; PWR6-NEXT: rotldi 9, 3, 63
20708 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20709 ; PWR6-NEXT: and 8, 8, 5
20710 ; PWR6-NEXT: and 5, 9, 5
20711 ; PWR6-NEXT: ori 6, 6, 13107
20712 ; PWR6-NEXT: sub 3, 3, 5
20713 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20714 ; PWR6-NEXT: sub 4, 4, 8
20715 ; PWR6-NEXT: and 8, 3, 6
20716 ; PWR6-NEXT: rotldi 3, 3, 62
20717 ; PWR6-NEXT: and 3, 3, 6
20718 ; PWR6-NEXT: lis 7, 3855
20719 ; PWR6-NEXT: and 5, 4, 6
20720 ; PWR6-NEXT: rotldi 4, 4, 62
20721 ; PWR6-NEXT: add 3, 8, 3
20722 ; PWR6-NEXT: lis 9, 257
20723 ; PWR6-NEXT: ori 7, 7, 3855
20724 ; PWR6-NEXT: and 4, 4, 6
20725 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20726 ; PWR6-NEXT: ori 9, 9, 257
20727 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20728 ; PWR6-NEXT: add 4, 5, 4
20729 ; PWR6-NEXT: add 3, 3, 6
20730 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20731 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20732 ; PWR6-NEXT: and 3, 3, 7
20733 ; PWR6-NEXT: add 4, 4, 5
20734 ; PWR6-NEXT: mulld 3, 3, 9
20735 ; PWR6-NEXT: and 4, 4, 7
20736 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20737 ; PWR6-NEXT: mulld 4, 4, 9
20738 ; PWR6-NEXT: li 5, 34
20739 ; PWR6-NEXT: subfic 3, 3, 34
20740 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20741 ; PWR6-NEXT: subfe 3, 5, 5
20742 ; PWR6-NEXT: subfic 4, 4, 34
20743 ; PWR6-NEXT: subfe 4, 5, 5
20744 ; PWR6-NEXT: blr
20748 ; PWR7-NEXT: addi 3, 1, -32
20749 ; PWR7-NEXT: li 5, 0
20750 ; PWR7-NEXT: li 6, -1
20751 ; PWR7-NEXT: stxvd2x 34, 0, 3
20752 ; PWR7-NEXT: ld 3, -24(1)
20753 ; PWR7-NEXT: ld 4, -32(1)
20754 ; PWR7-NEXT: popcntd 3, 3
20755 ; PWR7-NEXT: popcntd 4, 4
20756 ; PWR7-NEXT: cmpldi 3, 34
20757 ; PWR7-NEXT: iselgt 3, 6, 5
20758 ; PWR7-NEXT: cmpldi 4, 34
20759 ; PWR7-NEXT: iselgt 4, 6, 5
20760 ; PWR7-NEXT: std 3, -8(1)
20761 ; PWR7-NEXT: addi 3, 1, -16
20762 ; PWR7-NEXT: std 4, -16(1)
20763 ; PWR7-NEXT: lxvd2x 34, 0, 3
20764 ; PWR7-NEXT: blr
20768 ; PWR8-NEXT: addis 3, 2, .LCPI166_0@toc@ha
20769 ; PWR8-NEXT: vpopcntd 2, 2
20770 ; PWR8-NEXT: addi 3, 3, .LCPI166_0@toc@l
20771 ; PWR8-NEXT: lxvd2x 35, 0, 3
20772 ; PWR8-NEXT: vcmpgtud 2, 2, 3
20773 ; PWR8-NEXT: blr
20777 ; PWR9-NEXT: addis 3, 2, .LCPI166_0@toc@ha
20778 ; PWR9-NEXT: vpopcntd 2, 2
20779 ; PWR9-NEXT: addi 3, 3, .LCPI166_0@toc@l
20780 ; PWR9-NEXT: lxvx 35, 0, 3
20781 ; PWR9-NEXT: vcmpgtud 2, 2, 3
20782 ; PWR9-NEXT: blr
20792 ; PWR5-NEXT: lis 5, 21845
20793 ; PWR5-NEXT: lis 6, 13107
20794 ; PWR5-NEXT: ori 5, 5, 21845
20795 ; PWR5-NEXT: rotldi 8, 4, 63
20796 ; PWR5-NEXT: rotldi 9, 3, 63
20797 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20798 ; PWR5-NEXT: and 8, 8, 5
20799 ; PWR5-NEXT: and 5, 9, 5
20800 ; PWR5-NEXT: ori 6, 6, 13107
20801 ; PWR5-NEXT: sub 3, 3, 5
20802 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20803 ; PWR5-NEXT: sub 4, 4, 8
20804 ; PWR5-NEXT: and 8, 3, 6
20805 ; PWR5-NEXT: rotldi 3, 3, 62
20806 ; PWR5-NEXT: and 3, 3, 6
20807 ; PWR5-NEXT: lis 7, 3855
20808 ; PWR5-NEXT: and 5, 4, 6
20809 ; PWR5-NEXT: rotldi 4, 4, 62
20810 ; PWR5-NEXT: add 3, 8, 3
20811 ; PWR5-NEXT: lis 9, 257
20812 ; PWR5-NEXT: ori 7, 7, 3855
20813 ; PWR5-NEXT: and 4, 4, 6
20814 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20815 ; PWR5-NEXT: ori 9, 9, 257
20816 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20817 ; PWR5-NEXT: add 4, 5, 4
20818 ; PWR5-NEXT: add 3, 3, 6
20819 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20820 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20821 ; PWR5-NEXT: and 3, 3, 7
20822 ; PWR5-NEXT: add 4, 4, 5
20823 ; PWR5-NEXT: mulld 3, 3, 9
20824 ; PWR5-NEXT: and 4, 4, 7
20825 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20826 ; PWR5-NEXT: li 5, 35
20827 ; PWR5-NEXT: mulld 4, 4, 9
20828 ; PWR5-NEXT: subc 6, 3, 5
20829 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20830 ; PWR5-NEXT: subfe 3, 3, 3
20831 ; PWR5-NEXT: subc 5, 4, 5
20832 ; PWR5-NEXT: subfe 4, 4, 4
20833 ; PWR5-NEXT: blr
20837 ; PWR6-NEXT: lis 5, 21845
20838 ; PWR6-NEXT: lis 6, 13107
20839 ; PWR6-NEXT: ori 5, 5, 21845
20840 ; PWR6-NEXT: rotldi 8, 4, 63
20841 ; PWR6-NEXT: rotldi 9, 3, 63
20842 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20843 ; PWR6-NEXT: and 8, 8, 5
20844 ; PWR6-NEXT: and 5, 9, 5
20845 ; PWR6-NEXT: ori 6, 6, 13107
20846 ; PWR6-NEXT: sub 3, 3, 5
20847 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20848 ; PWR6-NEXT: sub 4, 4, 8
20849 ; PWR6-NEXT: and 8, 3, 6
20850 ; PWR6-NEXT: rotldi 3, 3, 62
20851 ; PWR6-NEXT: and 3, 3, 6
20852 ; PWR6-NEXT: lis 7, 3855
20853 ; PWR6-NEXT: and 5, 4, 6
20854 ; PWR6-NEXT: rotldi 4, 4, 62
20855 ; PWR6-NEXT: add 3, 8, 3
20856 ; PWR6-NEXT: lis 9, 257
20857 ; PWR6-NEXT: ori 7, 7, 3855
20858 ; PWR6-NEXT: and 4, 4, 6
20859 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20860 ; PWR6-NEXT: ori 9, 9, 257
20861 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20862 ; PWR6-NEXT: add 4, 5, 4
20863 ; PWR6-NEXT: add 3, 3, 6
20864 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20865 ; PWR6-NEXT: rldicl 5, 4, 60, 4
20866 ; PWR6-NEXT: and 3, 3, 7
20867 ; PWR6-NEXT: add 4, 4, 5
20868 ; PWR6-NEXT: mulld 3, 3, 9
20869 ; PWR6-NEXT: and 4, 4, 7
20870 ; PWR6-NEXT: rldicl 3, 3, 8, 56
20871 ; PWR6-NEXT: li 5, 35
20872 ; PWR6-NEXT: mulld 4, 4, 9
20873 ; PWR6-NEXT: subc 6, 3, 5
20874 ; PWR6-NEXT: rldicl 4, 4, 8, 56
20875 ; PWR6-NEXT: subfe 3, 3, 3
20876 ; PWR6-NEXT: subc 5, 4, 5
20877 ; PWR6-NEXT: subfe 4, 4, 4
20878 ; PWR6-NEXT: blr
20882 ; PWR7-NEXT: addi 3, 1, -32
20883 ; PWR7-NEXT: li 5, 0
20884 ; PWR7-NEXT: li 6, -1
20885 ; PWR7-NEXT: stxvd2x 34, 0, 3
20886 ; PWR7-NEXT: ld 3, -24(1)
20887 ; PWR7-NEXT: ld 4, -32(1)
20888 ; PWR7-NEXT: popcntd 3, 3
20889 ; PWR7-NEXT: popcntd 4, 4
20890 ; PWR7-NEXT: cmpldi 3, 35
20891 ; PWR7-NEXT: isellt 3, 6, 5
20892 ; PWR7-NEXT: cmpldi 4, 35
20893 ; PWR7-NEXT: isellt 4, 6, 5
20894 ; PWR7-NEXT: std 3, -8(1)
20895 ; PWR7-NEXT: addi 3, 1, -16
20896 ; PWR7-NEXT: std 4, -16(1)
20897 ; PWR7-NEXT: lxvd2x 34, 0, 3
20898 ; PWR7-NEXT: blr
20902 ; PWR8-NEXT: addis 3, 2, .LCPI167_0@toc@ha
20903 ; PWR8-NEXT: vpopcntd 2, 2
20904 ; PWR8-NEXT: addi 3, 3, .LCPI167_0@toc@l
20905 ; PWR8-NEXT: lxvd2x 35, 0, 3
20906 ; PWR8-NEXT: vcmpgtud 2, 3, 2
20907 ; PWR8-NEXT: blr
20911 ; PWR9-NEXT: addis 3, 2, .LCPI167_0@toc@ha
20912 ; PWR9-NEXT: vpopcntd 2, 2
20913 ; PWR9-NEXT: addi 3, 3, .LCPI167_0@toc@l
20914 ; PWR9-NEXT: lxvx 35, 0, 3
20915 ; PWR9-NEXT: vcmpgtud 2, 3, 2
20916 ; PWR9-NEXT: blr
20926 ; PWR5-NEXT: lis 5, 21845
20927 ; PWR5-NEXT: lis 6, 13107
20928 ; PWR5-NEXT: ori 5, 5, 21845
20929 ; PWR5-NEXT: rotldi 8, 4, 63
20930 ; PWR5-NEXT: rotldi 9, 3, 63
20931 ; PWR5-NEXT: rldimi 5, 5, 32, 0
20932 ; PWR5-NEXT: and 8, 8, 5
20933 ; PWR5-NEXT: and 5, 9, 5
20934 ; PWR5-NEXT: ori 6, 6, 13107
20935 ; PWR5-NEXT: sub 3, 3, 5
20936 ; PWR5-NEXT: rldimi 6, 6, 32, 0
20937 ; PWR5-NEXT: sub 4, 4, 8
20938 ; PWR5-NEXT: and 8, 3, 6
20939 ; PWR5-NEXT: rotldi 3, 3, 62
20940 ; PWR5-NEXT: and 3, 3, 6
20941 ; PWR5-NEXT: lis 7, 3855
20942 ; PWR5-NEXT: and 5, 4, 6
20943 ; PWR5-NEXT: rotldi 4, 4, 62
20944 ; PWR5-NEXT: add 3, 8, 3
20945 ; PWR5-NEXT: lis 9, 257
20946 ; PWR5-NEXT: ori 7, 7, 3855
20947 ; PWR5-NEXT: and 4, 4, 6
20948 ; PWR5-NEXT: rldicl 6, 3, 60, 4
20949 ; PWR5-NEXT: ori 9, 9, 257
20950 ; PWR5-NEXT: rldimi 7, 7, 32, 0
20951 ; PWR5-NEXT: add 4, 5, 4
20952 ; PWR5-NEXT: add 3, 3, 6
20953 ; PWR5-NEXT: rldimi 9, 9, 32, 0
20954 ; PWR5-NEXT: rldicl 5, 4, 60, 4
20955 ; PWR5-NEXT: and 3, 3, 7
20956 ; PWR5-NEXT: add 4, 4, 5
20957 ; PWR5-NEXT: mulld 3, 3, 9
20958 ; PWR5-NEXT: and 4, 4, 7
20959 ; PWR5-NEXT: rldicl 3, 3, 8, 56
20960 ; PWR5-NEXT: mulld 4, 4, 9
20961 ; PWR5-NEXT: li 5, 35
20962 ; PWR5-NEXT: subfic 3, 3, 35
20963 ; PWR5-NEXT: rldicl 4, 4, 8, 56
20964 ; PWR5-NEXT: subfe 3, 5, 5
20965 ; PWR5-NEXT: subfic 4, 4, 35
20966 ; PWR5-NEXT: subfe 4, 5, 5
20967 ; PWR5-NEXT: blr
20971 ; PWR6-NEXT: lis 5, 21845
20972 ; PWR6-NEXT: lis 6, 13107
20973 ; PWR6-NEXT: ori 5, 5, 21845
20974 ; PWR6-NEXT: rotldi 8, 4, 63
20975 ; PWR6-NEXT: rotldi 9, 3, 63
20976 ; PWR6-NEXT: rldimi 5, 5, 32, 0
20977 ; PWR6-NEXT: and 8, 8, 5
20978 ; PWR6-NEXT: and 5, 9, 5
20979 ; PWR6-NEXT: ori 6, 6, 13107
20980 ; PWR6-NEXT: sub 3, 3, 5
20981 ; PWR6-NEXT: rldimi 6, 6, 32, 0
20982 ; PWR6-NEXT: sub 4, 4, 8
20983 ; PWR6-NEXT: and 8, 3, 6
20984 ; PWR6-NEXT: rotldi 3, 3, 62
20985 ; PWR6-NEXT: and 3, 3, 6
20986 ; PWR6-NEXT: lis 7, 3855
20987 ; PWR6-NEXT: and 5, 4, 6
20988 ; PWR6-NEXT: rotldi 4, 4, 62
20989 ; PWR6-NEXT: add 3, 8, 3
20990 ; PWR6-NEXT: lis 9, 257
20991 ; PWR6-NEXT: ori 7, 7, 3855
20992 ; PWR6-NEXT: and 4, 4, 6
20993 ; PWR6-NEXT: rldicl 6, 3, 60, 4
20994 ; PWR6-NEXT: ori 9, 9, 257
20995 ; PWR6-NEXT: rldimi 7, 7, 32, 0
20996 ; PWR6-NEXT: add 4, 5, 4
20997 ; PWR6-NEXT: add 3, 3, 6
20998 ; PWR6-NEXT: rldimi 9, 9, 32, 0
20999 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21000 ; PWR6-NEXT: and 3, 3, 7
21001 ; PWR6-NEXT: add 4, 4, 5
21002 ; PWR6-NEXT: mulld 3, 3, 9
21003 ; PWR6-NEXT: and 4, 4, 7
21004 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21005 ; PWR6-NEXT: mulld 4, 4, 9
21006 ; PWR6-NEXT: li 5, 35
21007 ; PWR6-NEXT: subfic 3, 3, 35
21008 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21009 ; PWR6-NEXT: subfe 3, 5, 5
21010 ; PWR6-NEXT: subfic 4, 4, 35
21011 ; PWR6-NEXT: subfe 4, 5, 5
21012 ; PWR6-NEXT: blr
21016 ; PWR7-NEXT: addi 3, 1, -32
21017 ; PWR7-NEXT: li 5, 0
21018 ; PWR7-NEXT: li 6, -1
21019 ; PWR7-NEXT: stxvd2x 34, 0, 3
21020 ; PWR7-NEXT: ld 3, -24(1)
21021 ; PWR7-NEXT: ld 4, -32(1)
21022 ; PWR7-NEXT: popcntd 3, 3
21023 ; PWR7-NEXT: popcntd 4, 4
21024 ; PWR7-NEXT: cmpldi 3, 35
21025 ; PWR7-NEXT: iselgt 3, 6, 5
21026 ; PWR7-NEXT: cmpldi 4, 35
21027 ; PWR7-NEXT: iselgt 4, 6, 5
21028 ; PWR7-NEXT: std 3, -8(1)
21029 ; PWR7-NEXT: addi 3, 1, -16
21030 ; PWR7-NEXT: std 4, -16(1)
21031 ; PWR7-NEXT: lxvd2x 34, 0, 3
21032 ; PWR7-NEXT: blr
21036 ; PWR8-NEXT: addis 3, 2, .LCPI168_0@toc@ha
21037 ; PWR8-NEXT: vpopcntd 2, 2
21038 ; PWR8-NEXT: addi 3, 3, .LCPI168_0@toc@l
21039 ; PWR8-NEXT: lxvd2x 35, 0, 3
21040 ; PWR8-NEXT: vcmpgtud 2, 2, 3
21041 ; PWR8-NEXT: blr
21045 ; PWR9-NEXT: addis 3, 2, .LCPI168_0@toc@ha
21046 ; PWR9-NEXT: vpopcntd 2, 2
21047 ; PWR9-NEXT: addi 3, 3, .LCPI168_0@toc@l
21048 ; PWR9-NEXT: lxvx 35, 0, 3
21049 ; PWR9-NEXT: vcmpgtud 2, 2, 3
21050 ; PWR9-NEXT: blr
21060 ; PWR5-NEXT: lis 5, 21845
21061 ; PWR5-NEXT: lis 6, 13107
21062 ; PWR5-NEXT: ori 5, 5, 21845
21063 ; PWR5-NEXT: rotldi 8, 4, 63
21064 ; PWR5-NEXT: rotldi 9, 3, 63
21065 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21066 ; PWR5-NEXT: and 8, 8, 5
21067 ; PWR5-NEXT: and 5, 9, 5
21068 ; PWR5-NEXT: ori 6, 6, 13107
21069 ; PWR5-NEXT: sub 3, 3, 5
21070 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21071 ; PWR5-NEXT: sub 4, 4, 8
21072 ; PWR5-NEXT: and 8, 3, 6
21073 ; PWR5-NEXT: rotldi 3, 3, 62
21074 ; PWR5-NEXT: and 3, 3, 6
21075 ; PWR5-NEXT: lis 7, 3855
21076 ; PWR5-NEXT: and 5, 4, 6
21077 ; PWR5-NEXT: rotldi 4, 4, 62
21078 ; PWR5-NEXT: add 3, 8, 3
21079 ; PWR5-NEXT: lis 9, 257
21080 ; PWR5-NEXT: ori 7, 7, 3855
21081 ; PWR5-NEXT: and 4, 4, 6
21082 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21083 ; PWR5-NEXT: ori 9, 9, 257
21084 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21085 ; PWR5-NEXT: add 4, 5, 4
21086 ; PWR5-NEXT: add 3, 3, 6
21087 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21088 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21089 ; PWR5-NEXT: and 3, 3, 7
21090 ; PWR5-NEXT: add 4, 4, 5
21091 ; PWR5-NEXT: mulld 3, 3, 9
21092 ; PWR5-NEXT: and 4, 4, 7
21093 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21094 ; PWR5-NEXT: li 5, 36
21095 ; PWR5-NEXT: mulld 4, 4, 9
21096 ; PWR5-NEXT: subc 6, 3, 5
21097 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21098 ; PWR5-NEXT: subfe 3, 3, 3
21099 ; PWR5-NEXT: subc 5, 4, 5
21100 ; PWR5-NEXT: subfe 4, 4, 4
21101 ; PWR5-NEXT: blr
21105 ; PWR6-NEXT: lis 5, 21845
21106 ; PWR6-NEXT: lis 6, 13107
21107 ; PWR6-NEXT: ori 5, 5, 21845
21108 ; PWR6-NEXT: rotldi 8, 4, 63
21109 ; PWR6-NEXT: rotldi 9, 3, 63
21110 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21111 ; PWR6-NEXT: and 8, 8, 5
21112 ; PWR6-NEXT: and 5, 9, 5
21113 ; PWR6-NEXT: ori 6, 6, 13107
21114 ; PWR6-NEXT: sub 3, 3, 5
21115 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21116 ; PWR6-NEXT: sub 4, 4, 8
21117 ; PWR6-NEXT: and 8, 3, 6
21118 ; PWR6-NEXT: rotldi 3, 3, 62
21119 ; PWR6-NEXT: and 3, 3, 6
21120 ; PWR6-NEXT: lis 7, 3855
21121 ; PWR6-NEXT: and 5, 4, 6
21122 ; PWR6-NEXT: rotldi 4, 4, 62
21123 ; PWR6-NEXT: add 3, 8, 3
21124 ; PWR6-NEXT: lis 9, 257
21125 ; PWR6-NEXT: ori 7, 7, 3855
21126 ; PWR6-NEXT: and 4, 4, 6
21127 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21128 ; PWR6-NEXT: ori 9, 9, 257
21129 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21130 ; PWR6-NEXT: add 4, 5, 4
21131 ; PWR6-NEXT: add 3, 3, 6
21132 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21133 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21134 ; PWR6-NEXT: and 3, 3, 7
21135 ; PWR6-NEXT: add 4, 4, 5
21136 ; PWR6-NEXT: mulld 3, 3, 9
21137 ; PWR6-NEXT: and 4, 4, 7
21138 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21139 ; PWR6-NEXT: li 5, 36
21140 ; PWR6-NEXT: mulld 4, 4, 9
21141 ; PWR6-NEXT: subc 6, 3, 5
21142 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21143 ; PWR6-NEXT: subfe 3, 3, 3
21144 ; PWR6-NEXT: subc 5, 4, 5
21145 ; PWR6-NEXT: subfe 4, 4, 4
21146 ; PWR6-NEXT: blr
21150 ; PWR7-NEXT: addi 3, 1, -32
21151 ; PWR7-NEXT: li 5, 0
21152 ; PWR7-NEXT: li 6, -1
21153 ; PWR7-NEXT: stxvd2x 34, 0, 3
21154 ; PWR7-NEXT: ld 3, -24(1)
21155 ; PWR7-NEXT: ld 4, -32(1)
21156 ; PWR7-NEXT: popcntd 3, 3
21157 ; PWR7-NEXT: popcntd 4, 4
21158 ; PWR7-NEXT: cmpldi 3, 36
21159 ; PWR7-NEXT: isellt 3, 6, 5
21160 ; PWR7-NEXT: cmpldi 4, 36
21161 ; PWR7-NEXT: isellt 4, 6, 5
21162 ; PWR7-NEXT: std 3, -8(1)
21163 ; PWR7-NEXT: addi 3, 1, -16
21164 ; PWR7-NEXT: std 4, -16(1)
21165 ; PWR7-NEXT: lxvd2x 34, 0, 3
21166 ; PWR7-NEXT: blr
21170 ; PWR8-NEXT: addis 3, 2, .LCPI169_0@toc@ha
21171 ; PWR8-NEXT: vpopcntd 2, 2
21172 ; PWR8-NEXT: addi 3, 3, .LCPI169_0@toc@l
21173 ; PWR8-NEXT: lxvd2x 35, 0, 3
21174 ; PWR8-NEXT: vcmpgtud 2, 3, 2
21175 ; PWR8-NEXT: blr
21179 ; PWR9-NEXT: addis 3, 2, .LCPI169_0@toc@ha
21180 ; PWR9-NEXT: vpopcntd 2, 2
21181 ; PWR9-NEXT: addi 3, 3, .LCPI169_0@toc@l
21182 ; PWR9-NEXT: lxvx 35, 0, 3
21183 ; PWR9-NEXT: vcmpgtud 2, 3, 2
21184 ; PWR9-NEXT: blr
21194 ; PWR5-NEXT: lis 5, 21845
21195 ; PWR5-NEXT: lis 6, 13107
21196 ; PWR5-NEXT: ori 5, 5, 21845
21197 ; PWR5-NEXT: rotldi 8, 4, 63
21198 ; PWR5-NEXT: rotldi 9, 3, 63
21199 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21200 ; PWR5-NEXT: and 8, 8, 5
21201 ; PWR5-NEXT: and 5, 9, 5
21202 ; PWR5-NEXT: ori 6, 6, 13107
21203 ; PWR5-NEXT: sub 3, 3, 5
21204 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21205 ; PWR5-NEXT: sub 4, 4, 8
21206 ; PWR5-NEXT: and 8, 3, 6
21207 ; PWR5-NEXT: rotldi 3, 3, 62
21208 ; PWR5-NEXT: and 3, 3, 6
21209 ; PWR5-NEXT: lis 7, 3855
21210 ; PWR5-NEXT: and 5, 4, 6
21211 ; PWR5-NEXT: rotldi 4, 4, 62
21212 ; PWR5-NEXT: add 3, 8, 3
21213 ; PWR5-NEXT: lis 9, 257
21214 ; PWR5-NEXT: ori 7, 7, 3855
21215 ; PWR5-NEXT: and 4, 4, 6
21216 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21217 ; PWR5-NEXT: ori 9, 9, 257
21218 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21219 ; PWR5-NEXT: add 4, 5, 4
21220 ; PWR5-NEXT: add 3, 3, 6
21221 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21222 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21223 ; PWR5-NEXT: and 3, 3, 7
21224 ; PWR5-NEXT: add 4, 4, 5
21225 ; PWR5-NEXT: mulld 3, 3, 9
21226 ; PWR5-NEXT: and 4, 4, 7
21227 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21228 ; PWR5-NEXT: mulld 4, 4, 9
21229 ; PWR5-NEXT: li 5, 36
21230 ; PWR5-NEXT: subfic 3, 3, 36
21231 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21232 ; PWR5-NEXT: subfe 3, 5, 5
21233 ; PWR5-NEXT: subfic 4, 4, 36
21234 ; PWR5-NEXT: subfe 4, 5, 5
21235 ; PWR5-NEXT: blr
21239 ; PWR6-NEXT: lis 5, 21845
21240 ; PWR6-NEXT: lis 6, 13107
21241 ; PWR6-NEXT: ori 5, 5, 21845
21242 ; PWR6-NEXT: rotldi 8, 4, 63
21243 ; PWR6-NEXT: rotldi 9, 3, 63
21244 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21245 ; PWR6-NEXT: and 8, 8, 5
21246 ; PWR6-NEXT: and 5, 9, 5
21247 ; PWR6-NEXT: ori 6, 6, 13107
21248 ; PWR6-NEXT: sub 3, 3, 5
21249 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21250 ; PWR6-NEXT: sub 4, 4, 8
21251 ; PWR6-NEXT: and 8, 3, 6
21252 ; PWR6-NEXT: rotldi 3, 3, 62
21253 ; PWR6-NEXT: and 3, 3, 6
21254 ; PWR6-NEXT: lis 7, 3855
21255 ; PWR6-NEXT: and 5, 4, 6
21256 ; PWR6-NEXT: rotldi 4, 4, 62
21257 ; PWR6-NEXT: add 3, 8, 3
21258 ; PWR6-NEXT: lis 9, 257
21259 ; PWR6-NEXT: ori 7, 7, 3855
21260 ; PWR6-NEXT: and 4, 4, 6
21261 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21262 ; PWR6-NEXT: ori 9, 9, 257
21263 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21264 ; PWR6-NEXT: add 4, 5, 4
21265 ; PWR6-NEXT: add 3, 3, 6
21266 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21267 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21268 ; PWR6-NEXT: and 3, 3, 7
21269 ; PWR6-NEXT: add 4, 4, 5
21270 ; PWR6-NEXT: mulld 3, 3, 9
21271 ; PWR6-NEXT: and 4, 4, 7
21272 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21273 ; PWR6-NEXT: mulld 4, 4, 9
21274 ; PWR6-NEXT: li 5, 36
21275 ; PWR6-NEXT: subfic 3, 3, 36
21276 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21277 ; PWR6-NEXT: subfe 3, 5, 5
21278 ; PWR6-NEXT: subfic 4, 4, 36
21279 ; PWR6-NEXT: subfe 4, 5, 5
21280 ; PWR6-NEXT: blr
21284 ; PWR7-NEXT: addi 3, 1, -32
21285 ; PWR7-NEXT: li 5, 0
21286 ; PWR7-NEXT: li 6, -1
21287 ; PWR7-NEXT: stxvd2x 34, 0, 3
21288 ; PWR7-NEXT: ld 3, -24(1)
21289 ; PWR7-NEXT: ld 4, -32(1)
21290 ; PWR7-NEXT: popcntd 3, 3
21291 ; PWR7-NEXT: popcntd 4, 4
21292 ; PWR7-NEXT: cmpldi 3, 36
21293 ; PWR7-NEXT: iselgt 3, 6, 5
21294 ; PWR7-NEXT: cmpldi 4, 36
21295 ; PWR7-NEXT: iselgt 4, 6, 5
21296 ; PWR7-NEXT: std 3, -8(1)
21297 ; PWR7-NEXT: addi 3, 1, -16
21298 ; PWR7-NEXT: std 4, -16(1)
21299 ; PWR7-NEXT: lxvd2x 34, 0, 3
21300 ; PWR7-NEXT: blr
21304 ; PWR8-NEXT: addis 3, 2, .LCPI170_0@toc@ha
21305 ; PWR8-NEXT: vpopcntd 2, 2
21306 ; PWR8-NEXT: addi 3, 3, .LCPI170_0@toc@l
21307 ; PWR8-NEXT: lxvd2x 35, 0, 3
21308 ; PWR8-NEXT: vcmpgtud 2, 2, 3
21309 ; PWR8-NEXT: blr
21313 ; PWR9-NEXT: addis 3, 2, .LCPI170_0@toc@ha
21314 ; PWR9-NEXT: vpopcntd 2, 2
21315 ; PWR9-NEXT: addi 3, 3, .LCPI170_0@toc@l
21316 ; PWR9-NEXT: lxvx 35, 0, 3
21317 ; PWR9-NEXT: vcmpgtud 2, 2, 3
21318 ; PWR9-NEXT: blr
21328 ; PWR5-NEXT: lis 5, 21845
21329 ; PWR5-NEXT: lis 6, 13107
21330 ; PWR5-NEXT: ori 5, 5, 21845
21331 ; PWR5-NEXT: rotldi 8, 4, 63
21332 ; PWR5-NEXT: rotldi 9, 3, 63
21333 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21334 ; PWR5-NEXT: and 8, 8, 5
21335 ; PWR5-NEXT: and 5, 9, 5
21336 ; PWR5-NEXT: ori 6, 6, 13107
21337 ; PWR5-NEXT: sub 3, 3, 5
21338 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21339 ; PWR5-NEXT: sub 4, 4, 8
21340 ; PWR5-NEXT: and 8, 3, 6
21341 ; PWR5-NEXT: rotldi 3, 3, 62
21342 ; PWR5-NEXT: and 3, 3, 6
21343 ; PWR5-NEXT: lis 7, 3855
21344 ; PWR5-NEXT: and 5, 4, 6
21345 ; PWR5-NEXT: rotldi 4, 4, 62
21346 ; PWR5-NEXT: add 3, 8, 3
21347 ; PWR5-NEXT: lis 9, 257
21348 ; PWR5-NEXT: ori 7, 7, 3855
21349 ; PWR5-NEXT: and 4, 4, 6
21350 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21351 ; PWR5-NEXT: ori 9, 9, 257
21352 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21353 ; PWR5-NEXT: add 4, 5, 4
21354 ; PWR5-NEXT: add 3, 3, 6
21355 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21356 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21357 ; PWR5-NEXT: and 3, 3, 7
21358 ; PWR5-NEXT: add 4, 4, 5
21359 ; PWR5-NEXT: mulld 3, 3, 9
21360 ; PWR5-NEXT: and 4, 4, 7
21361 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21362 ; PWR5-NEXT: li 5, 37
21363 ; PWR5-NEXT: mulld 4, 4, 9
21364 ; PWR5-NEXT: subc 6, 3, 5
21365 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21366 ; PWR5-NEXT: subfe 3, 3, 3
21367 ; PWR5-NEXT: subc 5, 4, 5
21368 ; PWR5-NEXT: subfe 4, 4, 4
21369 ; PWR5-NEXT: blr
21373 ; PWR6-NEXT: lis 5, 21845
21374 ; PWR6-NEXT: lis 6, 13107
21375 ; PWR6-NEXT: ori 5, 5, 21845
21376 ; PWR6-NEXT: rotldi 8, 4, 63
21377 ; PWR6-NEXT: rotldi 9, 3, 63
21378 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21379 ; PWR6-NEXT: and 8, 8, 5
21380 ; PWR6-NEXT: and 5, 9, 5
21381 ; PWR6-NEXT: ori 6, 6, 13107
21382 ; PWR6-NEXT: sub 3, 3, 5
21383 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21384 ; PWR6-NEXT: sub 4, 4, 8
21385 ; PWR6-NEXT: and 8, 3, 6
21386 ; PWR6-NEXT: rotldi 3, 3, 62
21387 ; PWR6-NEXT: and 3, 3, 6
21388 ; PWR6-NEXT: lis 7, 3855
21389 ; PWR6-NEXT: and 5, 4, 6
21390 ; PWR6-NEXT: rotldi 4, 4, 62
21391 ; PWR6-NEXT: add 3, 8, 3
21392 ; PWR6-NEXT: lis 9, 257
21393 ; PWR6-NEXT: ori 7, 7, 3855
21394 ; PWR6-NEXT: and 4, 4, 6
21395 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21396 ; PWR6-NEXT: ori 9, 9, 257
21397 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21398 ; PWR6-NEXT: add 4, 5, 4
21399 ; PWR6-NEXT: add 3, 3, 6
21400 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21401 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21402 ; PWR6-NEXT: and 3, 3, 7
21403 ; PWR6-NEXT: add 4, 4, 5
21404 ; PWR6-NEXT: mulld 3, 3, 9
21405 ; PWR6-NEXT: and 4, 4, 7
21406 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21407 ; PWR6-NEXT: li 5, 37
21408 ; PWR6-NEXT: mulld 4, 4, 9
21409 ; PWR6-NEXT: subc 6, 3, 5
21410 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21411 ; PWR6-NEXT: subfe 3, 3, 3
21412 ; PWR6-NEXT: subc 5, 4, 5
21413 ; PWR6-NEXT: subfe 4, 4, 4
21414 ; PWR6-NEXT: blr
21418 ; PWR7-NEXT: addi 3, 1, -32
21419 ; PWR7-NEXT: li 5, 0
21420 ; PWR7-NEXT: li 6, -1
21421 ; PWR7-NEXT: stxvd2x 34, 0, 3
21422 ; PWR7-NEXT: ld 3, -24(1)
21423 ; PWR7-NEXT: ld 4, -32(1)
21424 ; PWR7-NEXT: popcntd 3, 3
21425 ; PWR7-NEXT: popcntd 4, 4
21426 ; PWR7-NEXT: cmpldi 3, 37
21427 ; PWR7-NEXT: isellt 3, 6, 5
21428 ; PWR7-NEXT: cmpldi 4, 37
21429 ; PWR7-NEXT: isellt 4, 6, 5
21430 ; PWR7-NEXT: std 3, -8(1)
21431 ; PWR7-NEXT: addi 3, 1, -16
21432 ; PWR7-NEXT: std 4, -16(1)
21433 ; PWR7-NEXT: lxvd2x 34, 0, 3
21434 ; PWR7-NEXT: blr
21438 ; PWR8-NEXT: addis 3, 2, .LCPI171_0@toc@ha
21439 ; PWR8-NEXT: vpopcntd 2, 2
21440 ; PWR8-NEXT: addi 3, 3, .LCPI171_0@toc@l
21441 ; PWR8-NEXT: lxvd2x 35, 0, 3
21442 ; PWR8-NEXT: vcmpgtud 2, 3, 2
21443 ; PWR8-NEXT: blr
21447 ; PWR9-NEXT: addis 3, 2, .LCPI171_0@toc@ha
21448 ; PWR9-NEXT: vpopcntd 2, 2
21449 ; PWR9-NEXT: addi 3, 3, .LCPI171_0@toc@l
21450 ; PWR9-NEXT: lxvx 35, 0, 3
21451 ; PWR9-NEXT: vcmpgtud 2, 3, 2
21452 ; PWR9-NEXT: blr
21462 ; PWR5-NEXT: lis 5, 21845
21463 ; PWR5-NEXT: lis 6, 13107
21464 ; PWR5-NEXT: ori 5, 5, 21845
21465 ; PWR5-NEXT: rotldi 8, 4, 63
21466 ; PWR5-NEXT: rotldi 9, 3, 63
21467 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21468 ; PWR5-NEXT: and 8, 8, 5
21469 ; PWR5-NEXT: and 5, 9, 5
21470 ; PWR5-NEXT: ori 6, 6, 13107
21471 ; PWR5-NEXT: sub 3, 3, 5
21472 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21473 ; PWR5-NEXT: sub 4, 4, 8
21474 ; PWR5-NEXT: and 8, 3, 6
21475 ; PWR5-NEXT: rotldi 3, 3, 62
21476 ; PWR5-NEXT: and 3, 3, 6
21477 ; PWR5-NEXT: lis 7, 3855
21478 ; PWR5-NEXT: and 5, 4, 6
21479 ; PWR5-NEXT: rotldi 4, 4, 62
21480 ; PWR5-NEXT: add 3, 8, 3
21481 ; PWR5-NEXT: lis 9, 257
21482 ; PWR5-NEXT: ori 7, 7, 3855
21483 ; PWR5-NEXT: and 4, 4, 6
21484 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21485 ; PWR5-NEXT: ori 9, 9, 257
21486 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21487 ; PWR5-NEXT: add 4, 5, 4
21488 ; PWR5-NEXT: add 3, 3, 6
21489 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21490 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21491 ; PWR5-NEXT: and 3, 3, 7
21492 ; PWR5-NEXT: add 4, 4, 5
21493 ; PWR5-NEXT: mulld 3, 3, 9
21494 ; PWR5-NEXT: and 4, 4, 7
21495 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21496 ; PWR5-NEXT: mulld 4, 4, 9
21497 ; PWR5-NEXT: li 5, 37
21498 ; PWR5-NEXT: subfic 3, 3, 37
21499 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21500 ; PWR5-NEXT: subfe 3, 5, 5
21501 ; PWR5-NEXT: subfic 4, 4, 37
21502 ; PWR5-NEXT: subfe 4, 5, 5
21503 ; PWR5-NEXT: blr
21507 ; PWR6-NEXT: lis 5, 21845
21508 ; PWR6-NEXT: lis 6, 13107
21509 ; PWR6-NEXT: ori 5, 5, 21845
21510 ; PWR6-NEXT: rotldi 8, 4, 63
21511 ; PWR6-NEXT: rotldi 9, 3, 63
21512 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21513 ; PWR6-NEXT: and 8, 8, 5
21514 ; PWR6-NEXT: and 5, 9, 5
21515 ; PWR6-NEXT: ori 6, 6, 13107
21516 ; PWR6-NEXT: sub 3, 3, 5
21517 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21518 ; PWR6-NEXT: sub 4, 4, 8
21519 ; PWR6-NEXT: and 8, 3, 6
21520 ; PWR6-NEXT: rotldi 3, 3, 62
21521 ; PWR6-NEXT: and 3, 3, 6
21522 ; PWR6-NEXT: lis 7, 3855
21523 ; PWR6-NEXT: and 5, 4, 6
21524 ; PWR6-NEXT: rotldi 4, 4, 62
21525 ; PWR6-NEXT: add 3, 8, 3
21526 ; PWR6-NEXT: lis 9, 257
21527 ; PWR6-NEXT: ori 7, 7, 3855
21528 ; PWR6-NEXT: and 4, 4, 6
21529 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21530 ; PWR6-NEXT: ori 9, 9, 257
21531 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21532 ; PWR6-NEXT: add 4, 5, 4
21533 ; PWR6-NEXT: add 3, 3, 6
21534 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21535 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21536 ; PWR6-NEXT: and 3, 3, 7
21537 ; PWR6-NEXT: add 4, 4, 5
21538 ; PWR6-NEXT: mulld 3, 3, 9
21539 ; PWR6-NEXT: and 4, 4, 7
21540 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21541 ; PWR6-NEXT: mulld 4, 4, 9
21542 ; PWR6-NEXT: li 5, 37
21543 ; PWR6-NEXT: subfic 3, 3, 37
21544 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21545 ; PWR6-NEXT: subfe 3, 5, 5
21546 ; PWR6-NEXT: subfic 4, 4, 37
21547 ; PWR6-NEXT: subfe 4, 5, 5
21548 ; PWR6-NEXT: blr
21552 ; PWR7-NEXT: addi 3, 1, -32
21553 ; PWR7-NEXT: li 5, 0
21554 ; PWR7-NEXT: li 6, -1
21555 ; PWR7-NEXT: stxvd2x 34, 0, 3
21556 ; PWR7-NEXT: ld 3, -24(1)
21557 ; PWR7-NEXT: ld 4, -32(1)
21558 ; PWR7-NEXT: popcntd 3, 3
21559 ; PWR7-NEXT: popcntd 4, 4
21560 ; PWR7-NEXT: cmpldi 3, 37
21561 ; PWR7-NEXT: iselgt 3, 6, 5
21562 ; PWR7-NEXT: cmpldi 4, 37
21563 ; PWR7-NEXT: iselgt 4, 6, 5
21564 ; PWR7-NEXT: std 3, -8(1)
21565 ; PWR7-NEXT: addi 3, 1, -16
21566 ; PWR7-NEXT: std 4, -16(1)
21567 ; PWR7-NEXT: lxvd2x 34, 0, 3
21568 ; PWR7-NEXT: blr
21572 ; PWR8-NEXT: addis 3, 2, .LCPI172_0@toc@ha
21573 ; PWR8-NEXT: vpopcntd 2, 2
21574 ; PWR8-NEXT: addi 3, 3, .LCPI172_0@toc@l
21575 ; PWR8-NEXT: lxvd2x 35, 0, 3
21576 ; PWR8-NEXT: vcmpgtud 2, 2, 3
21577 ; PWR8-NEXT: blr
21581 ; PWR9-NEXT: addis 3, 2, .LCPI172_0@toc@ha
21582 ; PWR9-NEXT: vpopcntd 2, 2
21583 ; PWR9-NEXT: addi 3, 3, .LCPI172_0@toc@l
21584 ; PWR9-NEXT: lxvx 35, 0, 3
21585 ; PWR9-NEXT: vcmpgtud 2, 2, 3
21586 ; PWR9-NEXT: blr
21596 ; PWR5-NEXT: lis 5, 21845
21597 ; PWR5-NEXT: lis 6, 13107
21598 ; PWR5-NEXT: ori 5, 5, 21845
21599 ; PWR5-NEXT: rotldi 8, 4, 63
21600 ; PWR5-NEXT: rotldi 9, 3, 63
21601 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21602 ; PWR5-NEXT: and 8, 8, 5
21603 ; PWR5-NEXT: and 5, 9, 5
21604 ; PWR5-NEXT: ori 6, 6, 13107
21605 ; PWR5-NEXT: sub 3, 3, 5
21606 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21607 ; PWR5-NEXT: sub 4, 4, 8
21608 ; PWR5-NEXT: and 8, 3, 6
21609 ; PWR5-NEXT: rotldi 3, 3, 62
21610 ; PWR5-NEXT: and 3, 3, 6
21611 ; PWR5-NEXT: lis 7, 3855
21612 ; PWR5-NEXT: and 5, 4, 6
21613 ; PWR5-NEXT: rotldi 4, 4, 62
21614 ; PWR5-NEXT: add 3, 8, 3
21615 ; PWR5-NEXT: lis 9, 257
21616 ; PWR5-NEXT: ori 7, 7, 3855
21617 ; PWR5-NEXT: and 4, 4, 6
21618 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21619 ; PWR5-NEXT: ori 9, 9, 257
21620 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21621 ; PWR5-NEXT: add 4, 5, 4
21622 ; PWR5-NEXT: add 3, 3, 6
21623 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21624 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21625 ; PWR5-NEXT: and 3, 3, 7
21626 ; PWR5-NEXT: add 4, 4, 5
21627 ; PWR5-NEXT: mulld 3, 3, 9
21628 ; PWR5-NEXT: and 4, 4, 7
21629 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21630 ; PWR5-NEXT: li 5, 38
21631 ; PWR5-NEXT: mulld 4, 4, 9
21632 ; PWR5-NEXT: subc 6, 3, 5
21633 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21634 ; PWR5-NEXT: subfe 3, 3, 3
21635 ; PWR5-NEXT: subc 5, 4, 5
21636 ; PWR5-NEXT: subfe 4, 4, 4
21637 ; PWR5-NEXT: blr
21641 ; PWR6-NEXT: lis 5, 21845
21642 ; PWR6-NEXT: lis 6, 13107
21643 ; PWR6-NEXT: ori 5, 5, 21845
21644 ; PWR6-NEXT: rotldi 8, 4, 63
21645 ; PWR6-NEXT: rotldi 9, 3, 63
21646 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21647 ; PWR6-NEXT: and 8, 8, 5
21648 ; PWR6-NEXT: and 5, 9, 5
21649 ; PWR6-NEXT: ori 6, 6, 13107
21650 ; PWR6-NEXT: sub 3, 3, 5
21651 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21652 ; PWR6-NEXT: sub 4, 4, 8
21653 ; PWR6-NEXT: and 8, 3, 6
21654 ; PWR6-NEXT: rotldi 3, 3, 62
21655 ; PWR6-NEXT: and 3, 3, 6
21656 ; PWR6-NEXT: lis 7, 3855
21657 ; PWR6-NEXT: and 5, 4, 6
21658 ; PWR6-NEXT: rotldi 4, 4, 62
21659 ; PWR6-NEXT: add 3, 8, 3
21660 ; PWR6-NEXT: lis 9, 257
21661 ; PWR6-NEXT: ori 7, 7, 3855
21662 ; PWR6-NEXT: and 4, 4, 6
21663 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21664 ; PWR6-NEXT: ori 9, 9, 257
21665 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21666 ; PWR6-NEXT: add 4, 5, 4
21667 ; PWR6-NEXT: add 3, 3, 6
21668 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21669 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21670 ; PWR6-NEXT: and 3, 3, 7
21671 ; PWR6-NEXT: add 4, 4, 5
21672 ; PWR6-NEXT: mulld 3, 3, 9
21673 ; PWR6-NEXT: and 4, 4, 7
21674 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21675 ; PWR6-NEXT: li 5, 38
21676 ; PWR6-NEXT: mulld 4, 4, 9
21677 ; PWR6-NEXT: subc 6, 3, 5
21678 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21679 ; PWR6-NEXT: subfe 3, 3, 3
21680 ; PWR6-NEXT: subc 5, 4, 5
21681 ; PWR6-NEXT: subfe 4, 4, 4
21682 ; PWR6-NEXT: blr
21686 ; PWR7-NEXT: addi 3, 1, -32
21687 ; PWR7-NEXT: li 5, 0
21688 ; PWR7-NEXT: li 6, -1
21689 ; PWR7-NEXT: stxvd2x 34, 0, 3
21690 ; PWR7-NEXT: ld 3, -24(1)
21691 ; PWR7-NEXT: ld 4, -32(1)
21692 ; PWR7-NEXT: popcntd 3, 3
21693 ; PWR7-NEXT: popcntd 4, 4
21694 ; PWR7-NEXT: cmpldi 3, 38
21695 ; PWR7-NEXT: isellt 3, 6, 5
21696 ; PWR7-NEXT: cmpldi 4, 38
21697 ; PWR7-NEXT: isellt 4, 6, 5
21698 ; PWR7-NEXT: std 3, -8(1)
21699 ; PWR7-NEXT: addi 3, 1, -16
21700 ; PWR7-NEXT: std 4, -16(1)
21701 ; PWR7-NEXT: lxvd2x 34, 0, 3
21702 ; PWR7-NEXT: blr
21706 ; PWR8-NEXT: addis 3, 2, .LCPI173_0@toc@ha
21707 ; PWR8-NEXT: vpopcntd 2, 2
21708 ; PWR8-NEXT: addi 3, 3, .LCPI173_0@toc@l
21709 ; PWR8-NEXT: lxvd2x 35, 0, 3
21710 ; PWR8-NEXT: vcmpgtud 2, 3, 2
21711 ; PWR8-NEXT: blr
21715 ; PWR9-NEXT: addis 3, 2, .LCPI173_0@toc@ha
21716 ; PWR9-NEXT: vpopcntd 2, 2
21717 ; PWR9-NEXT: addi 3, 3, .LCPI173_0@toc@l
21718 ; PWR9-NEXT: lxvx 35, 0, 3
21719 ; PWR9-NEXT: vcmpgtud 2, 3, 2
21720 ; PWR9-NEXT: blr
21730 ; PWR5-NEXT: lis 5, 21845
21731 ; PWR5-NEXT: lis 6, 13107
21732 ; PWR5-NEXT: ori 5, 5, 21845
21733 ; PWR5-NEXT: rotldi 8, 4, 63
21734 ; PWR5-NEXT: rotldi 9, 3, 63
21735 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21736 ; PWR5-NEXT: and 8, 8, 5
21737 ; PWR5-NEXT: and 5, 9, 5
21738 ; PWR5-NEXT: ori 6, 6, 13107
21739 ; PWR5-NEXT: sub 3, 3, 5
21740 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21741 ; PWR5-NEXT: sub 4, 4, 8
21742 ; PWR5-NEXT: and 8, 3, 6
21743 ; PWR5-NEXT: rotldi 3, 3, 62
21744 ; PWR5-NEXT: and 3, 3, 6
21745 ; PWR5-NEXT: lis 7, 3855
21746 ; PWR5-NEXT: and 5, 4, 6
21747 ; PWR5-NEXT: rotldi 4, 4, 62
21748 ; PWR5-NEXT: add 3, 8, 3
21749 ; PWR5-NEXT: lis 9, 257
21750 ; PWR5-NEXT: ori 7, 7, 3855
21751 ; PWR5-NEXT: and 4, 4, 6
21752 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21753 ; PWR5-NEXT: ori 9, 9, 257
21754 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21755 ; PWR5-NEXT: add 4, 5, 4
21756 ; PWR5-NEXT: add 3, 3, 6
21757 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21758 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21759 ; PWR5-NEXT: and 3, 3, 7
21760 ; PWR5-NEXT: add 4, 4, 5
21761 ; PWR5-NEXT: mulld 3, 3, 9
21762 ; PWR5-NEXT: and 4, 4, 7
21763 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21764 ; PWR5-NEXT: mulld 4, 4, 9
21765 ; PWR5-NEXT: li 5, 38
21766 ; PWR5-NEXT: subfic 3, 3, 38
21767 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21768 ; PWR5-NEXT: subfe 3, 5, 5
21769 ; PWR5-NEXT: subfic 4, 4, 38
21770 ; PWR5-NEXT: subfe 4, 5, 5
21771 ; PWR5-NEXT: blr
21775 ; PWR6-NEXT: lis 5, 21845
21776 ; PWR6-NEXT: lis 6, 13107
21777 ; PWR6-NEXT: ori 5, 5, 21845
21778 ; PWR6-NEXT: rotldi 8, 4, 63
21779 ; PWR6-NEXT: rotldi 9, 3, 63
21780 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21781 ; PWR6-NEXT: and 8, 8, 5
21782 ; PWR6-NEXT: and 5, 9, 5
21783 ; PWR6-NEXT: ori 6, 6, 13107
21784 ; PWR6-NEXT: sub 3, 3, 5
21785 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21786 ; PWR6-NEXT: sub 4, 4, 8
21787 ; PWR6-NEXT: and 8, 3, 6
21788 ; PWR6-NEXT: rotldi 3, 3, 62
21789 ; PWR6-NEXT: and 3, 3, 6
21790 ; PWR6-NEXT: lis 7, 3855
21791 ; PWR6-NEXT: and 5, 4, 6
21792 ; PWR6-NEXT: rotldi 4, 4, 62
21793 ; PWR6-NEXT: add 3, 8, 3
21794 ; PWR6-NEXT: lis 9, 257
21795 ; PWR6-NEXT: ori 7, 7, 3855
21796 ; PWR6-NEXT: and 4, 4, 6
21797 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21798 ; PWR6-NEXT: ori 9, 9, 257
21799 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21800 ; PWR6-NEXT: add 4, 5, 4
21801 ; PWR6-NEXT: add 3, 3, 6
21802 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21803 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21804 ; PWR6-NEXT: and 3, 3, 7
21805 ; PWR6-NEXT: add 4, 4, 5
21806 ; PWR6-NEXT: mulld 3, 3, 9
21807 ; PWR6-NEXT: and 4, 4, 7
21808 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21809 ; PWR6-NEXT: mulld 4, 4, 9
21810 ; PWR6-NEXT: li 5, 38
21811 ; PWR6-NEXT: subfic 3, 3, 38
21812 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21813 ; PWR6-NEXT: subfe 3, 5, 5
21814 ; PWR6-NEXT: subfic 4, 4, 38
21815 ; PWR6-NEXT: subfe 4, 5, 5
21816 ; PWR6-NEXT: blr
21820 ; PWR7-NEXT: addi 3, 1, -32
21821 ; PWR7-NEXT: li 5, 0
21822 ; PWR7-NEXT: li 6, -1
21823 ; PWR7-NEXT: stxvd2x 34, 0, 3
21824 ; PWR7-NEXT: ld 3, -24(1)
21825 ; PWR7-NEXT: ld 4, -32(1)
21826 ; PWR7-NEXT: popcntd 3, 3
21827 ; PWR7-NEXT: popcntd 4, 4
21828 ; PWR7-NEXT: cmpldi 3, 38
21829 ; PWR7-NEXT: iselgt 3, 6, 5
21830 ; PWR7-NEXT: cmpldi 4, 38
21831 ; PWR7-NEXT: iselgt 4, 6, 5
21832 ; PWR7-NEXT: std 3, -8(1)
21833 ; PWR7-NEXT: addi 3, 1, -16
21834 ; PWR7-NEXT: std 4, -16(1)
21835 ; PWR7-NEXT: lxvd2x 34, 0, 3
21836 ; PWR7-NEXT: blr
21840 ; PWR8-NEXT: addis 3, 2, .LCPI174_0@toc@ha
21841 ; PWR8-NEXT: vpopcntd 2, 2
21842 ; PWR8-NEXT: addi 3, 3, .LCPI174_0@toc@l
21843 ; PWR8-NEXT: lxvd2x 35, 0, 3
21844 ; PWR8-NEXT: vcmpgtud 2, 2, 3
21845 ; PWR8-NEXT: blr
21849 ; PWR9-NEXT: addis 3, 2, .LCPI174_0@toc@ha
21850 ; PWR9-NEXT: vpopcntd 2, 2
21851 ; PWR9-NEXT: addi 3, 3, .LCPI174_0@toc@l
21852 ; PWR9-NEXT: lxvx 35, 0, 3
21853 ; PWR9-NEXT: vcmpgtud 2, 2, 3
21854 ; PWR9-NEXT: blr
21864 ; PWR5-NEXT: lis 5, 21845
21865 ; PWR5-NEXT: lis 6, 13107
21866 ; PWR5-NEXT: ori 5, 5, 21845
21867 ; PWR5-NEXT: rotldi 8, 4, 63
21868 ; PWR5-NEXT: rotldi 9, 3, 63
21869 ; PWR5-NEXT: rldimi 5, 5, 32, 0
21870 ; PWR5-NEXT: and 8, 8, 5
21871 ; PWR5-NEXT: and 5, 9, 5
21872 ; PWR5-NEXT: ori 6, 6, 13107
21873 ; PWR5-NEXT: sub 3, 3, 5
21874 ; PWR5-NEXT: rldimi 6, 6, 32, 0
21875 ; PWR5-NEXT: sub 4, 4, 8
21876 ; PWR5-NEXT: and 8, 3, 6
21877 ; PWR5-NEXT: rotldi 3, 3, 62
21878 ; PWR5-NEXT: and 3, 3, 6
21879 ; PWR5-NEXT: lis 7, 3855
21880 ; PWR5-NEXT: and 5, 4, 6
21881 ; PWR5-NEXT: rotldi 4, 4, 62
21882 ; PWR5-NEXT: add 3, 8, 3
21883 ; PWR5-NEXT: lis 9, 257
21884 ; PWR5-NEXT: ori 7, 7, 3855
21885 ; PWR5-NEXT: and 4, 4, 6
21886 ; PWR5-NEXT: rldicl 6, 3, 60, 4
21887 ; PWR5-NEXT: ori 9, 9, 257
21888 ; PWR5-NEXT: rldimi 7, 7, 32, 0
21889 ; PWR5-NEXT: add 4, 5, 4
21890 ; PWR5-NEXT: add 3, 3, 6
21891 ; PWR5-NEXT: rldimi 9, 9, 32, 0
21892 ; PWR5-NEXT: rldicl 5, 4, 60, 4
21893 ; PWR5-NEXT: and 3, 3, 7
21894 ; PWR5-NEXT: add 4, 4, 5
21895 ; PWR5-NEXT: mulld 3, 3, 9
21896 ; PWR5-NEXT: and 4, 4, 7
21897 ; PWR5-NEXT: rldicl 3, 3, 8, 56
21898 ; PWR5-NEXT: li 5, 39
21899 ; PWR5-NEXT: mulld 4, 4, 9
21900 ; PWR5-NEXT: subc 6, 3, 5
21901 ; PWR5-NEXT: rldicl 4, 4, 8, 56
21902 ; PWR5-NEXT: subfe 3, 3, 3
21903 ; PWR5-NEXT: subc 5, 4, 5
21904 ; PWR5-NEXT: subfe 4, 4, 4
21905 ; PWR5-NEXT: blr
21909 ; PWR6-NEXT: lis 5, 21845
21910 ; PWR6-NEXT: lis 6, 13107
21911 ; PWR6-NEXT: ori 5, 5, 21845
21912 ; PWR6-NEXT: rotldi 8, 4, 63
21913 ; PWR6-NEXT: rotldi 9, 3, 63
21914 ; PWR6-NEXT: rldimi 5, 5, 32, 0
21915 ; PWR6-NEXT: and 8, 8, 5
21916 ; PWR6-NEXT: and 5, 9, 5
21917 ; PWR6-NEXT: ori 6, 6, 13107
21918 ; PWR6-NEXT: sub 3, 3, 5
21919 ; PWR6-NEXT: rldimi 6, 6, 32, 0
21920 ; PWR6-NEXT: sub 4, 4, 8
21921 ; PWR6-NEXT: and 8, 3, 6
21922 ; PWR6-NEXT: rotldi 3, 3, 62
21923 ; PWR6-NEXT: and 3, 3, 6
21924 ; PWR6-NEXT: lis 7, 3855
21925 ; PWR6-NEXT: and 5, 4, 6
21926 ; PWR6-NEXT: rotldi 4, 4, 62
21927 ; PWR6-NEXT: add 3, 8, 3
21928 ; PWR6-NEXT: lis 9, 257
21929 ; PWR6-NEXT: ori 7, 7, 3855
21930 ; PWR6-NEXT: and 4, 4, 6
21931 ; PWR6-NEXT: rldicl 6, 3, 60, 4
21932 ; PWR6-NEXT: ori 9, 9, 257
21933 ; PWR6-NEXT: rldimi 7, 7, 32, 0
21934 ; PWR6-NEXT: add 4, 5, 4
21935 ; PWR6-NEXT: add 3, 3, 6
21936 ; PWR6-NEXT: rldimi 9, 9, 32, 0
21937 ; PWR6-NEXT: rldicl 5, 4, 60, 4
21938 ; PWR6-NEXT: and 3, 3, 7
21939 ; PWR6-NEXT: add 4, 4, 5
21940 ; PWR6-NEXT: mulld 3, 3, 9
21941 ; PWR6-NEXT: and 4, 4, 7
21942 ; PWR6-NEXT: rldicl 3, 3, 8, 56
21943 ; PWR6-NEXT: li 5, 39
21944 ; PWR6-NEXT: mulld 4, 4, 9
21945 ; PWR6-NEXT: subc 6, 3, 5
21946 ; PWR6-NEXT: rldicl 4, 4, 8, 56
21947 ; PWR6-NEXT: subfe 3, 3, 3
21948 ; PWR6-NEXT: subc 5, 4, 5
21949 ; PWR6-NEXT: subfe 4, 4, 4
21950 ; PWR6-NEXT: blr
21954 ; PWR7-NEXT: addi 3, 1, -32
21955 ; PWR7-NEXT: li 5, 0
21956 ; PWR7-NEXT: li 6, -1
21957 ; PWR7-NEXT: stxvd2x 34, 0, 3
21958 ; PWR7-NEXT: ld 3, -24(1)
21959 ; PWR7-NEXT: ld 4, -32(1)
21960 ; PWR7-NEXT: popcntd 3, 3
21961 ; PWR7-NEXT: popcntd 4, 4
21962 ; PWR7-NEXT: cmpldi 3, 39
21963 ; PWR7-NEXT: isellt 3, 6, 5
21964 ; PWR7-NEXT: cmpldi 4, 39
21965 ; PWR7-NEXT: isellt 4, 6, 5
21966 ; PWR7-NEXT: std 3, -8(1)
21967 ; PWR7-NEXT: addi 3, 1, -16
21968 ; PWR7-NEXT: std 4, -16(1)
21969 ; PWR7-NEXT: lxvd2x 34, 0, 3
21970 ; PWR7-NEXT: blr
21974 ; PWR8-NEXT: addis 3, 2, .LCPI175_0@toc@ha
21975 ; PWR8-NEXT: vpopcntd 2, 2
21976 ; PWR8-NEXT: addi 3, 3, .LCPI175_0@toc@l
21977 ; PWR8-NEXT: lxvd2x 35, 0, 3
21978 ; PWR8-NEXT: vcmpgtud 2, 3, 2
21979 ; PWR8-NEXT: blr
21983 ; PWR9-NEXT: addis 3, 2, .LCPI175_0@toc@ha
21984 ; PWR9-NEXT: vpopcntd 2, 2
21985 ; PWR9-NEXT: addi 3, 3, .LCPI175_0@toc@l
21986 ; PWR9-NEXT: lxvx 35, 0, 3
21987 ; PWR9-NEXT: vcmpgtud 2, 3, 2
21988 ; PWR9-NEXT: blr
21998 ; PWR5-NEXT: lis 5, 21845
21999 ; PWR5-NEXT: lis 6, 13107
22000 ; PWR5-NEXT: ori 5, 5, 21845
22001 ; PWR5-NEXT: rotldi 8, 4, 63
22002 ; PWR5-NEXT: rotldi 9, 3, 63
22003 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22004 ; PWR5-NEXT: and 8, 8, 5
22005 ; PWR5-NEXT: and 5, 9, 5
22006 ; PWR5-NEXT: ori 6, 6, 13107
22007 ; PWR5-NEXT: sub 3, 3, 5
22008 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22009 ; PWR5-NEXT: sub 4, 4, 8
22010 ; PWR5-NEXT: and 8, 3, 6
22011 ; PWR5-NEXT: rotldi 3, 3, 62
22012 ; PWR5-NEXT: and 3, 3, 6
22013 ; PWR5-NEXT: lis 7, 3855
22014 ; PWR5-NEXT: and 5, 4, 6
22015 ; PWR5-NEXT: rotldi 4, 4, 62
22016 ; PWR5-NEXT: add 3, 8, 3
22017 ; PWR5-NEXT: lis 9, 257
22018 ; PWR5-NEXT: ori 7, 7, 3855
22019 ; PWR5-NEXT: and 4, 4, 6
22020 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22021 ; PWR5-NEXT: ori 9, 9, 257
22022 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22023 ; PWR5-NEXT: add 4, 5, 4
22024 ; PWR5-NEXT: add 3, 3, 6
22025 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22026 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22027 ; PWR5-NEXT: and 3, 3, 7
22028 ; PWR5-NEXT: add 4, 4, 5
22029 ; PWR5-NEXT: mulld 3, 3, 9
22030 ; PWR5-NEXT: and 4, 4, 7
22031 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22032 ; PWR5-NEXT: mulld 4, 4, 9
22033 ; PWR5-NEXT: li 5, 39
22034 ; PWR5-NEXT: subfic 3, 3, 39
22035 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22036 ; PWR5-NEXT: subfe 3, 5, 5
22037 ; PWR5-NEXT: subfic 4, 4, 39
22038 ; PWR5-NEXT: subfe 4, 5, 5
22039 ; PWR5-NEXT: blr
22043 ; PWR6-NEXT: lis 5, 21845
22044 ; PWR6-NEXT: lis 6, 13107
22045 ; PWR6-NEXT: ori 5, 5, 21845
22046 ; PWR6-NEXT: rotldi 8, 4, 63
22047 ; PWR6-NEXT: rotldi 9, 3, 63
22048 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22049 ; PWR6-NEXT: and 8, 8, 5
22050 ; PWR6-NEXT: and 5, 9, 5
22051 ; PWR6-NEXT: ori 6, 6, 13107
22052 ; PWR6-NEXT: sub 3, 3, 5
22053 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22054 ; PWR6-NEXT: sub 4, 4, 8
22055 ; PWR6-NEXT: and 8, 3, 6
22056 ; PWR6-NEXT: rotldi 3, 3, 62
22057 ; PWR6-NEXT: and 3, 3, 6
22058 ; PWR6-NEXT: lis 7, 3855
22059 ; PWR6-NEXT: and 5, 4, 6
22060 ; PWR6-NEXT: rotldi 4, 4, 62
22061 ; PWR6-NEXT: add 3, 8, 3
22062 ; PWR6-NEXT: lis 9, 257
22063 ; PWR6-NEXT: ori 7, 7, 3855
22064 ; PWR6-NEXT: and 4, 4, 6
22065 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22066 ; PWR6-NEXT: ori 9, 9, 257
22067 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22068 ; PWR6-NEXT: add 4, 5, 4
22069 ; PWR6-NEXT: add 3, 3, 6
22070 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22071 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22072 ; PWR6-NEXT: and 3, 3, 7
22073 ; PWR6-NEXT: add 4, 4, 5
22074 ; PWR6-NEXT: mulld 3, 3, 9
22075 ; PWR6-NEXT: and 4, 4, 7
22076 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22077 ; PWR6-NEXT: mulld 4, 4, 9
22078 ; PWR6-NEXT: li 5, 39
22079 ; PWR6-NEXT: subfic 3, 3, 39
22080 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22081 ; PWR6-NEXT: subfe 3, 5, 5
22082 ; PWR6-NEXT: subfic 4, 4, 39
22083 ; PWR6-NEXT: subfe 4, 5, 5
22084 ; PWR6-NEXT: blr
22088 ; PWR7-NEXT: addi 3, 1, -32
22089 ; PWR7-NEXT: li 5, 0
22090 ; PWR7-NEXT: li 6, -1
22091 ; PWR7-NEXT: stxvd2x 34, 0, 3
22092 ; PWR7-NEXT: ld 3, -24(1)
22093 ; PWR7-NEXT: ld 4, -32(1)
22094 ; PWR7-NEXT: popcntd 3, 3
22095 ; PWR7-NEXT: popcntd 4, 4
22096 ; PWR7-NEXT: cmpldi 3, 39
22097 ; PWR7-NEXT: iselgt 3, 6, 5
22098 ; PWR7-NEXT: cmpldi 4, 39
22099 ; PWR7-NEXT: iselgt 4, 6, 5
22100 ; PWR7-NEXT: std 3, -8(1)
22101 ; PWR7-NEXT: addi 3, 1, -16
22102 ; PWR7-NEXT: std 4, -16(1)
22103 ; PWR7-NEXT: lxvd2x 34, 0, 3
22104 ; PWR7-NEXT: blr
22108 ; PWR8-NEXT: addis 3, 2, .LCPI176_0@toc@ha
22109 ; PWR8-NEXT: vpopcntd 2, 2
22110 ; PWR8-NEXT: addi 3, 3, .LCPI176_0@toc@l
22111 ; PWR8-NEXT: lxvd2x 35, 0, 3
22112 ; PWR8-NEXT: vcmpgtud 2, 2, 3
22113 ; PWR8-NEXT: blr
22117 ; PWR9-NEXT: addis 3, 2, .LCPI176_0@toc@ha
22118 ; PWR9-NEXT: vpopcntd 2, 2
22119 ; PWR9-NEXT: addi 3, 3, .LCPI176_0@toc@l
22120 ; PWR9-NEXT: lxvx 35, 0, 3
22121 ; PWR9-NEXT: vcmpgtud 2, 2, 3
22122 ; PWR9-NEXT: blr
22132 ; PWR5-NEXT: lis 5, 21845
22133 ; PWR5-NEXT: lis 6, 13107
22134 ; PWR5-NEXT: ori 5, 5, 21845
22135 ; PWR5-NEXT: rotldi 8, 4, 63
22136 ; PWR5-NEXT: rotldi 9, 3, 63
22137 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22138 ; PWR5-NEXT: and 8, 8, 5
22139 ; PWR5-NEXT: and 5, 9, 5
22140 ; PWR5-NEXT: ori 6, 6, 13107
22141 ; PWR5-NEXT: sub 3, 3, 5
22142 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22143 ; PWR5-NEXT: sub 4, 4, 8
22144 ; PWR5-NEXT: and 8, 3, 6
22145 ; PWR5-NEXT: rotldi 3, 3, 62
22146 ; PWR5-NEXT: and 3, 3, 6
22147 ; PWR5-NEXT: lis 7, 3855
22148 ; PWR5-NEXT: and 5, 4, 6
22149 ; PWR5-NEXT: rotldi 4, 4, 62
22150 ; PWR5-NEXT: add 3, 8, 3
22151 ; PWR5-NEXT: lis 9, 257
22152 ; PWR5-NEXT: ori 7, 7, 3855
22153 ; PWR5-NEXT: and 4, 4, 6
22154 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22155 ; PWR5-NEXT: ori 9, 9, 257
22156 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22157 ; PWR5-NEXT: add 4, 5, 4
22158 ; PWR5-NEXT: add 3, 3, 6
22159 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22160 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22161 ; PWR5-NEXT: and 3, 3, 7
22162 ; PWR5-NEXT: add 4, 4, 5
22163 ; PWR5-NEXT: mulld 3, 3, 9
22164 ; PWR5-NEXT: and 4, 4, 7
22165 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22166 ; PWR5-NEXT: li 5, 40
22167 ; PWR5-NEXT: mulld 4, 4, 9
22168 ; PWR5-NEXT: subc 6, 3, 5
22169 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22170 ; PWR5-NEXT: subfe 3, 3, 3
22171 ; PWR5-NEXT: subc 5, 4, 5
22172 ; PWR5-NEXT: subfe 4, 4, 4
22173 ; PWR5-NEXT: blr
22177 ; PWR6-NEXT: lis 5, 21845
22178 ; PWR6-NEXT: lis 6, 13107
22179 ; PWR6-NEXT: ori 5, 5, 21845
22180 ; PWR6-NEXT: rotldi 8, 4, 63
22181 ; PWR6-NEXT: rotldi 9, 3, 63
22182 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22183 ; PWR6-NEXT: and 8, 8, 5
22184 ; PWR6-NEXT: and 5, 9, 5
22185 ; PWR6-NEXT: ori 6, 6, 13107
22186 ; PWR6-NEXT: sub 3, 3, 5
22187 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22188 ; PWR6-NEXT: sub 4, 4, 8
22189 ; PWR6-NEXT: and 8, 3, 6
22190 ; PWR6-NEXT: rotldi 3, 3, 62
22191 ; PWR6-NEXT: and 3, 3, 6
22192 ; PWR6-NEXT: lis 7, 3855
22193 ; PWR6-NEXT: and 5, 4, 6
22194 ; PWR6-NEXT: rotldi 4, 4, 62
22195 ; PWR6-NEXT: add 3, 8, 3
22196 ; PWR6-NEXT: lis 9, 257
22197 ; PWR6-NEXT: ori 7, 7, 3855
22198 ; PWR6-NEXT: and 4, 4, 6
22199 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22200 ; PWR6-NEXT: ori 9, 9, 257
22201 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22202 ; PWR6-NEXT: add 4, 5, 4
22203 ; PWR6-NEXT: add 3, 3, 6
22204 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22205 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22206 ; PWR6-NEXT: and 3, 3, 7
22207 ; PWR6-NEXT: add 4, 4, 5
22208 ; PWR6-NEXT: mulld 3, 3, 9
22209 ; PWR6-NEXT: and 4, 4, 7
22210 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22211 ; PWR6-NEXT: li 5, 40
22212 ; PWR6-NEXT: mulld 4, 4, 9
22213 ; PWR6-NEXT: subc 6, 3, 5
22214 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22215 ; PWR6-NEXT: subfe 3, 3, 3
22216 ; PWR6-NEXT: subc 5, 4, 5
22217 ; PWR6-NEXT: subfe 4, 4, 4
22218 ; PWR6-NEXT: blr
22222 ; PWR7-NEXT: addi 3, 1, -32
22223 ; PWR7-NEXT: li 5, 0
22224 ; PWR7-NEXT: li 6, -1
22225 ; PWR7-NEXT: stxvd2x 34, 0, 3
22226 ; PWR7-NEXT: ld 3, -24(1)
22227 ; PWR7-NEXT: ld 4, -32(1)
22228 ; PWR7-NEXT: popcntd 3, 3
22229 ; PWR7-NEXT: popcntd 4, 4
22230 ; PWR7-NEXT: cmpldi 3, 40
22231 ; PWR7-NEXT: isellt 3, 6, 5
22232 ; PWR7-NEXT: cmpldi 4, 40
22233 ; PWR7-NEXT: isellt 4, 6, 5
22234 ; PWR7-NEXT: std 3, -8(1)
22235 ; PWR7-NEXT: addi 3, 1, -16
22236 ; PWR7-NEXT: std 4, -16(1)
22237 ; PWR7-NEXT: lxvd2x 34, 0, 3
22238 ; PWR7-NEXT: blr
22242 ; PWR8-NEXT: addis 3, 2, .LCPI177_0@toc@ha
22243 ; PWR8-NEXT: vpopcntd 2, 2
22244 ; PWR8-NEXT: addi 3, 3, .LCPI177_0@toc@l
22245 ; PWR8-NEXT: lxvd2x 35, 0, 3
22246 ; PWR8-NEXT: vcmpgtud 2, 3, 2
22247 ; PWR8-NEXT: blr
22251 ; PWR9-NEXT: addis 3, 2, .LCPI177_0@toc@ha
22252 ; PWR9-NEXT: vpopcntd 2, 2
22253 ; PWR9-NEXT: addi 3, 3, .LCPI177_0@toc@l
22254 ; PWR9-NEXT: lxvx 35, 0, 3
22255 ; PWR9-NEXT: vcmpgtud 2, 3, 2
22256 ; PWR9-NEXT: blr
22266 ; PWR5-NEXT: lis 5, 21845
22267 ; PWR5-NEXT: lis 6, 13107
22268 ; PWR5-NEXT: ori 5, 5, 21845
22269 ; PWR5-NEXT: rotldi 8, 4, 63
22270 ; PWR5-NEXT: rotldi 9, 3, 63
22271 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22272 ; PWR5-NEXT: and 8, 8, 5
22273 ; PWR5-NEXT: and 5, 9, 5
22274 ; PWR5-NEXT: ori 6, 6, 13107
22275 ; PWR5-NEXT: sub 3, 3, 5
22276 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22277 ; PWR5-NEXT: sub 4, 4, 8
22278 ; PWR5-NEXT: and 8, 3, 6
22279 ; PWR5-NEXT: rotldi 3, 3, 62
22280 ; PWR5-NEXT: and 3, 3, 6
22281 ; PWR5-NEXT: lis 7, 3855
22282 ; PWR5-NEXT: and 5, 4, 6
22283 ; PWR5-NEXT: rotldi 4, 4, 62
22284 ; PWR5-NEXT: add 3, 8, 3
22285 ; PWR5-NEXT: lis 9, 257
22286 ; PWR5-NEXT: ori 7, 7, 3855
22287 ; PWR5-NEXT: and 4, 4, 6
22288 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22289 ; PWR5-NEXT: ori 9, 9, 257
22290 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22291 ; PWR5-NEXT: add 4, 5, 4
22292 ; PWR5-NEXT: add 3, 3, 6
22293 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22294 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22295 ; PWR5-NEXT: and 3, 3, 7
22296 ; PWR5-NEXT: add 4, 4, 5
22297 ; PWR5-NEXT: mulld 3, 3, 9
22298 ; PWR5-NEXT: and 4, 4, 7
22299 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22300 ; PWR5-NEXT: mulld 4, 4, 9
22301 ; PWR5-NEXT: li 5, 40
22302 ; PWR5-NEXT: subfic 3, 3, 40
22303 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22304 ; PWR5-NEXT: subfe 3, 5, 5
22305 ; PWR5-NEXT: subfic 4, 4, 40
22306 ; PWR5-NEXT: subfe 4, 5, 5
22307 ; PWR5-NEXT: blr
22311 ; PWR6-NEXT: lis 5, 21845
22312 ; PWR6-NEXT: lis 6, 13107
22313 ; PWR6-NEXT: ori 5, 5, 21845
22314 ; PWR6-NEXT: rotldi 8, 4, 63
22315 ; PWR6-NEXT: rotldi 9, 3, 63
22316 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22317 ; PWR6-NEXT: and 8, 8, 5
22318 ; PWR6-NEXT: and 5, 9, 5
22319 ; PWR6-NEXT: ori 6, 6, 13107
22320 ; PWR6-NEXT: sub 3, 3, 5
22321 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22322 ; PWR6-NEXT: sub 4, 4, 8
22323 ; PWR6-NEXT: and 8, 3, 6
22324 ; PWR6-NEXT: rotldi 3, 3, 62
22325 ; PWR6-NEXT: and 3, 3, 6
22326 ; PWR6-NEXT: lis 7, 3855
22327 ; PWR6-NEXT: and 5, 4, 6
22328 ; PWR6-NEXT: rotldi 4, 4, 62
22329 ; PWR6-NEXT: add 3, 8, 3
22330 ; PWR6-NEXT: lis 9, 257
22331 ; PWR6-NEXT: ori 7, 7, 3855
22332 ; PWR6-NEXT: and 4, 4, 6
22333 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22334 ; PWR6-NEXT: ori 9, 9, 257
22335 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22336 ; PWR6-NEXT: add 4, 5, 4
22337 ; PWR6-NEXT: add 3, 3, 6
22338 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22339 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22340 ; PWR6-NEXT: and 3, 3, 7
22341 ; PWR6-NEXT: add 4, 4, 5
22342 ; PWR6-NEXT: mulld 3, 3, 9
22343 ; PWR6-NEXT: and 4, 4, 7
22344 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22345 ; PWR6-NEXT: mulld 4, 4, 9
22346 ; PWR6-NEXT: li 5, 40
22347 ; PWR6-NEXT: subfic 3, 3, 40
22348 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22349 ; PWR6-NEXT: subfe 3, 5, 5
22350 ; PWR6-NEXT: subfic 4, 4, 40
22351 ; PWR6-NEXT: subfe 4, 5, 5
22352 ; PWR6-NEXT: blr
22356 ; PWR7-NEXT: addi 3, 1, -32
22357 ; PWR7-NEXT: li 5, 0
22358 ; PWR7-NEXT: li 6, -1
22359 ; PWR7-NEXT: stxvd2x 34, 0, 3
22360 ; PWR7-NEXT: ld 3, -24(1)
22361 ; PWR7-NEXT: ld 4, -32(1)
22362 ; PWR7-NEXT: popcntd 3, 3
22363 ; PWR7-NEXT: popcntd 4, 4
22364 ; PWR7-NEXT: cmpldi 3, 40
22365 ; PWR7-NEXT: iselgt 3, 6, 5
22366 ; PWR7-NEXT: cmpldi 4, 40
22367 ; PWR7-NEXT: iselgt 4, 6, 5
22368 ; PWR7-NEXT: std 3, -8(1)
22369 ; PWR7-NEXT: addi 3, 1, -16
22370 ; PWR7-NEXT: std 4, -16(1)
22371 ; PWR7-NEXT: lxvd2x 34, 0, 3
22372 ; PWR7-NEXT: blr
22376 ; PWR8-NEXT: addis 3, 2, .LCPI178_0@toc@ha
22377 ; PWR8-NEXT: vpopcntd 2, 2
22378 ; PWR8-NEXT: addi 3, 3, .LCPI178_0@toc@l
22379 ; PWR8-NEXT: lxvd2x 35, 0, 3
22380 ; PWR8-NEXT: vcmpgtud 2, 2, 3
22381 ; PWR8-NEXT: blr
22385 ; PWR9-NEXT: addis 3, 2, .LCPI178_0@toc@ha
22386 ; PWR9-NEXT: vpopcntd 2, 2
22387 ; PWR9-NEXT: addi 3, 3, .LCPI178_0@toc@l
22388 ; PWR9-NEXT: lxvx 35, 0, 3
22389 ; PWR9-NEXT: vcmpgtud 2, 2, 3
22390 ; PWR9-NEXT: blr
22400 ; PWR5-NEXT: lis 5, 21845
22401 ; PWR5-NEXT: lis 6, 13107
22402 ; PWR5-NEXT: ori 5, 5, 21845
22403 ; PWR5-NEXT: rotldi 8, 4, 63
22404 ; PWR5-NEXT: rotldi 9, 3, 63
22405 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22406 ; PWR5-NEXT: and 8, 8, 5
22407 ; PWR5-NEXT: and 5, 9, 5
22408 ; PWR5-NEXT: ori 6, 6, 13107
22409 ; PWR5-NEXT: sub 3, 3, 5
22410 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22411 ; PWR5-NEXT: sub 4, 4, 8
22412 ; PWR5-NEXT: and 8, 3, 6
22413 ; PWR5-NEXT: rotldi 3, 3, 62
22414 ; PWR5-NEXT: and 3, 3, 6
22415 ; PWR5-NEXT: lis 7, 3855
22416 ; PWR5-NEXT: and 5, 4, 6
22417 ; PWR5-NEXT: rotldi 4, 4, 62
22418 ; PWR5-NEXT: add 3, 8, 3
22419 ; PWR5-NEXT: lis 9, 257
22420 ; PWR5-NEXT: ori 7, 7, 3855
22421 ; PWR5-NEXT: and 4, 4, 6
22422 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22423 ; PWR5-NEXT: ori 9, 9, 257
22424 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22425 ; PWR5-NEXT: add 4, 5, 4
22426 ; PWR5-NEXT: add 3, 3, 6
22427 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22428 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22429 ; PWR5-NEXT: and 3, 3, 7
22430 ; PWR5-NEXT: add 4, 4, 5
22431 ; PWR5-NEXT: mulld 3, 3, 9
22432 ; PWR5-NEXT: and 4, 4, 7
22433 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22434 ; PWR5-NEXT: li 5, 41
22435 ; PWR5-NEXT: mulld 4, 4, 9
22436 ; PWR5-NEXT: subc 6, 3, 5
22437 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22438 ; PWR5-NEXT: subfe 3, 3, 3
22439 ; PWR5-NEXT: subc 5, 4, 5
22440 ; PWR5-NEXT: subfe 4, 4, 4
22441 ; PWR5-NEXT: blr
22445 ; PWR6-NEXT: lis 5, 21845
22446 ; PWR6-NEXT: lis 6, 13107
22447 ; PWR6-NEXT: ori 5, 5, 21845
22448 ; PWR6-NEXT: rotldi 8, 4, 63
22449 ; PWR6-NEXT: rotldi 9, 3, 63
22450 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22451 ; PWR6-NEXT: and 8, 8, 5
22452 ; PWR6-NEXT: and 5, 9, 5
22453 ; PWR6-NEXT: ori 6, 6, 13107
22454 ; PWR6-NEXT: sub 3, 3, 5
22455 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22456 ; PWR6-NEXT: sub 4, 4, 8
22457 ; PWR6-NEXT: and 8, 3, 6
22458 ; PWR6-NEXT: rotldi 3, 3, 62
22459 ; PWR6-NEXT: and 3, 3, 6
22460 ; PWR6-NEXT: lis 7, 3855
22461 ; PWR6-NEXT: and 5, 4, 6
22462 ; PWR6-NEXT: rotldi 4, 4, 62
22463 ; PWR6-NEXT: add 3, 8, 3
22464 ; PWR6-NEXT: lis 9, 257
22465 ; PWR6-NEXT: ori 7, 7, 3855
22466 ; PWR6-NEXT: and 4, 4, 6
22467 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22468 ; PWR6-NEXT: ori 9, 9, 257
22469 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22470 ; PWR6-NEXT: add 4, 5, 4
22471 ; PWR6-NEXT: add 3, 3, 6
22472 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22473 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22474 ; PWR6-NEXT: and 3, 3, 7
22475 ; PWR6-NEXT: add 4, 4, 5
22476 ; PWR6-NEXT: mulld 3, 3, 9
22477 ; PWR6-NEXT: and 4, 4, 7
22478 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22479 ; PWR6-NEXT: li 5, 41
22480 ; PWR6-NEXT: mulld 4, 4, 9
22481 ; PWR6-NEXT: subc 6, 3, 5
22482 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22483 ; PWR6-NEXT: subfe 3, 3, 3
22484 ; PWR6-NEXT: subc 5, 4, 5
22485 ; PWR6-NEXT: subfe 4, 4, 4
22486 ; PWR6-NEXT: blr
22490 ; PWR7-NEXT: addi 3, 1, -32
22491 ; PWR7-NEXT: li 5, 0
22492 ; PWR7-NEXT: li 6, -1
22493 ; PWR7-NEXT: stxvd2x 34, 0, 3
22494 ; PWR7-NEXT: ld 3, -24(1)
22495 ; PWR7-NEXT: ld 4, -32(1)
22496 ; PWR7-NEXT: popcntd 3, 3
22497 ; PWR7-NEXT: popcntd 4, 4
22498 ; PWR7-NEXT: cmpldi 3, 41
22499 ; PWR7-NEXT: isellt 3, 6, 5
22500 ; PWR7-NEXT: cmpldi 4, 41
22501 ; PWR7-NEXT: isellt 4, 6, 5
22502 ; PWR7-NEXT: std 3, -8(1)
22503 ; PWR7-NEXT: addi 3, 1, -16
22504 ; PWR7-NEXT: std 4, -16(1)
22505 ; PWR7-NEXT: lxvd2x 34, 0, 3
22506 ; PWR7-NEXT: blr
22510 ; PWR8-NEXT: addis 3, 2, .LCPI179_0@toc@ha
22511 ; PWR8-NEXT: vpopcntd 2, 2
22512 ; PWR8-NEXT: addi 3, 3, .LCPI179_0@toc@l
22513 ; PWR8-NEXT: lxvd2x 35, 0, 3
22514 ; PWR8-NEXT: vcmpgtud 2, 3, 2
22515 ; PWR8-NEXT: blr
22519 ; PWR9-NEXT: addis 3, 2, .LCPI179_0@toc@ha
22520 ; PWR9-NEXT: vpopcntd 2, 2
22521 ; PWR9-NEXT: addi 3, 3, .LCPI179_0@toc@l
22522 ; PWR9-NEXT: lxvx 35, 0, 3
22523 ; PWR9-NEXT: vcmpgtud 2, 3, 2
22524 ; PWR9-NEXT: blr
22534 ; PWR5-NEXT: lis 5, 21845
22535 ; PWR5-NEXT: lis 6, 13107
22536 ; PWR5-NEXT: ori 5, 5, 21845
22537 ; PWR5-NEXT: rotldi 8, 4, 63
22538 ; PWR5-NEXT: rotldi 9, 3, 63
22539 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22540 ; PWR5-NEXT: and 8, 8, 5
22541 ; PWR5-NEXT: and 5, 9, 5
22542 ; PWR5-NEXT: ori 6, 6, 13107
22543 ; PWR5-NEXT: sub 3, 3, 5
22544 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22545 ; PWR5-NEXT: sub 4, 4, 8
22546 ; PWR5-NEXT: and 8, 3, 6
22547 ; PWR5-NEXT: rotldi 3, 3, 62
22548 ; PWR5-NEXT: and 3, 3, 6
22549 ; PWR5-NEXT: lis 7, 3855
22550 ; PWR5-NEXT: and 5, 4, 6
22551 ; PWR5-NEXT: rotldi 4, 4, 62
22552 ; PWR5-NEXT: add 3, 8, 3
22553 ; PWR5-NEXT: lis 9, 257
22554 ; PWR5-NEXT: ori 7, 7, 3855
22555 ; PWR5-NEXT: and 4, 4, 6
22556 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22557 ; PWR5-NEXT: ori 9, 9, 257
22558 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22559 ; PWR5-NEXT: add 4, 5, 4
22560 ; PWR5-NEXT: add 3, 3, 6
22561 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22562 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22563 ; PWR5-NEXT: and 3, 3, 7
22564 ; PWR5-NEXT: add 4, 4, 5
22565 ; PWR5-NEXT: mulld 3, 3, 9
22566 ; PWR5-NEXT: and 4, 4, 7
22567 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22568 ; PWR5-NEXT: mulld 4, 4, 9
22569 ; PWR5-NEXT: li 5, 41
22570 ; PWR5-NEXT: subfic 3, 3, 41
22571 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22572 ; PWR5-NEXT: subfe 3, 5, 5
22573 ; PWR5-NEXT: subfic 4, 4, 41
22574 ; PWR5-NEXT: subfe 4, 5, 5
22575 ; PWR5-NEXT: blr
22579 ; PWR6-NEXT: lis 5, 21845
22580 ; PWR6-NEXT: lis 6, 13107
22581 ; PWR6-NEXT: ori 5, 5, 21845
22582 ; PWR6-NEXT: rotldi 8, 4, 63
22583 ; PWR6-NEXT: rotldi 9, 3, 63
22584 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22585 ; PWR6-NEXT: and 8, 8, 5
22586 ; PWR6-NEXT: and 5, 9, 5
22587 ; PWR6-NEXT: ori 6, 6, 13107
22588 ; PWR6-NEXT: sub 3, 3, 5
22589 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22590 ; PWR6-NEXT: sub 4, 4, 8
22591 ; PWR6-NEXT: and 8, 3, 6
22592 ; PWR6-NEXT: rotldi 3, 3, 62
22593 ; PWR6-NEXT: and 3, 3, 6
22594 ; PWR6-NEXT: lis 7, 3855
22595 ; PWR6-NEXT: and 5, 4, 6
22596 ; PWR6-NEXT: rotldi 4, 4, 62
22597 ; PWR6-NEXT: add 3, 8, 3
22598 ; PWR6-NEXT: lis 9, 257
22599 ; PWR6-NEXT: ori 7, 7, 3855
22600 ; PWR6-NEXT: and 4, 4, 6
22601 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22602 ; PWR6-NEXT: ori 9, 9, 257
22603 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22604 ; PWR6-NEXT: add 4, 5, 4
22605 ; PWR6-NEXT: add 3, 3, 6
22606 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22607 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22608 ; PWR6-NEXT: and 3, 3, 7
22609 ; PWR6-NEXT: add 4, 4, 5
22610 ; PWR6-NEXT: mulld 3, 3, 9
22611 ; PWR6-NEXT: and 4, 4, 7
22612 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22613 ; PWR6-NEXT: mulld 4, 4, 9
22614 ; PWR6-NEXT: li 5, 41
22615 ; PWR6-NEXT: subfic 3, 3, 41
22616 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22617 ; PWR6-NEXT: subfe 3, 5, 5
22618 ; PWR6-NEXT: subfic 4, 4, 41
22619 ; PWR6-NEXT: subfe 4, 5, 5
22620 ; PWR6-NEXT: blr
22624 ; PWR7-NEXT: addi 3, 1, -32
22625 ; PWR7-NEXT: li 5, 0
22626 ; PWR7-NEXT: li 6, -1
22627 ; PWR7-NEXT: stxvd2x 34, 0, 3
22628 ; PWR7-NEXT: ld 3, -24(1)
22629 ; PWR7-NEXT: ld 4, -32(1)
22630 ; PWR7-NEXT: popcntd 3, 3
22631 ; PWR7-NEXT: popcntd 4, 4
22632 ; PWR7-NEXT: cmpldi 3, 41
22633 ; PWR7-NEXT: iselgt 3, 6, 5
22634 ; PWR7-NEXT: cmpldi 4, 41
22635 ; PWR7-NEXT: iselgt 4, 6, 5
22636 ; PWR7-NEXT: std 3, -8(1)
22637 ; PWR7-NEXT: addi 3, 1, -16
22638 ; PWR7-NEXT: std 4, -16(1)
22639 ; PWR7-NEXT: lxvd2x 34, 0, 3
22640 ; PWR7-NEXT: blr
22644 ; PWR8-NEXT: addis 3, 2, .LCPI180_0@toc@ha
22645 ; PWR8-NEXT: vpopcntd 2, 2
22646 ; PWR8-NEXT: addi 3, 3, .LCPI180_0@toc@l
22647 ; PWR8-NEXT: lxvd2x 35, 0, 3
22648 ; PWR8-NEXT: vcmpgtud 2, 2, 3
22649 ; PWR8-NEXT: blr
22653 ; PWR9-NEXT: addis 3, 2, .LCPI180_0@toc@ha
22654 ; PWR9-NEXT: vpopcntd 2, 2
22655 ; PWR9-NEXT: addi 3, 3, .LCPI180_0@toc@l
22656 ; PWR9-NEXT: lxvx 35, 0, 3
22657 ; PWR9-NEXT: vcmpgtud 2, 2, 3
22658 ; PWR9-NEXT: blr
22668 ; PWR5-NEXT: lis 5, 21845
22669 ; PWR5-NEXT: lis 6, 13107
22670 ; PWR5-NEXT: ori 5, 5, 21845
22671 ; PWR5-NEXT: rotldi 8, 4, 63
22672 ; PWR5-NEXT: rotldi 9, 3, 63
22673 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22674 ; PWR5-NEXT: and 8, 8, 5
22675 ; PWR5-NEXT: and 5, 9, 5
22676 ; PWR5-NEXT: ori 6, 6, 13107
22677 ; PWR5-NEXT: sub 3, 3, 5
22678 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22679 ; PWR5-NEXT: sub 4, 4, 8
22680 ; PWR5-NEXT: and 8, 3, 6
22681 ; PWR5-NEXT: rotldi 3, 3, 62
22682 ; PWR5-NEXT: and 3, 3, 6
22683 ; PWR5-NEXT: lis 7, 3855
22684 ; PWR5-NEXT: and 5, 4, 6
22685 ; PWR5-NEXT: rotldi 4, 4, 62
22686 ; PWR5-NEXT: add 3, 8, 3
22687 ; PWR5-NEXT: lis 9, 257
22688 ; PWR5-NEXT: ori 7, 7, 3855
22689 ; PWR5-NEXT: and 4, 4, 6
22690 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22691 ; PWR5-NEXT: ori 9, 9, 257
22692 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22693 ; PWR5-NEXT: add 4, 5, 4
22694 ; PWR5-NEXT: add 3, 3, 6
22695 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22696 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22697 ; PWR5-NEXT: and 3, 3, 7
22698 ; PWR5-NEXT: add 4, 4, 5
22699 ; PWR5-NEXT: mulld 3, 3, 9
22700 ; PWR5-NEXT: and 4, 4, 7
22701 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22702 ; PWR5-NEXT: li 5, 42
22703 ; PWR5-NEXT: mulld 4, 4, 9
22704 ; PWR5-NEXT: subc 6, 3, 5
22705 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22706 ; PWR5-NEXT: subfe 3, 3, 3
22707 ; PWR5-NEXT: subc 5, 4, 5
22708 ; PWR5-NEXT: subfe 4, 4, 4
22709 ; PWR5-NEXT: blr
22713 ; PWR6-NEXT: lis 5, 21845
22714 ; PWR6-NEXT: lis 6, 13107
22715 ; PWR6-NEXT: ori 5, 5, 21845
22716 ; PWR6-NEXT: rotldi 8, 4, 63
22717 ; PWR6-NEXT: rotldi 9, 3, 63
22718 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22719 ; PWR6-NEXT: and 8, 8, 5
22720 ; PWR6-NEXT: and 5, 9, 5
22721 ; PWR6-NEXT: ori 6, 6, 13107
22722 ; PWR6-NEXT: sub 3, 3, 5
22723 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22724 ; PWR6-NEXT: sub 4, 4, 8
22725 ; PWR6-NEXT: and 8, 3, 6
22726 ; PWR6-NEXT: rotldi 3, 3, 62
22727 ; PWR6-NEXT: and 3, 3, 6
22728 ; PWR6-NEXT: lis 7, 3855
22729 ; PWR6-NEXT: and 5, 4, 6
22730 ; PWR6-NEXT: rotldi 4, 4, 62
22731 ; PWR6-NEXT: add 3, 8, 3
22732 ; PWR6-NEXT: lis 9, 257
22733 ; PWR6-NEXT: ori 7, 7, 3855
22734 ; PWR6-NEXT: and 4, 4, 6
22735 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22736 ; PWR6-NEXT: ori 9, 9, 257
22737 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22738 ; PWR6-NEXT: add 4, 5, 4
22739 ; PWR6-NEXT: add 3, 3, 6
22740 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22741 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22742 ; PWR6-NEXT: and 3, 3, 7
22743 ; PWR6-NEXT: add 4, 4, 5
22744 ; PWR6-NEXT: mulld 3, 3, 9
22745 ; PWR6-NEXT: and 4, 4, 7
22746 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22747 ; PWR6-NEXT: li 5, 42
22748 ; PWR6-NEXT: mulld 4, 4, 9
22749 ; PWR6-NEXT: subc 6, 3, 5
22750 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22751 ; PWR6-NEXT: subfe 3, 3, 3
22752 ; PWR6-NEXT: subc 5, 4, 5
22753 ; PWR6-NEXT: subfe 4, 4, 4
22754 ; PWR6-NEXT: blr
22758 ; PWR7-NEXT: addi 3, 1, -32
22759 ; PWR7-NEXT: li 5, 0
22760 ; PWR7-NEXT: li 6, -1
22761 ; PWR7-NEXT: stxvd2x 34, 0, 3
22762 ; PWR7-NEXT: ld 3, -24(1)
22763 ; PWR7-NEXT: ld 4, -32(1)
22764 ; PWR7-NEXT: popcntd 3, 3
22765 ; PWR7-NEXT: popcntd 4, 4
22766 ; PWR7-NEXT: cmpldi 3, 42
22767 ; PWR7-NEXT: isellt 3, 6, 5
22768 ; PWR7-NEXT: cmpldi 4, 42
22769 ; PWR7-NEXT: isellt 4, 6, 5
22770 ; PWR7-NEXT: std 3, -8(1)
22771 ; PWR7-NEXT: addi 3, 1, -16
22772 ; PWR7-NEXT: std 4, -16(1)
22773 ; PWR7-NEXT: lxvd2x 34, 0, 3
22774 ; PWR7-NEXT: blr
22778 ; PWR8-NEXT: addis 3, 2, .LCPI181_0@toc@ha
22779 ; PWR8-NEXT: vpopcntd 2, 2
22780 ; PWR8-NEXT: addi 3, 3, .LCPI181_0@toc@l
22781 ; PWR8-NEXT: lxvd2x 35, 0, 3
22782 ; PWR8-NEXT: vcmpgtud 2, 3, 2
22783 ; PWR8-NEXT: blr
22787 ; PWR9-NEXT: addis 3, 2, .LCPI181_0@toc@ha
22788 ; PWR9-NEXT: vpopcntd 2, 2
22789 ; PWR9-NEXT: addi 3, 3, .LCPI181_0@toc@l
22790 ; PWR9-NEXT: lxvx 35, 0, 3
22791 ; PWR9-NEXT: vcmpgtud 2, 3, 2
22792 ; PWR9-NEXT: blr
22802 ; PWR5-NEXT: lis 5, 21845
22803 ; PWR5-NEXT: lis 6, 13107
22804 ; PWR5-NEXT: ori 5, 5, 21845
22805 ; PWR5-NEXT: rotldi 8, 4, 63
22806 ; PWR5-NEXT: rotldi 9, 3, 63
22807 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22808 ; PWR5-NEXT: and 8, 8, 5
22809 ; PWR5-NEXT: and 5, 9, 5
22810 ; PWR5-NEXT: ori 6, 6, 13107
22811 ; PWR5-NEXT: sub 3, 3, 5
22812 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22813 ; PWR5-NEXT: sub 4, 4, 8
22814 ; PWR5-NEXT: and 8, 3, 6
22815 ; PWR5-NEXT: rotldi 3, 3, 62
22816 ; PWR5-NEXT: and 3, 3, 6
22817 ; PWR5-NEXT: lis 7, 3855
22818 ; PWR5-NEXT: and 5, 4, 6
22819 ; PWR5-NEXT: rotldi 4, 4, 62
22820 ; PWR5-NEXT: add 3, 8, 3
22821 ; PWR5-NEXT: lis 9, 257
22822 ; PWR5-NEXT: ori 7, 7, 3855
22823 ; PWR5-NEXT: and 4, 4, 6
22824 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22825 ; PWR5-NEXT: ori 9, 9, 257
22826 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22827 ; PWR5-NEXT: add 4, 5, 4
22828 ; PWR5-NEXT: add 3, 3, 6
22829 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22830 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22831 ; PWR5-NEXT: and 3, 3, 7
22832 ; PWR5-NEXT: add 4, 4, 5
22833 ; PWR5-NEXT: mulld 3, 3, 9
22834 ; PWR5-NEXT: and 4, 4, 7
22835 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22836 ; PWR5-NEXT: mulld 4, 4, 9
22837 ; PWR5-NEXT: li 5, 42
22838 ; PWR5-NEXT: subfic 3, 3, 42
22839 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22840 ; PWR5-NEXT: subfe 3, 5, 5
22841 ; PWR5-NEXT: subfic 4, 4, 42
22842 ; PWR5-NEXT: subfe 4, 5, 5
22843 ; PWR5-NEXT: blr
22847 ; PWR6-NEXT: lis 5, 21845
22848 ; PWR6-NEXT: lis 6, 13107
22849 ; PWR6-NEXT: ori 5, 5, 21845
22850 ; PWR6-NEXT: rotldi 8, 4, 63
22851 ; PWR6-NEXT: rotldi 9, 3, 63
22852 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22853 ; PWR6-NEXT: and 8, 8, 5
22854 ; PWR6-NEXT: and 5, 9, 5
22855 ; PWR6-NEXT: ori 6, 6, 13107
22856 ; PWR6-NEXT: sub 3, 3, 5
22857 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22858 ; PWR6-NEXT: sub 4, 4, 8
22859 ; PWR6-NEXT: and 8, 3, 6
22860 ; PWR6-NEXT: rotldi 3, 3, 62
22861 ; PWR6-NEXT: and 3, 3, 6
22862 ; PWR6-NEXT: lis 7, 3855
22863 ; PWR6-NEXT: and 5, 4, 6
22864 ; PWR6-NEXT: rotldi 4, 4, 62
22865 ; PWR6-NEXT: add 3, 8, 3
22866 ; PWR6-NEXT: lis 9, 257
22867 ; PWR6-NEXT: ori 7, 7, 3855
22868 ; PWR6-NEXT: and 4, 4, 6
22869 ; PWR6-NEXT: rldicl 6, 3, 60, 4
22870 ; PWR6-NEXT: ori 9, 9, 257
22871 ; PWR6-NEXT: rldimi 7, 7, 32, 0
22872 ; PWR6-NEXT: add 4, 5, 4
22873 ; PWR6-NEXT: add 3, 3, 6
22874 ; PWR6-NEXT: rldimi 9, 9, 32, 0
22875 ; PWR6-NEXT: rldicl 5, 4, 60, 4
22876 ; PWR6-NEXT: and 3, 3, 7
22877 ; PWR6-NEXT: add 4, 4, 5
22878 ; PWR6-NEXT: mulld 3, 3, 9
22879 ; PWR6-NEXT: and 4, 4, 7
22880 ; PWR6-NEXT: rldicl 3, 3, 8, 56
22881 ; PWR6-NEXT: mulld 4, 4, 9
22882 ; PWR6-NEXT: li 5, 42
22883 ; PWR6-NEXT: subfic 3, 3, 42
22884 ; PWR6-NEXT: rldicl 4, 4, 8, 56
22885 ; PWR6-NEXT: subfe 3, 5, 5
22886 ; PWR6-NEXT: subfic 4, 4, 42
22887 ; PWR6-NEXT: subfe 4, 5, 5
22888 ; PWR6-NEXT: blr
22892 ; PWR7-NEXT: addi 3, 1, -32
22893 ; PWR7-NEXT: li 5, 0
22894 ; PWR7-NEXT: li 6, -1
22895 ; PWR7-NEXT: stxvd2x 34, 0, 3
22896 ; PWR7-NEXT: ld 3, -24(1)
22897 ; PWR7-NEXT: ld 4, -32(1)
22898 ; PWR7-NEXT: popcntd 3, 3
22899 ; PWR7-NEXT: popcntd 4, 4
22900 ; PWR7-NEXT: cmpldi 3, 42
22901 ; PWR7-NEXT: iselgt 3, 6, 5
22902 ; PWR7-NEXT: cmpldi 4, 42
22903 ; PWR7-NEXT: iselgt 4, 6, 5
22904 ; PWR7-NEXT: std 3, -8(1)
22905 ; PWR7-NEXT: addi 3, 1, -16
22906 ; PWR7-NEXT: std 4, -16(1)
22907 ; PWR7-NEXT: lxvd2x 34, 0, 3
22908 ; PWR7-NEXT: blr
22912 ; PWR8-NEXT: addis 3, 2, .LCPI182_0@toc@ha
22913 ; PWR8-NEXT: vpopcntd 2, 2
22914 ; PWR8-NEXT: addi 3, 3, .LCPI182_0@toc@l
22915 ; PWR8-NEXT: lxvd2x 35, 0, 3
22916 ; PWR8-NEXT: vcmpgtud 2, 2, 3
22917 ; PWR8-NEXT: blr
22921 ; PWR9-NEXT: addis 3, 2, .LCPI182_0@toc@ha
22922 ; PWR9-NEXT: vpopcntd 2, 2
22923 ; PWR9-NEXT: addi 3, 3, .LCPI182_0@toc@l
22924 ; PWR9-NEXT: lxvx 35, 0, 3
22925 ; PWR9-NEXT: vcmpgtud 2, 2, 3
22926 ; PWR9-NEXT: blr
22936 ; PWR5-NEXT: lis 5, 21845
22937 ; PWR5-NEXT: lis 6, 13107
22938 ; PWR5-NEXT: ori 5, 5, 21845
22939 ; PWR5-NEXT: rotldi 8, 4, 63
22940 ; PWR5-NEXT: rotldi 9, 3, 63
22941 ; PWR5-NEXT: rldimi 5, 5, 32, 0
22942 ; PWR5-NEXT: and 8, 8, 5
22943 ; PWR5-NEXT: and 5, 9, 5
22944 ; PWR5-NEXT: ori 6, 6, 13107
22945 ; PWR5-NEXT: sub 3, 3, 5
22946 ; PWR5-NEXT: rldimi 6, 6, 32, 0
22947 ; PWR5-NEXT: sub 4, 4, 8
22948 ; PWR5-NEXT: and 8, 3, 6
22949 ; PWR5-NEXT: rotldi 3, 3, 62
22950 ; PWR5-NEXT: and 3, 3, 6
22951 ; PWR5-NEXT: lis 7, 3855
22952 ; PWR5-NEXT: and 5, 4, 6
22953 ; PWR5-NEXT: rotldi 4, 4, 62
22954 ; PWR5-NEXT: add 3, 8, 3
22955 ; PWR5-NEXT: lis 9, 257
22956 ; PWR5-NEXT: ori 7, 7, 3855
22957 ; PWR5-NEXT: and 4, 4, 6
22958 ; PWR5-NEXT: rldicl 6, 3, 60, 4
22959 ; PWR5-NEXT: ori 9, 9, 257
22960 ; PWR5-NEXT: rldimi 7, 7, 32, 0
22961 ; PWR5-NEXT: add 4, 5, 4
22962 ; PWR5-NEXT: add 3, 3, 6
22963 ; PWR5-NEXT: rldimi 9, 9, 32, 0
22964 ; PWR5-NEXT: rldicl 5, 4, 60, 4
22965 ; PWR5-NEXT: and 3, 3, 7
22966 ; PWR5-NEXT: add 4, 4, 5
22967 ; PWR5-NEXT: mulld 3, 3, 9
22968 ; PWR5-NEXT: and 4, 4, 7
22969 ; PWR5-NEXT: rldicl 3, 3, 8, 56
22970 ; PWR5-NEXT: li 5, 43
22971 ; PWR5-NEXT: mulld 4, 4, 9
22972 ; PWR5-NEXT: subc 6, 3, 5
22973 ; PWR5-NEXT: rldicl 4, 4, 8, 56
22974 ; PWR5-NEXT: subfe 3, 3, 3
22975 ; PWR5-NEXT: subc 5, 4, 5
22976 ; PWR5-NEXT: subfe 4, 4, 4
22977 ; PWR5-NEXT: blr
22981 ; PWR6-NEXT: lis 5, 21845
22982 ; PWR6-NEXT: lis 6, 13107
22983 ; PWR6-NEXT: ori 5, 5, 21845
22984 ; PWR6-NEXT: rotldi 8, 4, 63
22985 ; PWR6-NEXT: rotldi 9, 3, 63
22986 ; PWR6-NEXT: rldimi 5, 5, 32, 0
22987 ; PWR6-NEXT: and 8, 8, 5
22988 ; PWR6-NEXT: and 5, 9, 5
22989 ; PWR6-NEXT: ori 6, 6, 13107
22990 ; PWR6-NEXT: sub 3, 3, 5
22991 ; PWR6-NEXT: rldimi 6, 6, 32, 0
22992 ; PWR6-NEXT: sub 4, 4, 8
22993 ; PWR6-NEXT: and 8, 3, 6
22994 ; PWR6-NEXT: rotldi 3, 3, 62
22995 ; PWR6-NEXT: and 3, 3, 6
22996 ; PWR6-NEXT: lis 7, 3855
22997 ; PWR6-NEXT: and 5, 4, 6
22998 ; PWR6-NEXT: rotldi 4, 4, 62
22999 ; PWR6-NEXT: add 3, 8, 3
23000 ; PWR6-NEXT: lis 9, 257
23001 ; PWR6-NEXT: ori 7, 7, 3855
23002 ; PWR6-NEXT: and 4, 4, 6
23003 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23004 ; PWR6-NEXT: ori 9, 9, 257
23005 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23006 ; PWR6-NEXT: add 4, 5, 4
23007 ; PWR6-NEXT: add 3, 3, 6
23008 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23009 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23010 ; PWR6-NEXT: and 3, 3, 7
23011 ; PWR6-NEXT: add 4, 4, 5
23012 ; PWR6-NEXT: mulld 3, 3, 9
23013 ; PWR6-NEXT: and 4, 4, 7
23014 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23015 ; PWR6-NEXT: li 5, 43
23016 ; PWR6-NEXT: mulld 4, 4, 9
23017 ; PWR6-NEXT: subc 6, 3, 5
23018 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23019 ; PWR6-NEXT: subfe 3, 3, 3
23020 ; PWR6-NEXT: subc 5, 4, 5
23021 ; PWR6-NEXT: subfe 4, 4, 4
23022 ; PWR6-NEXT: blr
23026 ; PWR7-NEXT: addi 3, 1, -32
23027 ; PWR7-NEXT: li 5, 0
23028 ; PWR7-NEXT: li 6, -1
23029 ; PWR7-NEXT: stxvd2x 34, 0, 3
23030 ; PWR7-NEXT: ld 3, -24(1)
23031 ; PWR7-NEXT: ld 4, -32(1)
23032 ; PWR7-NEXT: popcntd 3, 3
23033 ; PWR7-NEXT: popcntd 4, 4
23034 ; PWR7-NEXT: cmpldi 3, 43
23035 ; PWR7-NEXT: isellt 3, 6, 5
23036 ; PWR7-NEXT: cmpldi 4, 43
23037 ; PWR7-NEXT: isellt 4, 6, 5
23038 ; PWR7-NEXT: std 3, -8(1)
23039 ; PWR7-NEXT: addi 3, 1, -16
23040 ; PWR7-NEXT: std 4, -16(1)
23041 ; PWR7-NEXT: lxvd2x 34, 0, 3
23042 ; PWR7-NEXT: blr
23046 ; PWR8-NEXT: addis 3, 2, .LCPI183_0@toc@ha
23047 ; PWR8-NEXT: vpopcntd 2, 2
23048 ; PWR8-NEXT: addi 3, 3, .LCPI183_0@toc@l
23049 ; PWR8-NEXT: lxvd2x 35, 0, 3
23050 ; PWR8-NEXT: vcmpgtud 2, 3, 2
23051 ; PWR8-NEXT: blr
23055 ; PWR9-NEXT: addis 3, 2, .LCPI183_0@toc@ha
23056 ; PWR9-NEXT: vpopcntd 2, 2
23057 ; PWR9-NEXT: addi 3, 3, .LCPI183_0@toc@l
23058 ; PWR9-NEXT: lxvx 35, 0, 3
23059 ; PWR9-NEXT: vcmpgtud 2, 3, 2
23060 ; PWR9-NEXT: blr
23070 ; PWR5-NEXT: lis 5, 21845
23071 ; PWR5-NEXT: lis 6, 13107
23072 ; PWR5-NEXT: ori 5, 5, 21845
23073 ; PWR5-NEXT: rotldi 8, 4, 63
23074 ; PWR5-NEXT: rotldi 9, 3, 63
23075 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23076 ; PWR5-NEXT: and 8, 8, 5
23077 ; PWR5-NEXT: and 5, 9, 5
23078 ; PWR5-NEXT: ori 6, 6, 13107
23079 ; PWR5-NEXT: sub 3, 3, 5
23080 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23081 ; PWR5-NEXT: sub 4, 4, 8
23082 ; PWR5-NEXT: and 8, 3, 6
23083 ; PWR5-NEXT: rotldi 3, 3, 62
23084 ; PWR5-NEXT: and 3, 3, 6
23085 ; PWR5-NEXT: lis 7, 3855
23086 ; PWR5-NEXT: and 5, 4, 6
23087 ; PWR5-NEXT: rotldi 4, 4, 62
23088 ; PWR5-NEXT: add 3, 8, 3
23089 ; PWR5-NEXT: lis 9, 257
23090 ; PWR5-NEXT: ori 7, 7, 3855
23091 ; PWR5-NEXT: and 4, 4, 6
23092 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23093 ; PWR5-NEXT: ori 9, 9, 257
23094 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23095 ; PWR5-NEXT: add 4, 5, 4
23096 ; PWR5-NEXT: add 3, 3, 6
23097 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23098 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23099 ; PWR5-NEXT: and 3, 3, 7
23100 ; PWR5-NEXT: add 4, 4, 5
23101 ; PWR5-NEXT: mulld 3, 3, 9
23102 ; PWR5-NEXT: and 4, 4, 7
23103 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23104 ; PWR5-NEXT: mulld 4, 4, 9
23105 ; PWR5-NEXT: li 5, 43
23106 ; PWR5-NEXT: subfic 3, 3, 43
23107 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23108 ; PWR5-NEXT: subfe 3, 5, 5
23109 ; PWR5-NEXT: subfic 4, 4, 43
23110 ; PWR5-NEXT: subfe 4, 5, 5
23111 ; PWR5-NEXT: blr
23115 ; PWR6-NEXT: lis 5, 21845
23116 ; PWR6-NEXT: lis 6, 13107
23117 ; PWR6-NEXT: ori 5, 5, 21845
23118 ; PWR6-NEXT: rotldi 8, 4, 63
23119 ; PWR6-NEXT: rotldi 9, 3, 63
23120 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23121 ; PWR6-NEXT: and 8, 8, 5
23122 ; PWR6-NEXT: and 5, 9, 5
23123 ; PWR6-NEXT: ori 6, 6, 13107
23124 ; PWR6-NEXT: sub 3, 3, 5
23125 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23126 ; PWR6-NEXT: sub 4, 4, 8
23127 ; PWR6-NEXT: and 8, 3, 6
23128 ; PWR6-NEXT: rotldi 3, 3, 62
23129 ; PWR6-NEXT: and 3, 3, 6
23130 ; PWR6-NEXT: lis 7, 3855
23131 ; PWR6-NEXT: and 5, 4, 6
23132 ; PWR6-NEXT: rotldi 4, 4, 62
23133 ; PWR6-NEXT: add 3, 8, 3
23134 ; PWR6-NEXT: lis 9, 257
23135 ; PWR6-NEXT: ori 7, 7, 3855
23136 ; PWR6-NEXT: and 4, 4, 6
23137 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23138 ; PWR6-NEXT: ori 9, 9, 257
23139 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23140 ; PWR6-NEXT: add 4, 5, 4
23141 ; PWR6-NEXT: add 3, 3, 6
23142 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23143 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23144 ; PWR6-NEXT: and 3, 3, 7
23145 ; PWR6-NEXT: add 4, 4, 5
23146 ; PWR6-NEXT: mulld 3, 3, 9
23147 ; PWR6-NEXT: and 4, 4, 7
23148 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23149 ; PWR6-NEXT: mulld 4, 4, 9
23150 ; PWR6-NEXT: li 5, 43
23151 ; PWR6-NEXT: subfic 3, 3, 43
23152 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23153 ; PWR6-NEXT: subfe 3, 5, 5
23154 ; PWR6-NEXT: subfic 4, 4, 43
23155 ; PWR6-NEXT: subfe 4, 5, 5
23156 ; PWR6-NEXT: blr
23160 ; PWR7-NEXT: addi 3, 1, -32
23161 ; PWR7-NEXT: li 5, 0
23162 ; PWR7-NEXT: li 6, -1
23163 ; PWR7-NEXT: stxvd2x 34, 0, 3
23164 ; PWR7-NEXT: ld 3, -24(1)
23165 ; PWR7-NEXT: ld 4, -32(1)
23166 ; PWR7-NEXT: popcntd 3, 3
23167 ; PWR7-NEXT: popcntd 4, 4
23168 ; PWR7-NEXT: cmpldi 3, 43
23169 ; PWR7-NEXT: iselgt 3, 6, 5
23170 ; PWR7-NEXT: cmpldi 4, 43
23171 ; PWR7-NEXT: iselgt 4, 6, 5
23172 ; PWR7-NEXT: std 3, -8(1)
23173 ; PWR7-NEXT: addi 3, 1, -16
23174 ; PWR7-NEXT: std 4, -16(1)
23175 ; PWR7-NEXT: lxvd2x 34, 0, 3
23176 ; PWR7-NEXT: blr
23180 ; PWR8-NEXT: addis 3, 2, .LCPI184_0@toc@ha
23181 ; PWR8-NEXT: vpopcntd 2, 2
23182 ; PWR8-NEXT: addi 3, 3, .LCPI184_0@toc@l
23183 ; PWR8-NEXT: lxvd2x 35, 0, 3
23184 ; PWR8-NEXT: vcmpgtud 2, 2, 3
23185 ; PWR8-NEXT: blr
23189 ; PWR9-NEXT: addis 3, 2, .LCPI184_0@toc@ha
23190 ; PWR9-NEXT: vpopcntd 2, 2
23191 ; PWR9-NEXT: addi 3, 3, .LCPI184_0@toc@l
23192 ; PWR9-NEXT: lxvx 35, 0, 3
23193 ; PWR9-NEXT: vcmpgtud 2, 2, 3
23194 ; PWR9-NEXT: blr
23204 ; PWR5-NEXT: lis 5, 21845
23205 ; PWR5-NEXT: lis 6, 13107
23206 ; PWR5-NEXT: ori 5, 5, 21845
23207 ; PWR5-NEXT: rotldi 8, 4, 63
23208 ; PWR5-NEXT: rotldi 9, 3, 63
23209 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23210 ; PWR5-NEXT: and 8, 8, 5
23211 ; PWR5-NEXT: and 5, 9, 5
23212 ; PWR5-NEXT: ori 6, 6, 13107
23213 ; PWR5-NEXT: sub 3, 3, 5
23214 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23215 ; PWR5-NEXT: sub 4, 4, 8
23216 ; PWR5-NEXT: and 8, 3, 6
23217 ; PWR5-NEXT: rotldi 3, 3, 62
23218 ; PWR5-NEXT: and 3, 3, 6
23219 ; PWR5-NEXT: lis 7, 3855
23220 ; PWR5-NEXT: and 5, 4, 6
23221 ; PWR5-NEXT: rotldi 4, 4, 62
23222 ; PWR5-NEXT: add 3, 8, 3
23223 ; PWR5-NEXT: lis 9, 257
23224 ; PWR5-NEXT: ori 7, 7, 3855
23225 ; PWR5-NEXT: and 4, 4, 6
23226 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23227 ; PWR5-NEXT: ori 9, 9, 257
23228 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23229 ; PWR5-NEXT: add 4, 5, 4
23230 ; PWR5-NEXT: add 3, 3, 6
23231 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23232 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23233 ; PWR5-NEXT: and 3, 3, 7
23234 ; PWR5-NEXT: add 4, 4, 5
23235 ; PWR5-NEXT: mulld 3, 3, 9
23236 ; PWR5-NEXT: and 4, 4, 7
23237 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23238 ; PWR5-NEXT: li 5, 44
23239 ; PWR5-NEXT: mulld 4, 4, 9
23240 ; PWR5-NEXT: subc 6, 3, 5
23241 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23242 ; PWR5-NEXT: subfe 3, 3, 3
23243 ; PWR5-NEXT: subc 5, 4, 5
23244 ; PWR5-NEXT: subfe 4, 4, 4
23245 ; PWR5-NEXT: blr
23249 ; PWR6-NEXT: lis 5, 21845
23250 ; PWR6-NEXT: lis 6, 13107
23251 ; PWR6-NEXT: ori 5, 5, 21845
23252 ; PWR6-NEXT: rotldi 8, 4, 63
23253 ; PWR6-NEXT: rotldi 9, 3, 63
23254 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23255 ; PWR6-NEXT: and 8, 8, 5
23256 ; PWR6-NEXT: and 5, 9, 5
23257 ; PWR6-NEXT: ori 6, 6, 13107
23258 ; PWR6-NEXT: sub 3, 3, 5
23259 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23260 ; PWR6-NEXT: sub 4, 4, 8
23261 ; PWR6-NEXT: and 8, 3, 6
23262 ; PWR6-NEXT: rotldi 3, 3, 62
23263 ; PWR6-NEXT: and 3, 3, 6
23264 ; PWR6-NEXT: lis 7, 3855
23265 ; PWR6-NEXT: and 5, 4, 6
23266 ; PWR6-NEXT: rotldi 4, 4, 62
23267 ; PWR6-NEXT: add 3, 8, 3
23268 ; PWR6-NEXT: lis 9, 257
23269 ; PWR6-NEXT: ori 7, 7, 3855
23270 ; PWR6-NEXT: and 4, 4, 6
23271 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23272 ; PWR6-NEXT: ori 9, 9, 257
23273 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23274 ; PWR6-NEXT: add 4, 5, 4
23275 ; PWR6-NEXT: add 3, 3, 6
23276 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23277 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23278 ; PWR6-NEXT: and 3, 3, 7
23279 ; PWR6-NEXT: add 4, 4, 5
23280 ; PWR6-NEXT: mulld 3, 3, 9
23281 ; PWR6-NEXT: and 4, 4, 7
23282 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23283 ; PWR6-NEXT: li 5, 44
23284 ; PWR6-NEXT: mulld 4, 4, 9
23285 ; PWR6-NEXT: subc 6, 3, 5
23286 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23287 ; PWR6-NEXT: subfe 3, 3, 3
23288 ; PWR6-NEXT: subc 5, 4, 5
23289 ; PWR6-NEXT: subfe 4, 4, 4
23290 ; PWR6-NEXT: blr
23294 ; PWR7-NEXT: addi 3, 1, -32
23295 ; PWR7-NEXT: li 5, 0
23296 ; PWR7-NEXT: li 6, -1
23297 ; PWR7-NEXT: stxvd2x 34, 0, 3
23298 ; PWR7-NEXT: ld 3, -24(1)
23299 ; PWR7-NEXT: ld 4, -32(1)
23300 ; PWR7-NEXT: popcntd 3, 3
23301 ; PWR7-NEXT: popcntd 4, 4
23302 ; PWR7-NEXT: cmpldi 3, 44
23303 ; PWR7-NEXT: isellt 3, 6, 5
23304 ; PWR7-NEXT: cmpldi 4, 44
23305 ; PWR7-NEXT: isellt 4, 6, 5
23306 ; PWR7-NEXT: std 3, -8(1)
23307 ; PWR7-NEXT: addi 3, 1, -16
23308 ; PWR7-NEXT: std 4, -16(1)
23309 ; PWR7-NEXT: lxvd2x 34, 0, 3
23310 ; PWR7-NEXT: blr
23314 ; PWR8-NEXT: addis 3, 2, .LCPI185_0@toc@ha
23315 ; PWR8-NEXT: vpopcntd 2, 2
23316 ; PWR8-NEXT: addi 3, 3, .LCPI185_0@toc@l
23317 ; PWR8-NEXT: lxvd2x 35, 0, 3
23318 ; PWR8-NEXT: vcmpgtud 2, 3, 2
23319 ; PWR8-NEXT: blr
23323 ; PWR9-NEXT: addis 3, 2, .LCPI185_0@toc@ha
23324 ; PWR9-NEXT: vpopcntd 2, 2
23325 ; PWR9-NEXT: addi 3, 3, .LCPI185_0@toc@l
23326 ; PWR9-NEXT: lxvx 35, 0, 3
23327 ; PWR9-NEXT: vcmpgtud 2, 3, 2
23328 ; PWR9-NEXT: blr
23338 ; PWR5-NEXT: lis 5, 21845
23339 ; PWR5-NEXT: lis 6, 13107
23340 ; PWR5-NEXT: ori 5, 5, 21845
23341 ; PWR5-NEXT: rotldi 8, 4, 63
23342 ; PWR5-NEXT: rotldi 9, 3, 63
23343 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23344 ; PWR5-NEXT: and 8, 8, 5
23345 ; PWR5-NEXT: and 5, 9, 5
23346 ; PWR5-NEXT: ori 6, 6, 13107
23347 ; PWR5-NEXT: sub 3, 3, 5
23348 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23349 ; PWR5-NEXT: sub 4, 4, 8
23350 ; PWR5-NEXT: and 8, 3, 6
23351 ; PWR5-NEXT: rotldi 3, 3, 62
23352 ; PWR5-NEXT: and 3, 3, 6
23353 ; PWR5-NEXT: lis 7, 3855
23354 ; PWR5-NEXT: and 5, 4, 6
23355 ; PWR5-NEXT: rotldi 4, 4, 62
23356 ; PWR5-NEXT: add 3, 8, 3
23357 ; PWR5-NEXT: lis 9, 257
23358 ; PWR5-NEXT: ori 7, 7, 3855
23359 ; PWR5-NEXT: and 4, 4, 6
23360 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23361 ; PWR5-NEXT: ori 9, 9, 257
23362 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23363 ; PWR5-NEXT: add 4, 5, 4
23364 ; PWR5-NEXT: add 3, 3, 6
23365 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23366 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23367 ; PWR5-NEXT: and 3, 3, 7
23368 ; PWR5-NEXT: add 4, 4, 5
23369 ; PWR5-NEXT: mulld 3, 3, 9
23370 ; PWR5-NEXT: and 4, 4, 7
23371 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23372 ; PWR5-NEXT: mulld 4, 4, 9
23373 ; PWR5-NEXT: li 5, 44
23374 ; PWR5-NEXT: subfic 3, 3, 44
23375 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23376 ; PWR5-NEXT: subfe 3, 5, 5
23377 ; PWR5-NEXT: subfic 4, 4, 44
23378 ; PWR5-NEXT: subfe 4, 5, 5
23379 ; PWR5-NEXT: blr
23383 ; PWR6-NEXT: lis 5, 21845
23384 ; PWR6-NEXT: lis 6, 13107
23385 ; PWR6-NEXT: ori 5, 5, 21845
23386 ; PWR6-NEXT: rotldi 8, 4, 63
23387 ; PWR6-NEXT: rotldi 9, 3, 63
23388 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23389 ; PWR6-NEXT: and 8, 8, 5
23390 ; PWR6-NEXT: and 5, 9, 5
23391 ; PWR6-NEXT: ori 6, 6, 13107
23392 ; PWR6-NEXT: sub 3, 3, 5
23393 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23394 ; PWR6-NEXT: sub 4, 4, 8
23395 ; PWR6-NEXT: and 8, 3, 6
23396 ; PWR6-NEXT: rotldi 3, 3, 62
23397 ; PWR6-NEXT: and 3, 3, 6
23398 ; PWR6-NEXT: lis 7, 3855
23399 ; PWR6-NEXT: and 5, 4, 6
23400 ; PWR6-NEXT: rotldi 4, 4, 62
23401 ; PWR6-NEXT: add 3, 8, 3
23402 ; PWR6-NEXT: lis 9, 257
23403 ; PWR6-NEXT: ori 7, 7, 3855
23404 ; PWR6-NEXT: and 4, 4, 6
23405 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23406 ; PWR6-NEXT: ori 9, 9, 257
23407 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23408 ; PWR6-NEXT: add 4, 5, 4
23409 ; PWR6-NEXT: add 3, 3, 6
23410 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23411 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23412 ; PWR6-NEXT: and 3, 3, 7
23413 ; PWR6-NEXT: add 4, 4, 5
23414 ; PWR6-NEXT: mulld 3, 3, 9
23415 ; PWR6-NEXT: and 4, 4, 7
23416 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23417 ; PWR6-NEXT: mulld 4, 4, 9
23418 ; PWR6-NEXT: li 5, 44
23419 ; PWR6-NEXT: subfic 3, 3, 44
23420 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23421 ; PWR6-NEXT: subfe 3, 5, 5
23422 ; PWR6-NEXT: subfic 4, 4, 44
23423 ; PWR6-NEXT: subfe 4, 5, 5
23424 ; PWR6-NEXT: blr
23428 ; PWR7-NEXT: addi 3, 1, -32
23429 ; PWR7-NEXT: li 5, 0
23430 ; PWR7-NEXT: li 6, -1
23431 ; PWR7-NEXT: stxvd2x 34, 0, 3
23432 ; PWR7-NEXT: ld 3, -24(1)
23433 ; PWR7-NEXT: ld 4, -32(1)
23434 ; PWR7-NEXT: popcntd 3, 3
23435 ; PWR7-NEXT: popcntd 4, 4
23436 ; PWR7-NEXT: cmpldi 3, 44
23437 ; PWR7-NEXT: iselgt 3, 6, 5
23438 ; PWR7-NEXT: cmpldi 4, 44
23439 ; PWR7-NEXT: iselgt 4, 6, 5
23440 ; PWR7-NEXT: std 3, -8(1)
23441 ; PWR7-NEXT: addi 3, 1, -16
23442 ; PWR7-NEXT: std 4, -16(1)
23443 ; PWR7-NEXT: lxvd2x 34, 0, 3
23444 ; PWR7-NEXT: blr
23448 ; PWR8-NEXT: addis 3, 2, .LCPI186_0@toc@ha
23449 ; PWR8-NEXT: vpopcntd 2, 2
23450 ; PWR8-NEXT: addi 3, 3, .LCPI186_0@toc@l
23451 ; PWR8-NEXT: lxvd2x 35, 0, 3
23452 ; PWR8-NEXT: vcmpgtud 2, 2, 3
23453 ; PWR8-NEXT: blr
23457 ; PWR9-NEXT: addis 3, 2, .LCPI186_0@toc@ha
23458 ; PWR9-NEXT: vpopcntd 2, 2
23459 ; PWR9-NEXT: addi 3, 3, .LCPI186_0@toc@l
23460 ; PWR9-NEXT: lxvx 35, 0, 3
23461 ; PWR9-NEXT: vcmpgtud 2, 2, 3
23462 ; PWR9-NEXT: blr
23472 ; PWR5-NEXT: lis 5, 21845
23473 ; PWR5-NEXT: lis 6, 13107
23474 ; PWR5-NEXT: ori 5, 5, 21845
23475 ; PWR5-NEXT: rotldi 8, 4, 63
23476 ; PWR5-NEXT: rotldi 9, 3, 63
23477 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23478 ; PWR5-NEXT: and 8, 8, 5
23479 ; PWR5-NEXT: and 5, 9, 5
23480 ; PWR5-NEXT: ori 6, 6, 13107
23481 ; PWR5-NEXT: sub 3, 3, 5
23482 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23483 ; PWR5-NEXT: sub 4, 4, 8
23484 ; PWR5-NEXT: and 8, 3, 6
23485 ; PWR5-NEXT: rotldi 3, 3, 62
23486 ; PWR5-NEXT: and 3, 3, 6
23487 ; PWR5-NEXT: lis 7, 3855
23488 ; PWR5-NEXT: and 5, 4, 6
23489 ; PWR5-NEXT: rotldi 4, 4, 62
23490 ; PWR5-NEXT: add 3, 8, 3
23491 ; PWR5-NEXT: lis 9, 257
23492 ; PWR5-NEXT: ori 7, 7, 3855
23493 ; PWR5-NEXT: and 4, 4, 6
23494 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23495 ; PWR5-NEXT: ori 9, 9, 257
23496 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23497 ; PWR5-NEXT: add 4, 5, 4
23498 ; PWR5-NEXT: add 3, 3, 6
23499 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23500 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23501 ; PWR5-NEXT: and 3, 3, 7
23502 ; PWR5-NEXT: add 4, 4, 5
23503 ; PWR5-NEXT: mulld 3, 3, 9
23504 ; PWR5-NEXT: and 4, 4, 7
23505 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23506 ; PWR5-NEXT: li 5, 45
23507 ; PWR5-NEXT: mulld 4, 4, 9
23508 ; PWR5-NEXT: subc 6, 3, 5
23509 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23510 ; PWR5-NEXT: subfe 3, 3, 3
23511 ; PWR5-NEXT: subc 5, 4, 5
23512 ; PWR5-NEXT: subfe 4, 4, 4
23513 ; PWR5-NEXT: blr
23517 ; PWR6-NEXT: lis 5, 21845
23518 ; PWR6-NEXT: lis 6, 13107
23519 ; PWR6-NEXT: ori 5, 5, 21845
23520 ; PWR6-NEXT: rotldi 8, 4, 63
23521 ; PWR6-NEXT: rotldi 9, 3, 63
23522 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23523 ; PWR6-NEXT: and 8, 8, 5
23524 ; PWR6-NEXT: and 5, 9, 5
23525 ; PWR6-NEXT: ori 6, 6, 13107
23526 ; PWR6-NEXT: sub 3, 3, 5
23527 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23528 ; PWR6-NEXT: sub 4, 4, 8
23529 ; PWR6-NEXT: and 8, 3, 6
23530 ; PWR6-NEXT: rotldi 3, 3, 62
23531 ; PWR6-NEXT: and 3, 3, 6
23532 ; PWR6-NEXT: lis 7, 3855
23533 ; PWR6-NEXT: and 5, 4, 6
23534 ; PWR6-NEXT: rotldi 4, 4, 62
23535 ; PWR6-NEXT: add 3, 8, 3
23536 ; PWR6-NEXT: lis 9, 257
23537 ; PWR6-NEXT: ori 7, 7, 3855
23538 ; PWR6-NEXT: and 4, 4, 6
23539 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23540 ; PWR6-NEXT: ori 9, 9, 257
23541 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23542 ; PWR6-NEXT: add 4, 5, 4
23543 ; PWR6-NEXT: add 3, 3, 6
23544 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23545 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23546 ; PWR6-NEXT: and 3, 3, 7
23547 ; PWR6-NEXT: add 4, 4, 5
23548 ; PWR6-NEXT: mulld 3, 3, 9
23549 ; PWR6-NEXT: and 4, 4, 7
23550 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23551 ; PWR6-NEXT: li 5, 45
23552 ; PWR6-NEXT: mulld 4, 4, 9
23553 ; PWR6-NEXT: subc 6, 3, 5
23554 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23555 ; PWR6-NEXT: subfe 3, 3, 3
23556 ; PWR6-NEXT: subc 5, 4, 5
23557 ; PWR6-NEXT: subfe 4, 4, 4
23558 ; PWR6-NEXT: blr
23562 ; PWR7-NEXT: addi 3, 1, -32
23563 ; PWR7-NEXT: li 5, 0
23564 ; PWR7-NEXT: li 6, -1
23565 ; PWR7-NEXT: stxvd2x 34, 0, 3
23566 ; PWR7-NEXT: ld 3, -24(1)
23567 ; PWR7-NEXT: ld 4, -32(1)
23568 ; PWR7-NEXT: popcntd 3, 3
23569 ; PWR7-NEXT: popcntd 4, 4
23570 ; PWR7-NEXT: cmpldi 3, 45
23571 ; PWR7-NEXT: isellt 3, 6, 5
23572 ; PWR7-NEXT: cmpldi 4, 45
23573 ; PWR7-NEXT: isellt 4, 6, 5
23574 ; PWR7-NEXT: std 3, -8(1)
23575 ; PWR7-NEXT: addi 3, 1, -16
23576 ; PWR7-NEXT: std 4, -16(1)
23577 ; PWR7-NEXT: lxvd2x 34, 0, 3
23578 ; PWR7-NEXT: blr
23582 ; PWR8-NEXT: addis 3, 2, .LCPI187_0@toc@ha
23583 ; PWR8-NEXT: vpopcntd 2, 2
23584 ; PWR8-NEXT: addi 3, 3, .LCPI187_0@toc@l
23585 ; PWR8-NEXT: lxvd2x 35, 0, 3
23586 ; PWR8-NEXT: vcmpgtud 2, 3, 2
23587 ; PWR8-NEXT: blr
23591 ; PWR9-NEXT: addis 3, 2, .LCPI187_0@toc@ha
23592 ; PWR9-NEXT: vpopcntd 2, 2
23593 ; PWR9-NEXT: addi 3, 3, .LCPI187_0@toc@l
23594 ; PWR9-NEXT: lxvx 35, 0, 3
23595 ; PWR9-NEXT: vcmpgtud 2, 3, 2
23596 ; PWR9-NEXT: blr
23606 ; PWR5-NEXT: lis 5, 21845
23607 ; PWR5-NEXT: lis 6, 13107
23608 ; PWR5-NEXT: ori 5, 5, 21845
23609 ; PWR5-NEXT: rotldi 8, 4, 63
23610 ; PWR5-NEXT: rotldi 9, 3, 63
23611 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23612 ; PWR5-NEXT: and 8, 8, 5
23613 ; PWR5-NEXT: and 5, 9, 5
23614 ; PWR5-NEXT: ori 6, 6, 13107
23615 ; PWR5-NEXT: sub 3, 3, 5
23616 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23617 ; PWR5-NEXT: sub 4, 4, 8
23618 ; PWR5-NEXT: and 8, 3, 6
23619 ; PWR5-NEXT: rotldi 3, 3, 62
23620 ; PWR5-NEXT: and 3, 3, 6
23621 ; PWR5-NEXT: lis 7, 3855
23622 ; PWR5-NEXT: and 5, 4, 6
23623 ; PWR5-NEXT: rotldi 4, 4, 62
23624 ; PWR5-NEXT: add 3, 8, 3
23625 ; PWR5-NEXT: lis 9, 257
23626 ; PWR5-NEXT: ori 7, 7, 3855
23627 ; PWR5-NEXT: and 4, 4, 6
23628 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23629 ; PWR5-NEXT: ori 9, 9, 257
23630 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23631 ; PWR5-NEXT: add 4, 5, 4
23632 ; PWR5-NEXT: add 3, 3, 6
23633 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23634 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23635 ; PWR5-NEXT: and 3, 3, 7
23636 ; PWR5-NEXT: add 4, 4, 5
23637 ; PWR5-NEXT: mulld 3, 3, 9
23638 ; PWR5-NEXT: and 4, 4, 7
23639 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23640 ; PWR5-NEXT: mulld 4, 4, 9
23641 ; PWR5-NEXT: li 5, 45
23642 ; PWR5-NEXT: subfic 3, 3, 45
23643 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23644 ; PWR5-NEXT: subfe 3, 5, 5
23645 ; PWR5-NEXT: subfic 4, 4, 45
23646 ; PWR5-NEXT: subfe 4, 5, 5
23647 ; PWR5-NEXT: blr
23651 ; PWR6-NEXT: lis 5, 21845
23652 ; PWR6-NEXT: lis 6, 13107
23653 ; PWR6-NEXT: ori 5, 5, 21845
23654 ; PWR6-NEXT: rotldi 8, 4, 63
23655 ; PWR6-NEXT: rotldi 9, 3, 63
23656 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23657 ; PWR6-NEXT: and 8, 8, 5
23658 ; PWR6-NEXT: and 5, 9, 5
23659 ; PWR6-NEXT: ori 6, 6, 13107
23660 ; PWR6-NEXT: sub 3, 3, 5
23661 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23662 ; PWR6-NEXT: sub 4, 4, 8
23663 ; PWR6-NEXT: and 8, 3, 6
23664 ; PWR6-NEXT: rotldi 3, 3, 62
23665 ; PWR6-NEXT: and 3, 3, 6
23666 ; PWR6-NEXT: lis 7, 3855
23667 ; PWR6-NEXT: and 5, 4, 6
23668 ; PWR6-NEXT: rotldi 4, 4, 62
23669 ; PWR6-NEXT: add 3, 8, 3
23670 ; PWR6-NEXT: lis 9, 257
23671 ; PWR6-NEXT: ori 7, 7, 3855
23672 ; PWR6-NEXT: and 4, 4, 6
23673 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23674 ; PWR6-NEXT: ori 9, 9, 257
23675 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23676 ; PWR6-NEXT: add 4, 5, 4
23677 ; PWR6-NEXT: add 3, 3, 6
23678 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23679 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23680 ; PWR6-NEXT: and 3, 3, 7
23681 ; PWR6-NEXT: add 4, 4, 5
23682 ; PWR6-NEXT: mulld 3, 3, 9
23683 ; PWR6-NEXT: and 4, 4, 7
23684 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23685 ; PWR6-NEXT: mulld 4, 4, 9
23686 ; PWR6-NEXT: li 5, 45
23687 ; PWR6-NEXT: subfic 3, 3, 45
23688 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23689 ; PWR6-NEXT: subfe 3, 5, 5
23690 ; PWR6-NEXT: subfic 4, 4, 45
23691 ; PWR6-NEXT: subfe 4, 5, 5
23692 ; PWR6-NEXT: blr
23696 ; PWR7-NEXT: addi 3, 1, -32
23697 ; PWR7-NEXT: li 5, 0
23698 ; PWR7-NEXT: li 6, -1
23699 ; PWR7-NEXT: stxvd2x 34, 0, 3
23700 ; PWR7-NEXT: ld 3, -24(1)
23701 ; PWR7-NEXT: ld 4, -32(1)
23702 ; PWR7-NEXT: popcntd 3, 3
23703 ; PWR7-NEXT: popcntd 4, 4
23704 ; PWR7-NEXT: cmpldi 3, 45
23705 ; PWR7-NEXT: iselgt 3, 6, 5
23706 ; PWR7-NEXT: cmpldi 4, 45
23707 ; PWR7-NEXT: iselgt 4, 6, 5
23708 ; PWR7-NEXT: std 3, -8(1)
23709 ; PWR7-NEXT: addi 3, 1, -16
23710 ; PWR7-NEXT: std 4, -16(1)
23711 ; PWR7-NEXT: lxvd2x 34, 0, 3
23712 ; PWR7-NEXT: blr
23716 ; PWR8-NEXT: addis 3, 2, .LCPI188_0@toc@ha
23717 ; PWR8-NEXT: vpopcntd 2, 2
23718 ; PWR8-NEXT: addi 3, 3, .LCPI188_0@toc@l
23719 ; PWR8-NEXT: lxvd2x 35, 0, 3
23720 ; PWR8-NEXT: vcmpgtud 2, 2, 3
23721 ; PWR8-NEXT: blr
23725 ; PWR9-NEXT: addis 3, 2, .LCPI188_0@toc@ha
23726 ; PWR9-NEXT: vpopcntd 2, 2
23727 ; PWR9-NEXT: addi 3, 3, .LCPI188_0@toc@l
23728 ; PWR9-NEXT: lxvx 35, 0, 3
23729 ; PWR9-NEXT: vcmpgtud 2, 2, 3
23730 ; PWR9-NEXT: blr
23740 ; PWR5-NEXT: lis 5, 21845
23741 ; PWR5-NEXT: lis 6, 13107
23742 ; PWR5-NEXT: ori 5, 5, 21845
23743 ; PWR5-NEXT: rotldi 8, 4, 63
23744 ; PWR5-NEXT: rotldi 9, 3, 63
23745 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23746 ; PWR5-NEXT: and 8, 8, 5
23747 ; PWR5-NEXT: and 5, 9, 5
23748 ; PWR5-NEXT: ori 6, 6, 13107
23749 ; PWR5-NEXT: sub 3, 3, 5
23750 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23751 ; PWR5-NEXT: sub 4, 4, 8
23752 ; PWR5-NEXT: and 8, 3, 6
23753 ; PWR5-NEXT: rotldi 3, 3, 62
23754 ; PWR5-NEXT: and 3, 3, 6
23755 ; PWR5-NEXT: lis 7, 3855
23756 ; PWR5-NEXT: and 5, 4, 6
23757 ; PWR5-NEXT: rotldi 4, 4, 62
23758 ; PWR5-NEXT: add 3, 8, 3
23759 ; PWR5-NEXT: lis 9, 257
23760 ; PWR5-NEXT: ori 7, 7, 3855
23761 ; PWR5-NEXT: and 4, 4, 6
23762 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23763 ; PWR5-NEXT: ori 9, 9, 257
23764 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23765 ; PWR5-NEXT: add 4, 5, 4
23766 ; PWR5-NEXT: add 3, 3, 6
23767 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23768 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23769 ; PWR5-NEXT: and 3, 3, 7
23770 ; PWR5-NEXT: add 4, 4, 5
23771 ; PWR5-NEXT: mulld 3, 3, 9
23772 ; PWR5-NEXT: and 4, 4, 7
23773 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23774 ; PWR5-NEXT: li 5, 46
23775 ; PWR5-NEXT: mulld 4, 4, 9
23776 ; PWR5-NEXT: subc 6, 3, 5
23777 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23778 ; PWR5-NEXT: subfe 3, 3, 3
23779 ; PWR5-NEXT: subc 5, 4, 5
23780 ; PWR5-NEXT: subfe 4, 4, 4
23781 ; PWR5-NEXT: blr
23785 ; PWR6-NEXT: lis 5, 21845
23786 ; PWR6-NEXT: lis 6, 13107
23787 ; PWR6-NEXT: ori 5, 5, 21845
23788 ; PWR6-NEXT: rotldi 8, 4, 63
23789 ; PWR6-NEXT: rotldi 9, 3, 63
23790 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23791 ; PWR6-NEXT: and 8, 8, 5
23792 ; PWR6-NEXT: and 5, 9, 5
23793 ; PWR6-NEXT: ori 6, 6, 13107
23794 ; PWR6-NEXT: sub 3, 3, 5
23795 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23796 ; PWR6-NEXT: sub 4, 4, 8
23797 ; PWR6-NEXT: and 8, 3, 6
23798 ; PWR6-NEXT: rotldi 3, 3, 62
23799 ; PWR6-NEXT: and 3, 3, 6
23800 ; PWR6-NEXT: lis 7, 3855
23801 ; PWR6-NEXT: and 5, 4, 6
23802 ; PWR6-NEXT: rotldi 4, 4, 62
23803 ; PWR6-NEXT: add 3, 8, 3
23804 ; PWR6-NEXT: lis 9, 257
23805 ; PWR6-NEXT: ori 7, 7, 3855
23806 ; PWR6-NEXT: and 4, 4, 6
23807 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23808 ; PWR6-NEXT: ori 9, 9, 257
23809 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23810 ; PWR6-NEXT: add 4, 5, 4
23811 ; PWR6-NEXT: add 3, 3, 6
23812 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23813 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23814 ; PWR6-NEXT: and 3, 3, 7
23815 ; PWR6-NEXT: add 4, 4, 5
23816 ; PWR6-NEXT: mulld 3, 3, 9
23817 ; PWR6-NEXT: and 4, 4, 7
23818 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23819 ; PWR6-NEXT: li 5, 46
23820 ; PWR6-NEXT: mulld 4, 4, 9
23821 ; PWR6-NEXT: subc 6, 3, 5
23822 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23823 ; PWR6-NEXT: subfe 3, 3, 3
23824 ; PWR6-NEXT: subc 5, 4, 5
23825 ; PWR6-NEXT: subfe 4, 4, 4
23826 ; PWR6-NEXT: blr
23830 ; PWR7-NEXT: addi 3, 1, -32
23831 ; PWR7-NEXT: li 5, 0
23832 ; PWR7-NEXT: li 6, -1
23833 ; PWR7-NEXT: stxvd2x 34, 0, 3
23834 ; PWR7-NEXT: ld 3, -24(1)
23835 ; PWR7-NEXT: ld 4, -32(1)
23836 ; PWR7-NEXT: popcntd 3, 3
23837 ; PWR7-NEXT: popcntd 4, 4
23838 ; PWR7-NEXT: cmpldi 3, 46
23839 ; PWR7-NEXT: isellt 3, 6, 5
23840 ; PWR7-NEXT: cmpldi 4, 46
23841 ; PWR7-NEXT: isellt 4, 6, 5
23842 ; PWR7-NEXT: std 3, -8(1)
23843 ; PWR7-NEXT: addi 3, 1, -16
23844 ; PWR7-NEXT: std 4, -16(1)
23845 ; PWR7-NEXT: lxvd2x 34, 0, 3
23846 ; PWR7-NEXT: blr
23850 ; PWR8-NEXT: addis 3, 2, .LCPI189_0@toc@ha
23851 ; PWR8-NEXT: vpopcntd 2, 2
23852 ; PWR8-NEXT: addi 3, 3, .LCPI189_0@toc@l
23853 ; PWR8-NEXT: lxvd2x 35, 0, 3
23854 ; PWR8-NEXT: vcmpgtud 2, 3, 2
23855 ; PWR8-NEXT: blr
23859 ; PWR9-NEXT: addis 3, 2, .LCPI189_0@toc@ha
23860 ; PWR9-NEXT: vpopcntd 2, 2
23861 ; PWR9-NEXT: addi 3, 3, .LCPI189_0@toc@l
23862 ; PWR9-NEXT: lxvx 35, 0, 3
23863 ; PWR9-NEXT: vcmpgtud 2, 3, 2
23864 ; PWR9-NEXT: blr
23874 ; PWR5-NEXT: lis 5, 21845
23875 ; PWR5-NEXT: lis 6, 13107
23876 ; PWR5-NEXT: ori 5, 5, 21845
23877 ; PWR5-NEXT: rotldi 8, 4, 63
23878 ; PWR5-NEXT: rotldi 9, 3, 63
23879 ; PWR5-NEXT: rldimi 5, 5, 32, 0
23880 ; PWR5-NEXT: and 8, 8, 5
23881 ; PWR5-NEXT: and 5, 9, 5
23882 ; PWR5-NEXT: ori 6, 6, 13107
23883 ; PWR5-NEXT: sub 3, 3, 5
23884 ; PWR5-NEXT: rldimi 6, 6, 32, 0
23885 ; PWR5-NEXT: sub 4, 4, 8
23886 ; PWR5-NEXT: and 8, 3, 6
23887 ; PWR5-NEXT: rotldi 3, 3, 62
23888 ; PWR5-NEXT: and 3, 3, 6
23889 ; PWR5-NEXT: lis 7, 3855
23890 ; PWR5-NEXT: and 5, 4, 6
23891 ; PWR5-NEXT: rotldi 4, 4, 62
23892 ; PWR5-NEXT: add 3, 8, 3
23893 ; PWR5-NEXT: lis 9, 257
23894 ; PWR5-NEXT: ori 7, 7, 3855
23895 ; PWR5-NEXT: and 4, 4, 6
23896 ; PWR5-NEXT: rldicl 6, 3, 60, 4
23897 ; PWR5-NEXT: ori 9, 9, 257
23898 ; PWR5-NEXT: rldimi 7, 7, 32, 0
23899 ; PWR5-NEXT: add 4, 5, 4
23900 ; PWR5-NEXT: add 3, 3, 6
23901 ; PWR5-NEXT: rldimi 9, 9, 32, 0
23902 ; PWR5-NEXT: rldicl 5, 4, 60, 4
23903 ; PWR5-NEXT: and 3, 3, 7
23904 ; PWR5-NEXT: add 4, 4, 5
23905 ; PWR5-NEXT: mulld 3, 3, 9
23906 ; PWR5-NEXT: and 4, 4, 7
23907 ; PWR5-NEXT: rldicl 3, 3, 8, 56
23908 ; PWR5-NEXT: mulld 4, 4, 9
23909 ; PWR5-NEXT: li 5, 46
23910 ; PWR5-NEXT: subfic 3, 3, 46
23911 ; PWR5-NEXT: rldicl 4, 4, 8, 56
23912 ; PWR5-NEXT: subfe 3, 5, 5
23913 ; PWR5-NEXT: subfic 4, 4, 46
23914 ; PWR5-NEXT: subfe 4, 5, 5
23915 ; PWR5-NEXT: blr
23919 ; PWR6-NEXT: lis 5, 21845
23920 ; PWR6-NEXT: lis 6, 13107
23921 ; PWR6-NEXT: ori 5, 5, 21845
23922 ; PWR6-NEXT: rotldi 8, 4, 63
23923 ; PWR6-NEXT: rotldi 9, 3, 63
23924 ; PWR6-NEXT: rldimi 5, 5, 32, 0
23925 ; PWR6-NEXT: and 8, 8, 5
23926 ; PWR6-NEXT: and 5, 9, 5
23927 ; PWR6-NEXT: ori 6, 6, 13107
23928 ; PWR6-NEXT: sub 3, 3, 5
23929 ; PWR6-NEXT: rldimi 6, 6, 32, 0
23930 ; PWR6-NEXT: sub 4, 4, 8
23931 ; PWR6-NEXT: and 8, 3, 6
23932 ; PWR6-NEXT: rotldi 3, 3, 62
23933 ; PWR6-NEXT: and 3, 3, 6
23934 ; PWR6-NEXT: lis 7, 3855
23935 ; PWR6-NEXT: and 5, 4, 6
23936 ; PWR6-NEXT: rotldi 4, 4, 62
23937 ; PWR6-NEXT: add 3, 8, 3
23938 ; PWR6-NEXT: lis 9, 257
23939 ; PWR6-NEXT: ori 7, 7, 3855
23940 ; PWR6-NEXT: and 4, 4, 6
23941 ; PWR6-NEXT: rldicl 6, 3, 60, 4
23942 ; PWR6-NEXT: ori 9, 9, 257
23943 ; PWR6-NEXT: rldimi 7, 7, 32, 0
23944 ; PWR6-NEXT: add 4, 5, 4
23945 ; PWR6-NEXT: add 3, 3, 6
23946 ; PWR6-NEXT: rldimi 9, 9, 32, 0
23947 ; PWR6-NEXT: rldicl 5, 4, 60, 4
23948 ; PWR6-NEXT: and 3, 3, 7
23949 ; PWR6-NEXT: add 4, 4, 5
23950 ; PWR6-NEXT: mulld 3, 3, 9
23951 ; PWR6-NEXT: and 4, 4, 7
23952 ; PWR6-NEXT: rldicl 3, 3, 8, 56
23953 ; PWR6-NEXT: mulld 4, 4, 9
23954 ; PWR6-NEXT: li 5, 46
23955 ; PWR6-NEXT: subfic 3, 3, 46
23956 ; PWR6-NEXT: rldicl 4, 4, 8, 56
23957 ; PWR6-NEXT: subfe 3, 5, 5
23958 ; PWR6-NEXT: subfic 4, 4, 46
23959 ; PWR6-NEXT: subfe 4, 5, 5
23960 ; PWR6-NEXT: blr
23964 ; PWR7-NEXT: addi 3, 1, -32
23965 ; PWR7-NEXT: li 5, 0
23966 ; PWR7-NEXT: li 6, -1
23967 ; PWR7-NEXT: stxvd2x 34, 0, 3
23968 ; PWR7-NEXT: ld 3, -24(1)
23969 ; PWR7-NEXT: ld 4, -32(1)
23970 ; PWR7-NEXT: popcntd 3, 3
23971 ; PWR7-NEXT: popcntd 4, 4
23972 ; PWR7-NEXT: cmpldi 3, 46
23973 ; PWR7-NEXT: iselgt 3, 6, 5
23974 ; PWR7-NEXT: cmpldi 4, 46
23975 ; PWR7-NEXT: iselgt 4, 6, 5
23976 ; PWR7-NEXT: std 3, -8(1)
23977 ; PWR7-NEXT: addi 3, 1, -16
23978 ; PWR7-NEXT: std 4, -16(1)
23979 ; PWR7-NEXT: lxvd2x 34, 0, 3
23980 ; PWR7-NEXT: blr
23984 ; PWR8-NEXT: addis 3, 2, .LCPI190_0@toc@ha
23985 ; PWR8-NEXT: vpopcntd 2, 2
23986 ; PWR8-NEXT: addi 3, 3, .LCPI190_0@toc@l
23987 ; PWR8-NEXT: lxvd2x 35, 0, 3
23988 ; PWR8-NEXT: vcmpgtud 2, 2, 3
23989 ; PWR8-NEXT: blr
23993 ; PWR9-NEXT: addis 3, 2, .LCPI190_0@toc@ha
23994 ; PWR9-NEXT: vpopcntd 2, 2
23995 ; PWR9-NEXT: addi 3, 3, .LCPI190_0@toc@l
23996 ; PWR9-NEXT: lxvx 35, 0, 3
23997 ; PWR9-NEXT: vcmpgtud 2, 2, 3
23998 ; PWR9-NEXT: blr
24008 ; PWR5-NEXT: lis 5, 21845
24009 ; PWR5-NEXT: lis 6, 13107
24010 ; PWR5-NEXT: ori 5, 5, 21845
24011 ; PWR5-NEXT: rotldi 8, 4, 63
24012 ; PWR5-NEXT: rotldi 9, 3, 63
24013 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24014 ; PWR5-NEXT: and 8, 8, 5
24015 ; PWR5-NEXT: and 5, 9, 5
24016 ; PWR5-NEXT: ori 6, 6, 13107
24017 ; PWR5-NEXT: sub 3, 3, 5
24018 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24019 ; PWR5-NEXT: sub 4, 4, 8
24020 ; PWR5-NEXT: and 8, 3, 6
24021 ; PWR5-NEXT: rotldi 3, 3, 62
24022 ; PWR5-NEXT: and 3, 3, 6
24023 ; PWR5-NEXT: lis 7, 3855
24024 ; PWR5-NEXT: and 5, 4, 6
24025 ; PWR5-NEXT: rotldi 4, 4, 62
24026 ; PWR5-NEXT: add 3, 8, 3
24027 ; PWR5-NEXT: lis 9, 257
24028 ; PWR5-NEXT: ori 7, 7, 3855
24029 ; PWR5-NEXT: and 4, 4, 6
24030 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24031 ; PWR5-NEXT: ori 9, 9, 257
24032 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24033 ; PWR5-NEXT: add 4, 5, 4
24034 ; PWR5-NEXT: add 3, 3, 6
24035 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24036 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24037 ; PWR5-NEXT: and 3, 3, 7
24038 ; PWR5-NEXT: add 4, 4, 5
24039 ; PWR5-NEXT: mulld 3, 3, 9
24040 ; PWR5-NEXT: and 4, 4, 7
24041 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24042 ; PWR5-NEXT: li 5, 47
24043 ; PWR5-NEXT: mulld 4, 4, 9
24044 ; PWR5-NEXT: subc 6, 3, 5
24045 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24046 ; PWR5-NEXT: subfe 3, 3, 3
24047 ; PWR5-NEXT: subc 5, 4, 5
24048 ; PWR5-NEXT: subfe 4, 4, 4
24049 ; PWR5-NEXT: blr
24053 ; PWR6-NEXT: lis 5, 21845
24054 ; PWR6-NEXT: lis 6, 13107
24055 ; PWR6-NEXT: ori 5, 5, 21845
24056 ; PWR6-NEXT: rotldi 8, 4, 63
24057 ; PWR6-NEXT: rotldi 9, 3, 63
24058 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24059 ; PWR6-NEXT: and 8, 8, 5
24060 ; PWR6-NEXT: and 5, 9, 5
24061 ; PWR6-NEXT: ori 6, 6, 13107
24062 ; PWR6-NEXT: sub 3, 3, 5
24063 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24064 ; PWR6-NEXT: sub 4, 4, 8
24065 ; PWR6-NEXT: and 8, 3, 6
24066 ; PWR6-NEXT: rotldi 3, 3, 62
24067 ; PWR6-NEXT: and 3, 3, 6
24068 ; PWR6-NEXT: lis 7, 3855
24069 ; PWR6-NEXT: and 5, 4, 6
24070 ; PWR6-NEXT: rotldi 4, 4, 62
24071 ; PWR6-NEXT: add 3, 8, 3
24072 ; PWR6-NEXT: lis 9, 257
24073 ; PWR6-NEXT: ori 7, 7, 3855
24074 ; PWR6-NEXT: and 4, 4, 6
24075 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24076 ; PWR6-NEXT: ori 9, 9, 257
24077 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24078 ; PWR6-NEXT: add 4, 5, 4
24079 ; PWR6-NEXT: add 3, 3, 6
24080 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24081 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24082 ; PWR6-NEXT: and 3, 3, 7
24083 ; PWR6-NEXT: add 4, 4, 5
24084 ; PWR6-NEXT: mulld 3, 3, 9
24085 ; PWR6-NEXT: and 4, 4, 7
24086 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24087 ; PWR6-NEXT: li 5, 47
24088 ; PWR6-NEXT: mulld 4, 4, 9
24089 ; PWR6-NEXT: subc 6, 3, 5
24090 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24091 ; PWR6-NEXT: subfe 3, 3, 3
24092 ; PWR6-NEXT: subc 5, 4, 5
24093 ; PWR6-NEXT: subfe 4, 4, 4
24094 ; PWR6-NEXT: blr
24098 ; PWR7-NEXT: addi 3, 1, -32
24099 ; PWR7-NEXT: li 5, 0
24100 ; PWR7-NEXT: li 6, -1
24101 ; PWR7-NEXT: stxvd2x 34, 0, 3
24102 ; PWR7-NEXT: ld 3, -24(1)
24103 ; PWR7-NEXT: ld 4, -32(1)
24104 ; PWR7-NEXT: popcntd 3, 3
24105 ; PWR7-NEXT: popcntd 4, 4
24106 ; PWR7-NEXT: cmpldi 3, 47
24107 ; PWR7-NEXT: isellt 3, 6, 5
24108 ; PWR7-NEXT: cmpldi 4, 47
24109 ; PWR7-NEXT: isellt 4, 6, 5
24110 ; PWR7-NEXT: std 3, -8(1)
24111 ; PWR7-NEXT: addi 3, 1, -16
24112 ; PWR7-NEXT: std 4, -16(1)
24113 ; PWR7-NEXT: lxvd2x 34, 0, 3
24114 ; PWR7-NEXT: blr
24118 ; PWR8-NEXT: addis 3, 2, .LCPI191_0@toc@ha
24119 ; PWR8-NEXT: vpopcntd 2, 2
24120 ; PWR8-NEXT: addi 3, 3, .LCPI191_0@toc@l
24121 ; PWR8-NEXT: lxvd2x 35, 0, 3
24122 ; PWR8-NEXT: vcmpgtud 2, 3, 2
24123 ; PWR8-NEXT: blr
24127 ; PWR9-NEXT: addis 3, 2, .LCPI191_0@toc@ha
24128 ; PWR9-NEXT: vpopcntd 2, 2
24129 ; PWR9-NEXT: addi 3, 3, .LCPI191_0@toc@l
24130 ; PWR9-NEXT: lxvx 35, 0, 3
24131 ; PWR9-NEXT: vcmpgtud 2, 3, 2
24132 ; PWR9-NEXT: blr
24142 ; PWR5-NEXT: lis 5, 21845
24143 ; PWR5-NEXT: lis 6, 13107
24144 ; PWR5-NEXT: ori 5, 5, 21845
24145 ; PWR5-NEXT: rotldi 8, 4, 63
24146 ; PWR5-NEXT: rotldi 9, 3, 63
24147 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24148 ; PWR5-NEXT: and 8, 8, 5
24149 ; PWR5-NEXT: and 5, 9, 5
24150 ; PWR5-NEXT: ori 6, 6, 13107
24151 ; PWR5-NEXT: sub 3, 3, 5
24152 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24153 ; PWR5-NEXT: sub 4, 4, 8
24154 ; PWR5-NEXT: and 8, 3, 6
24155 ; PWR5-NEXT: rotldi 3, 3, 62
24156 ; PWR5-NEXT: and 3, 3, 6
24157 ; PWR5-NEXT: lis 7, 3855
24158 ; PWR5-NEXT: and 5, 4, 6
24159 ; PWR5-NEXT: rotldi 4, 4, 62
24160 ; PWR5-NEXT: add 3, 8, 3
24161 ; PWR5-NEXT: lis 9, 257
24162 ; PWR5-NEXT: ori 7, 7, 3855
24163 ; PWR5-NEXT: and 4, 4, 6
24164 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24165 ; PWR5-NEXT: ori 9, 9, 257
24166 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24167 ; PWR5-NEXT: add 4, 5, 4
24168 ; PWR5-NEXT: add 3, 3, 6
24169 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24170 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24171 ; PWR5-NEXT: and 3, 3, 7
24172 ; PWR5-NEXT: add 4, 4, 5
24173 ; PWR5-NEXT: mulld 3, 3, 9
24174 ; PWR5-NEXT: and 4, 4, 7
24175 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24176 ; PWR5-NEXT: mulld 4, 4, 9
24177 ; PWR5-NEXT: li 5, 47
24178 ; PWR5-NEXT: subfic 3, 3, 47
24179 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24180 ; PWR5-NEXT: subfe 3, 5, 5
24181 ; PWR5-NEXT: subfic 4, 4, 47
24182 ; PWR5-NEXT: subfe 4, 5, 5
24183 ; PWR5-NEXT: blr
24187 ; PWR6-NEXT: lis 5, 21845
24188 ; PWR6-NEXT: lis 6, 13107
24189 ; PWR6-NEXT: ori 5, 5, 21845
24190 ; PWR6-NEXT: rotldi 8, 4, 63
24191 ; PWR6-NEXT: rotldi 9, 3, 63
24192 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24193 ; PWR6-NEXT: and 8, 8, 5
24194 ; PWR6-NEXT: and 5, 9, 5
24195 ; PWR6-NEXT: ori 6, 6, 13107
24196 ; PWR6-NEXT: sub 3, 3, 5
24197 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24198 ; PWR6-NEXT: sub 4, 4, 8
24199 ; PWR6-NEXT: and 8, 3, 6
24200 ; PWR6-NEXT: rotldi 3, 3, 62
24201 ; PWR6-NEXT: and 3, 3, 6
24202 ; PWR6-NEXT: lis 7, 3855
24203 ; PWR6-NEXT: and 5, 4, 6
24204 ; PWR6-NEXT: rotldi 4, 4, 62
24205 ; PWR6-NEXT: add 3, 8, 3
24206 ; PWR6-NEXT: lis 9, 257
24207 ; PWR6-NEXT: ori 7, 7, 3855
24208 ; PWR6-NEXT: and 4, 4, 6
24209 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24210 ; PWR6-NEXT: ori 9, 9, 257
24211 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24212 ; PWR6-NEXT: add 4, 5, 4
24213 ; PWR6-NEXT: add 3, 3, 6
24214 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24215 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24216 ; PWR6-NEXT: and 3, 3, 7
24217 ; PWR6-NEXT: add 4, 4, 5
24218 ; PWR6-NEXT: mulld 3, 3, 9
24219 ; PWR6-NEXT: and 4, 4, 7
24220 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24221 ; PWR6-NEXT: mulld 4, 4, 9
24222 ; PWR6-NEXT: li 5, 47
24223 ; PWR6-NEXT: subfic 3, 3, 47
24224 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24225 ; PWR6-NEXT: subfe 3, 5, 5
24226 ; PWR6-NEXT: subfic 4, 4, 47
24227 ; PWR6-NEXT: subfe 4, 5, 5
24228 ; PWR6-NEXT: blr
24232 ; PWR7-NEXT: addi 3, 1, -32
24233 ; PWR7-NEXT: li 5, 0
24234 ; PWR7-NEXT: li 6, -1
24235 ; PWR7-NEXT: stxvd2x 34, 0, 3
24236 ; PWR7-NEXT: ld 3, -24(1)
24237 ; PWR7-NEXT: ld 4, -32(1)
24238 ; PWR7-NEXT: popcntd 3, 3
24239 ; PWR7-NEXT: popcntd 4, 4
24240 ; PWR7-NEXT: cmpldi 3, 47
24241 ; PWR7-NEXT: iselgt 3, 6, 5
24242 ; PWR7-NEXT: cmpldi 4, 47
24243 ; PWR7-NEXT: iselgt 4, 6, 5
24244 ; PWR7-NEXT: std 3, -8(1)
24245 ; PWR7-NEXT: addi 3, 1, -16
24246 ; PWR7-NEXT: std 4, -16(1)
24247 ; PWR7-NEXT: lxvd2x 34, 0, 3
24248 ; PWR7-NEXT: blr
24252 ; PWR8-NEXT: addis 3, 2, .LCPI192_0@toc@ha
24253 ; PWR8-NEXT: vpopcntd 2, 2
24254 ; PWR8-NEXT: addi 3, 3, .LCPI192_0@toc@l
24255 ; PWR8-NEXT: lxvd2x 35, 0, 3
24256 ; PWR8-NEXT: vcmpgtud 2, 2, 3
24257 ; PWR8-NEXT: blr
24261 ; PWR9-NEXT: addis 3, 2, .LCPI192_0@toc@ha
24262 ; PWR9-NEXT: vpopcntd 2, 2
24263 ; PWR9-NEXT: addi 3, 3, .LCPI192_0@toc@l
24264 ; PWR9-NEXT: lxvx 35, 0, 3
24265 ; PWR9-NEXT: vcmpgtud 2, 2, 3
24266 ; PWR9-NEXT: blr
24276 ; PWR5-NEXT: lis 5, 21845
24277 ; PWR5-NEXT: lis 6, 13107
24278 ; PWR5-NEXT: ori 5, 5, 21845
24279 ; PWR5-NEXT: rotldi 8, 4, 63
24280 ; PWR5-NEXT: rotldi 9, 3, 63
24281 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24282 ; PWR5-NEXT: and 8, 8, 5
24283 ; PWR5-NEXT: and 5, 9, 5
24284 ; PWR5-NEXT: ori 6, 6, 13107
24285 ; PWR5-NEXT: sub 3, 3, 5
24286 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24287 ; PWR5-NEXT: sub 4, 4, 8
24288 ; PWR5-NEXT: and 8, 3, 6
24289 ; PWR5-NEXT: rotldi 3, 3, 62
24290 ; PWR5-NEXT: and 3, 3, 6
24291 ; PWR5-NEXT: lis 7, 3855
24292 ; PWR5-NEXT: and 5, 4, 6
24293 ; PWR5-NEXT: rotldi 4, 4, 62
24294 ; PWR5-NEXT: add 3, 8, 3
24295 ; PWR5-NEXT: lis 9, 257
24296 ; PWR5-NEXT: ori 7, 7, 3855
24297 ; PWR5-NEXT: and 4, 4, 6
24298 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24299 ; PWR5-NEXT: ori 9, 9, 257
24300 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24301 ; PWR5-NEXT: add 4, 5, 4
24302 ; PWR5-NEXT: add 3, 3, 6
24303 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24304 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24305 ; PWR5-NEXT: and 3, 3, 7
24306 ; PWR5-NEXT: add 4, 4, 5
24307 ; PWR5-NEXT: mulld 3, 3, 9
24308 ; PWR5-NEXT: and 4, 4, 7
24309 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24310 ; PWR5-NEXT: li 5, 48
24311 ; PWR5-NEXT: mulld 4, 4, 9
24312 ; PWR5-NEXT: subc 6, 3, 5
24313 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24314 ; PWR5-NEXT: subfe 3, 3, 3
24315 ; PWR5-NEXT: subc 5, 4, 5
24316 ; PWR5-NEXT: subfe 4, 4, 4
24317 ; PWR5-NEXT: blr
24321 ; PWR6-NEXT: lis 5, 21845
24322 ; PWR6-NEXT: lis 6, 13107
24323 ; PWR6-NEXT: ori 5, 5, 21845
24324 ; PWR6-NEXT: rotldi 8, 4, 63
24325 ; PWR6-NEXT: rotldi 9, 3, 63
24326 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24327 ; PWR6-NEXT: and 8, 8, 5
24328 ; PWR6-NEXT: and 5, 9, 5
24329 ; PWR6-NEXT: ori 6, 6, 13107
24330 ; PWR6-NEXT: sub 3, 3, 5
24331 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24332 ; PWR6-NEXT: sub 4, 4, 8
24333 ; PWR6-NEXT: and 8, 3, 6
24334 ; PWR6-NEXT: rotldi 3, 3, 62
24335 ; PWR6-NEXT: and 3, 3, 6
24336 ; PWR6-NEXT: lis 7, 3855
24337 ; PWR6-NEXT: and 5, 4, 6
24338 ; PWR6-NEXT: rotldi 4, 4, 62
24339 ; PWR6-NEXT: add 3, 8, 3
24340 ; PWR6-NEXT: lis 9, 257
24341 ; PWR6-NEXT: ori 7, 7, 3855
24342 ; PWR6-NEXT: and 4, 4, 6
24343 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24344 ; PWR6-NEXT: ori 9, 9, 257
24345 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24346 ; PWR6-NEXT: add 4, 5, 4
24347 ; PWR6-NEXT: add 3, 3, 6
24348 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24349 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24350 ; PWR6-NEXT: and 3, 3, 7
24351 ; PWR6-NEXT: add 4, 4, 5
24352 ; PWR6-NEXT: mulld 3, 3, 9
24353 ; PWR6-NEXT: and 4, 4, 7
24354 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24355 ; PWR6-NEXT: li 5, 48
24356 ; PWR6-NEXT: mulld 4, 4, 9
24357 ; PWR6-NEXT: subc 6, 3, 5
24358 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24359 ; PWR6-NEXT: subfe 3, 3, 3
24360 ; PWR6-NEXT: subc 5, 4, 5
24361 ; PWR6-NEXT: subfe 4, 4, 4
24362 ; PWR6-NEXT: blr
24366 ; PWR7-NEXT: addi 3, 1, -32
24367 ; PWR7-NEXT: li 5, 0
24368 ; PWR7-NEXT: li 6, -1
24369 ; PWR7-NEXT: stxvd2x 34, 0, 3
24370 ; PWR7-NEXT: ld 3, -24(1)
24371 ; PWR7-NEXT: ld 4, -32(1)
24372 ; PWR7-NEXT: popcntd 3, 3
24373 ; PWR7-NEXT: popcntd 4, 4
24374 ; PWR7-NEXT: cmpldi 3, 48
24375 ; PWR7-NEXT: isellt 3, 6, 5
24376 ; PWR7-NEXT: cmpldi 4, 48
24377 ; PWR7-NEXT: isellt 4, 6, 5
24378 ; PWR7-NEXT: std 3, -8(1)
24379 ; PWR7-NEXT: addi 3, 1, -16
24380 ; PWR7-NEXT: std 4, -16(1)
24381 ; PWR7-NEXT: lxvd2x 34, 0, 3
24382 ; PWR7-NEXT: blr
24386 ; PWR8-NEXT: addis 3, 2, .LCPI193_0@toc@ha
24387 ; PWR8-NEXT: vpopcntd 2, 2
24388 ; PWR8-NEXT: addi 3, 3, .LCPI193_0@toc@l
24389 ; PWR8-NEXT: lxvd2x 35, 0, 3
24390 ; PWR8-NEXT: vcmpgtud 2, 3, 2
24391 ; PWR8-NEXT: blr
24395 ; PWR9-NEXT: addis 3, 2, .LCPI193_0@toc@ha
24396 ; PWR9-NEXT: vpopcntd 2, 2
24397 ; PWR9-NEXT: addi 3, 3, .LCPI193_0@toc@l
24398 ; PWR9-NEXT: lxvx 35, 0, 3
24399 ; PWR9-NEXT: vcmpgtud 2, 3, 2
24400 ; PWR9-NEXT: blr
24410 ; PWR5-NEXT: lis 5, 21845
24411 ; PWR5-NEXT: lis 6, 13107
24412 ; PWR5-NEXT: ori 5, 5, 21845
24413 ; PWR5-NEXT: rotldi 8, 4, 63
24414 ; PWR5-NEXT: rotldi 9, 3, 63
24415 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24416 ; PWR5-NEXT: and 8, 8, 5
24417 ; PWR5-NEXT: and 5, 9, 5
24418 ; PWR5-NEXT: ori 6, 6, 13107
24419 ; PWR5-NEXT: sub 3, 3, 5
24420 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24421 ; PWR5-NEXT: sub 4, 4, 8
24422 ; PWR5-NEXT: and 8, 3, 6
24423 ; PWR5-NEXT: rotldi 3, 3, 62
24424 ; PWR5-NEXT: and 3, 3, 6
24425 ; PWR5-NEXT: lis 7, 3855
24426 ; PWR5-NEXT: and 5, 4, 6
24427 ; PWR5-NEXT: rotldi 4, 4, 62
24428 ; PWR5-NEXT: add 3, 8, 3
24429 ; PWR5-NEXT: lis 9, 257
24430 ; PWR5-NEXT: ori 7, 7, 3855
24431 ; PWR5-NEXT: and 4, 4, 6
24432 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24433 ; PWR5-NEXT: ori 9, 9, 257
24434 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24435 ; PWR5-NEXT: add 4, 5, 4
24436 ; PWR5-NEXT: add 3, 3, 6
24437 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24438 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24439 ; PWR5-NEXT: and 3, 3, 7
24440 ; PWR5-NEXT: add 4, 4, 5
24441 ; PWR5-NEXT: mulld 3, 3, 9
24442 ; PWR5-NEXT: and 4, 4, 7
24443 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24444 ; PWR5-NEXT: mulld 4, 4, 9
24445 ; PWR5-NEXT: li 5, 48
24446 ; PWR5-NEXT: subfic 3, 3, 48
24447 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24448 ; PWR5-NEXT: subfe 3, 5, 5
24449 ; PWR5-NEXT: subfic 4, 4, 48
24450 ; PWR5-NEXT: subfe 4, 5, 5
24451 ; PWR5-NEXT: blr
24455 ; PWR6-NEXT: lis 5, 21845
24456 ; PWR6-NEXT: lis 6, 13107
24457 ; PWR6-NEXT: ori 5, 5, 21845
24458 ; PWR6-NEXT: rotldi 8, 4, 63
24459 ; PWR6-NEXT: rotldi 9, 3, 63
24460 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24461 ; PWR6-NEXT: and 8, 8, 5
24462 ; PWR6-NEXT: and 5, 9, 5
24463 ; PWR6-NEXT: ori 6, 6, 13107
24464 ; PWR6-NEXT: sub 3, 3, 5
24465 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24466 ; PWR6-NEXT: sub 4, 4, 8
24467 ; PWR6-NEXT: and 8, 3, 6
24468 ; PWR6-NEXT: rotldi 3, 3, 62
24469 ; PWR6-NEXT: and 3, 3, 6
24470 ; PWR6-NEXT: lis 7, 3855
24471 ; PWR6-NEXT: and 5, 4, 6
24472 ; PWR6-NEXT: rotldi 4, 4, 62
24473 ; PWR6-NEXT: add 3, 8, 3
24474 ; PWR6-NEXT: lis 9, 257
24475 ; PWR6-NEXT: ori 7, 7, 3855
24476 ; PWR6-NEXT: and 4, 4, 6
24477 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24478 ; PWR6-NEXT: ori 9, 9, 257
24479 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24480 ; PWR6-NEXT: add 4, 5, 4
24481 ; PWR6-NEXT: add 3, 3, 6
24482 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24483 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24484 ; PWR6-NEXT: and 3, 3, 7
24485 ; PWR6-NEXT: add 4, 4, 5
24486 ; PWR6-NEXT: mulld 3, 3, 9
24487 ; PWR6-NEXT: and 4, 4, 7
24488 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24489 ; PWR6-NEXT: mulld 4, 4, 9
24490 ; PWR6-NEXT: li 5, 48
24491 ; PWR6-NEXT: subfic 3, 3, 48
24492 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24493 ; PWR6-NEXT: subfe 3, 5, 5
24494 ; PWR6-NEXT: subfic 4, 4, 48
24495 ; PWR6-NEXT: subfe 4, 5, 5
24496 ; PWR6-NEXT: blr
24500 ; PWR7-NEXT: addi 3, 1, -32
24501 ; PWR7-NEXT: li 5, 0
24502 ; PWR7-NEXT: li 6, -1
24503 ; PWR7-NEXT: stxvd2x 34, 0, 3
24504 ; PWR7-NEXT: ld 3, -24(1)
24505 ; PWR7-NEXT: ld 4, -32(1)
24506 ; PWR7-NEXT: popcntd 3, 3
24507 ; PWR7-NEXT: popcntd 4, 4
24508 ; PWR7-NEXT: cmpldi 3, 48
24509 ; PWR7-NEXT: iselgt 3, 6, 5
24510 ; PWR7-NEXT: cmpldi 4, 48
24511 ; PWR7-NEXT: iselgt 4, 6, 5
24512 ; PWR7-NEXT: std 3, -8(1)
24513 ; PWR7-NEXT: addi 3, 1, -16
24514 ; PWR7-NEXT: std 4, -16(1)
24515 ; PWR7-NEXT: lxvd2x 34, 0, 3
24516 ; PWR7-NEXT: blr
24520 ; PWR8-NEXT: addis 3, 2, .LCPI194_0@toc@ha
24521 ; PWR8-NEXT: vpopcntd 2, 2
24522 ; PWR8-NEXT: addi 3, 3, .LCPI194_0@toc@l
24523 ; PWR8-NEXT: lxvd2x 35, 0, 3
24524 ; PWR8-NEXT: vcmpgtud 2, 2, 3
24525 ; PWR8-NEXT: blr
24529 ; PWR9-NEXT: addis 3, 2, .LCPI194_0@toc@ha
24530 ; PWR9-NEXT: vpopcntd 2, 2
24531 ; PWR9-NEXT: addi 3, 3, .LCPI194_0@toc@l
24532 ; PWR9-NEXT: lxvx 35, 0, 3
24533 ; PWR9-NEXT: vcmpgtud 2, 2, 3
24534 ; PWR9-NEXT: blr
24544 ; PWR5-NEXT: lis 5, 21845
24545 ; PWR5-NEXT: lis 6, 13107
24546 ; PWR5-NEXT: ori 5, 5, 21845
24547 ; PWR5-NEXT: rotldi 8, 4, 63
24548 ; PWR5-NEXT: rotldi 9, 3, 63
24549 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24550 ; PWR5-NEXT: and 8, 8, 5
24551 ; PWR5-NEXT: and 5, 9, 5
24552 ; PWR5-NEXT: ori 6, 6, 13107
24553 ; PWR5-NEXT: sub 3, 3, 5
24554 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24555 ; PWR5-NEXT: sub 4, 4, 8
24556 ; PWR5-NEXT: and 8, 3, 6
24557 ; PWR5-NEXT: rotldi 3, 3, 62
24558 ; PWR5-NEXT: and 3, 3, 6
24559 ; PWR5-NEXT: lis 7, 3855
24560 ; PWR5-NEXT: and 5, 4, 6
24561 ; PWR5-NEXT: rotldi 4, 4, 62
24562 ; PWR5-NEXT: add 3, 8, 3
24563 ; PWR5-NEXT: lis 9, 257
24564 ; PWR5-NEXT: ori 7, 7, 3855
24565 ; PWR5-NEXT: and 4, 4, 6
24566 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24567 ; PWR5-NEXT: ori 9, 9, 257
24568 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24569 ; PWR5-NEXT: add 4, 5, 4
24570 ; PWR5-NEXT: add 3, 3, 6
24571 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24572 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24573 ; PWR5-NEXT: and 3, 3, 7
24574 ; PWR5-NEXT: add 4, 4, 5
24575 ; PWR5-NEXT: mulld 3, 3, 9
24576 ; PWR5-NEXT: and 4, 4, 7
24577 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24578 ; PWR5-NEXT: li 5, 49
24579 ; PWR5-NEXT: mulld 4, 4, 9
24580 ; PWR5-NEXT: subc 6, 3, 5
24581 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24582 ; PWR5-NEXT: subfe 3, 3, 3
24583 ; PWR5-NEXT: subc 5, 4, 5
24584 ; PWR5-NEXT: subfe 4, 4, 4
24585 ; PWR5-NEXT: blr
24589 ; PWR6-NEXT: lis 5, 21845
24590 ; PWR6-NEXT: lis 6, 13107
24591 ; PWR6-NEXT: ori 5, 5, 21845
24592 ; PWR6-NEXT: rotldi 8, 4, 63
24593 ; PWR6-NEXT: rotldi 9, 3, 63
24594 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24595 ; PWR6-NEXT: and 8, 8, 5
24596 ; PWR6-NEXT: and 5, 9, 5
24597 ; PWR6-NEXT: ori 6, 6, 13107
24598 ; PWR6-NEXT: sub 3, 3, 5
24599 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24600 ; PWR6-NEXT: sub 4, 4, 8
24601 ; PWR6-NEXT: and 8, 3, 6
24602 ; PWR6-NEXT: rotldi 3, 3, 62
24603 ; PWR6-NEXT: and 3, 3, 6
24604 ; PWR6-NEXT: lis 7, 3855
24605 ; PWR6-NEXT: and 5, 4, 6
24606 ; PWR6-NEXT: rotldi 4, 4, 62
24607 ; PWR6-NEXT: add 3, 8, 3
24608 ; PWR6-NEXT: lis 9, 257
24609 ; PWR6-NEXT: ori 7, 7, 3855
24610 ; PWR6-NEXT: and 4, 4, 6
24611 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24612 ; PWR6-NEXT: ori 9, 9, 257
24613 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24614 ; PWR6-NEXT: add 4, 5, 4
24615 ; PWR6-NEXT: add 3, 3, 6
24616 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24617 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24618 ; PWR6-NEXT: and 3, 3, 7
24619 ; PWR6-NEXT: add 4, 4, 5
24620 ; PWR6-NEXT: mulld 3, 3, 9
24621 ; PWR6-NEXT: and 4, 4, 7
24622 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24623 ; PWR6-NEXT: li 5, 49
24624 ; PWR6-NEXT: mulld 4, 4, 9
24625 ; PWR6-NEXT: subc 6, 3, 5
24626 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24627 ; PWR6-NEXT: subfe 3, 3, 3
24628 ; PWR6-NEXT: subc 5, 4, 5
24629 ; PWR6-NEXT: subfe 4, 4, 4
24630 ; PWR6-NEXT: blr
24634 ; PWR7-NEXT: addi 3, 1, -32
24635 ; PWR7-NEXT: li 5, 0
24636 ; PWR7-NEXT: li 6, -1
24637 ; PWR7-NEXT: stxvd2x 34, 0, 3
24638 ; PWR7-NEXT: ld 3, -24(1)
24639 ; PWR7-NEXT: ld 4, -32(1)
24640 ; PWR7-NEXT: popcntd 3, 3
24641 ; PWR7-NEXT: popcntd 4, 4
24642 ; PWR7-NEXT: cmpldi 3, 49
24643 ; PWR7-NEXT: isellt 3, 6, 5
24644 ; PWR7-NEXT: cmpldi 4, 49
24645 ; PWR7-NEXT: isellt 4, 6, 5
24646 ; PWR7-NEXT: std 3, -8(1)
24647 ; PWR7-NEXT: addi 3, 1, -16
24648 ; PWR7-NEXT: std 4, -16(1)
24649 ; PWR7-NEXT: lxvd2x 34, 0, 3
24650 ; PWR7-NEXT: blr
24654 ; PWR8-NEXT: addis 3, 2, .LCPI195_0@toc@ha
24655 ; PWR8-NEXT: vpopcntd 2, 2
24656 ; PWR8-NEXT: addi 3, 3, .LCPI195_0@toc@l
24657 ; PWR8-NEXT: lxvd2x 35, 0, 3
24658 ; PWR8-NEXT: vcmpgtud 2, 3, 2
24659 ; PWR8-NEXT: blr
24663 ; PWR9-NEXT: addis 3, 2, .LCPI195_0@toc@ha
24664 ; PWR9-NEXT: vpopcntd 2, 2
24665 ; PWR9-NEXT: addi 3, 3, .LCPI195_0@toc@l
24666 ; PWR9-NEXT: lxvx 35, 0, 3
24667 ; PWR9-NEXT: vcmpgtud 2, 3, 2
24668 ; PWR9-NEXT: blr
24678 ; PWR5-NEXT: lis 5, 21845
24679 ; PWR5-NEXT: lis 6, 13107
24680 ; PWR5-NEXT: ori 5, 5, 21845
24681 ; PWR5-NEXT: rotldi 8, 4, 63
24682 ; PWR5-NEXT: rotldi 9, 3, 63
24683 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24684 ; PWR5-NEXT: and 8, 8, 5
24685 ; PWR5-NEXT: and 5, 9, 5
24686 ; PWR5-NEXT: ori 6, 6, 13107
24687 ; PWR5-NEXT: sub 3, 3, 5
24688 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24689 ; PWR5-NEXT: sub 4, 4, 8
24690 ; PWR5-NEXT: and 8, 3, 6
24691 ; PWR5-NEXT: rotldi 3, 3, 62
24692 ; PWR5-NEXT: and 3, 3, 6
24693 ; PWR5-NEXT: lis 7, 3855
24694 ; PWR5-NEXT: and 5, 4, 6
24695 ; PWR5-NEXT: rotldi 4, 4, 62
24696 ; PWR5-NEXT: add 3, 8, 3
24697 ; PWR5-NEXT: lis 9, 257
24698 ; PWR5-NEXT: ori 7, 7, 3855
24699 ; PWR5-NEXT: and 4, 4, 6
24700 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24701 ; PWR5-NEXT: ori 9, 9, 257
24702 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24703 ; PWR5-NEXT: add 4, 5, 4
24704 ; PWR5-NEXT: add 3, 3, 6
24705 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24706 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24707 ; PWR5-NEXT: and 3, 3, 7
24708 ; PWR5-NEXT: add 4, 4, 5
24709 ; PWR5-NEXT: mulld 3, 3, 9
24710 ; PWR5-NEXT: and 4, 4, 7
24711 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24712 ; PWR5-NEXT: mulld 4, 4, 9
24713 ; PWR5-NEXT: li 5, 49
24714 ; PWR5-NEXT: subfic 3, 3, 49
24715 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24716 ; PWR5-NEXT: subfe 3, 5, 5
24717 ; PWR5-NEXT: subfic 4, 4, 49
24718 ; PWR5-NEXT: subfe 4, 5, 5
24719 ; PWR5-NEXT: blr
24723 ; PWR6-NEXT: lis 5, 21845
24724 ; PWR6-NEXT: lis 6, 13107
24725 ; PWR6-NEXT: ori 5, 5, 21845
24726 ; PWR6-NEXT: rotldi 8, 4, 63
24727 ; PWR6-NEXT: rotldi 9, 3, 63
24728 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24729 ; PWR6-NEXT: and 8, 8, 5
24730 ; PWR6-NEXT: and 5, 9, 5
24731 ; PWR6-NEXT: ori 6, 6, 13107
24732 ; PWR6-NEXT: sub 3, 3, 5
24733 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24734 ; PWR6-NEXT: sub 4, 4, 8
24735 ; PWR6-NEXT: and 8, 3, 6
24736 ; PWR6-NEXT: rotldi 3, 3, 62
24737 ; PWR6-NEXT: and 3, 3, 6
24738 ; PWR6-NEXT: lis 7, 3855
24739 ; PWR6-NEXT: and 5, 4, 6
24740 ; PWR6-NEXT: rotldi 4, 4, 62
24741 ; PWR6-NEXT: add 3, 8, 3
24742 ; PWR6-NEXT: lis 9, 257
24743 ; PWR6-NEXT: ori 7, 7, 3855
24744 ; PWR6-NEXT: and 4, 4, 6
24745 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24746 ; PWR6-NEXT: ori 9, 9, 257
24747 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24748 ; PWR6-NEXT: add 4, 5, 4
24749 ; PWR6-NEXT: add 3, 3, 6
24750 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24751 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24752 ; PWR6-NEXT: and 3, 3, 7
24753 ; PWR6-NEXT: add 4, 4, 5
24754 ; PWR6-NEXT: mulld 3, 3, 9
24755 ; PWR6-NEXT: and 4, 4, 7
24756 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24757 ; PWR6-NEXT: mulld 4, 4, 9
24758 ; PWR6-NEXT: li 5, 49
24759 ; PWR6-NEXT: subfic 3, 3, 49
24760 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24761 ; PWR6-NEXT: subfe 3, 5, 5
24762 ; PWR6-NEXT: subfic 4, 4, 49
24763 ; PWR6-NEXT: subfe 4, 5, 5
24764 ; PWR6-NEXT: blr
24768 ; PWR7-NEXT: addi 3, 1, -32
24769 ; PWR7-NEXT: li 5, 0
24770 ; PWR7-NEXT: li 6, -1
24771 ; PWR7-NEXT: stxvd2x 34, 0, 3
24772 ; PWR7-NEXT: ld 3, -24(1)
24773 ; PWR7-NEXT: ld 4, -32(1)
24774 ; PWR7-NEXT: popcntd 3, 3
24775 ; PWR7-NEXT: popcntd 4, 4
24776 ; PWR7-NEXT: cmpldi 3, 49
24777 ; PWR7-NEXT: iselgt 3, 6, 5
24778 ; PWR7-NEXT: cmpldi 4, 49
24779 ; PWR7-NEXT: iselgt 4, 6, 5
24780 ; PWR7-NEXT: std 3, -8(1)
24781 ; PWR7-NEXT: addi 3, 1, -16
24782 ; PWR7-NEXT: std 4, -16(1)
24783 ; PWR7-NEXT: lxvd2x 34, 0, 3
24784 ; PWR7-NEXT: blr
24788 ; PWR8-NEXT: addis 3, 2, .LCPI196_0@toc@ha
24789 ; PWR8-NEXT: vpopcntd 2, 2
24790 ; PWR8-NEXT: addi 3, 3, .LCPI196_0@toc@l
24791 ; PWR8-NEXT: lxvd2x 35, 0, 3
24792 ; PWR8-NEXT: vcmpgtud 2, 2, 3
24793 ; PWR8-NEXT: blr
24797 ; PWR9-NEXT: addis 3, 2, .LCPI196_0@toc@ha
24798 ; PWR9-NEXT: vpopcntd 2, 2
24799 ; PWR9-NEXT: addi 3, 3, .LCPI196_0@toc@l
24800 ; PWR9-NEXT: lxvx 35, 0, 3
24801 ; PWR9-NEXT: vcmpgtud 2, 2, 3
24802 ; PWR9-NEXT: blr
24812 ; PWR5-NEXT: lis 5, 21845
24813 ; PWR5-NEXT: lis 6, 13107
24814 ; PWR5-NEXT: ori 5, 5, 21845
24815 ; PWR5-NEXT: rotldi 8, 4, 63
24816 ; PWR5-NEXT: rotldi 9, 3, 63
24817 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24818 ; PWR5-NEXT: and 8, 8, 5
24819 ; PWR5-NEXT: and 5, 9, 5
24820 ; PWR5-NEXT: ori 6, 6, 13107
24821 ; PWR5-NEXT: sub 3, 3, 5
24822 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24823 ; PWR5-NEXT: sub 4, 4, 8
24824 ; PWR5-NEXT: and 8, 3, 6
24825 ; PWR5-NEXT: rotldi 3, 3, 62
24826 ; PWR5-NEXT: and 3, 3, 6
24827 ; PWR5-NEXT: lis 7, 3855
24828 ; PWR5-NEXT: and 5, 4, 6
24829 ; PWR5-NEXT: rotldi 4, 4, 62
24830 ; PWR5-NEXT: add 3, 8, 3
24831 ; PWR5-NEXT: lis 9, 257
24832 ; PWR5-NEXT: ori 7, 7, 3855
24833 ; PWR5-NEXT: and 4, 4, 6
24834 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24835 ; PWR5-NEXT: ori 9, 9, 257
24836 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24837 ; PWR5-NEXT: add 4, 5, 4
24838 ; PWR5-NEXT: add 3, 3, 6
24839 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24840 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24841 ; PWR5-NEXT: and 3, 3, 7
24842 ; PWR5-NEXT: add 4, 4, 5
24843 ; PWR5-NEXT: mulld 3, 3, 9
24844 ; PWR5-NEXT: and 4, 4, 7
24845 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24846 ; PWR5-NEXT: li 5, 50
24847 ; PWR5-NEXT: mulld 4, 4, 9
24848 ; PWR5-NEXT: subc 6, 3, 5
24849 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24850 ; PWR5-NEXT: subfe 3, 3, 3
24851 ; PWR5-NEXT: subc 5, 4, 5
24852 ; PWR5-NEXT: subfe 4, 4, 4
24853 ; PWR5-NEXT: blr
24857 ; PWR6-NEXT: lis 5, 21845
24858 ; PWR6-NEXT: lis 6, 13107
24859 ; PWR6-NEXT: ori 5, 5, 21845
24860 ; PWR6-NEXT: rotldi 8, 4, 63
24861 ; PWR6-NEXT: rotldi 9, 3, 63
24862 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24863 ; PWR6-NEXT: and 8, 8, 5
24864 ; PWR6-NEXT: and 5, 9, 5
24865 ; PWR6-NEXT: ori 6, 6, 13107
24866 ; PWR6-NEXT: sub 3, 3, 5
24867 ; PWR6-NEXT: rldimi 6, 6, 32, 0
24868 ; PWR6-NEXT: sub 4, 4, 8
24869 ; PWR6-NEXT: and 8, 3, 6
24870 ; PWR6-NEXT: rotldi 3, 3, 62
24871 ; PWR6-NEXT: and 3, 3, 6
24872 ; PWR6-NEXT: lis 7, 3855
24873 ; PWR6-NEXT: and 5, 4, 6
24874 ; PWR6-NEXT: rotldi 4, 4, 62
24875 ; PWR6-NEXT: add 3, 8, 3
24876 ; PWR6-NEXT: lis 9, 257
24877 ; PWR6-NEXT: ori 7, 7, 3855
24878 ; PWR6-NEXT: and 4, 4, 6
24879 ; PWR6-NEXT: rldicl 6, 3, 60, 4
24880 ; PWR6-NEXT: ori 9, 9, 257
24881 ; PWR6-NEXT: rldimi 7, 7, 32, 0
24882 ; PWR6-NEXT: add 4, 5, 4
24883 ; PWR6-NEXT: add 3, 3, 6
24884 ; PWR6-NEXT: rldimi 9, 9, 32, 0
24885 ; PWR6-NEXT: rldicl 5, 4, 60, 4
24886 ; PWR6-NEXT: and 3, 3, 7
24887 ; PWR6-NEXT: add 4, 4, 5
24888 ; PWR6-NEXT: mulld 3, 3, 9
24889 ; PWR6-NEXT: and 4, 4, 7
24890 ; PWR6-NEXT: rldicl 3, 3, 8, 56
24891 ; PWR6-NEXT: li 5, 50
24892 ; PWR6-NEXT: mulld 4, 4, 9
24893 ; PWR6-NEXT: subc 6, 3, 5
24894 ; PWR6-NEXT: rldicl 4, 4, 8, 56
24895 ; PWR6-NEXT: subfe 3, 3, 3
24896 ; PWR6-NEXT: subc 5, 4, 5
24897 ; PWR6-NEXT: subfe 4, 4, 4
24898 ; PWR6-NEXT: blr
24902 ; PWR7-NEXT: addi 3, 1, -32
24903 ; PWR7-NEXT: li 5, 0
24904 ; PWR7-NEXT: li 6, -1
24905 ; PWR7-NEXT: stxvd2x 34, 0, 3
24906 ; PWR7-NEXT: ld 3, -24(1)
24907 ; PWR7-NEXT: ld 4, -32(1)
24908 ; PWR7-NEXT: popcntd 3, 3
24909 ; PWR7-NEXT: popcntd 4, 4
24910 ; PWR7-NEXT: cmpldi 3, 50
24911 ; PWR7-NEXT: isellt 3, 6, 5
24912 ; PWR7-NEXT: cmpldi 4, 50
24913 ; PWR7-NEXT: isellt 4, 6, 5
24914 ; PWR7-NEXT: std 3, -8(1)
24915 ; PWR7-NEXT: addi 3, 1, -16
24916 ; PWR7-NEXT: std 4, -16(1)
24917 ; PWR7-NEXT: lxvd2x 34, 0, 3
24918 ; PWR7-NEXT: blr
24922 ; PWR8-NEXT: addis 3, 2, .LCPI197_0@toc@ha
24923 ; PWR8-NEXT: vpopcntd 2, 2
24924 ; PWR8-NEXT: addi 3, 3, .LCPI197_0@toc@l
24925 ; PWR8-NEXT: lxvd2x 35, 0, 3
24926 ; PWR8-NEXT: vcmpgtud 2, 3, 2
24927 ; PWR8-NEXT: blr
24931 ; PWR9-NEXT: addis 3, 2, .LCPI197_0@toc@ha
24932 ; PWR9-NEXT: vpopcntd 2, 2
24933 ; PWR9-NEXT: addi 3, 3, .LCPI197_0@toc@l
24934 ; PWR9-NEXT: lxvx 35, 0, 3
24935 ; PWR9-NEXT: vcmpgtud 2, 3, 2
24936 ; PWR9-NEXT: blr
24946 ; PWR5-NEXT: lis 5, 21845
24947 ; PWR5-NEXT: lis 6, 13107
24948 ; PWR5-NEXT: ori 5, 5, 21845
24949 ; PWR5-NEXT: rotldi 8, 4, 63
24950 ; PWR5-NEXT: rotldi 9, 3, 63
24951 ; PWR5-NEXT: rldimi 5, 5, 32, 0
24952 ; PWR5-NEXT: and 8, 8, 5
24953 ; PWR5-NEXT: and 5, 9, 5
24954 ; PWR5-NEXT: ori 6, 6, 13107
24955 ; PWR5-NEXT: sub 3, 3, 5
24956 ; PWR5-NEXT: rldimi 6, 6, 32, 0
24957 ; PWR5-NEXT: sub 4, 4, 8
24958 ; PWR5-NEXT: and 8, 3, 6
24959 ; PWR5-NEXT: rotldi 3, 3, 62
24960 ; PWR5-NEXT: and 3, 3, 6
24961 ; PWR5-NEXT: lis 7, 3855
24962 ; PWR5-NEXT: and 5, 4, 6
24963 ; PWR5-NEXT: rotldi 4, 4, 62
24964 ; PWR5-NEXT: add 3, 8, 3
24965 ; PWR5-NEXT: lis 9, 257
24966 ; PWR5-NEXT: ori 7, 7, 3855
24967 ; PWR5-NEXT: and 4, 4, 6
24968 ; PWR5-NEXT: rldicl 6, 3, 60, 4
24969 ; PWR5-NEXT: ori 9, 9, 257
24970 ; PWR5-NEXT: rldimi 7, 7, 32, 0
24971 ; PWR5-NEXT: add 4, 5, 4
24972 ; PWR5-NEXT: add 3, 3, 6
24973 ; PWR5-NEXT: rldimi 9, 9, 32, 0
24974 ; PWR5-NEXT: rldicl 5, 4, 60, 4
24975 ; PWR5-NEXT: and 3, 3, 7
24976 ; PWR5-NEXT: add 4, 4, 5
24977 ; PWR5-NEXT: mulld 3, 3, 9
24978 ; PWR5-NEXT: and 4, 4, 7
24979 ; PWR5-NEXT: rldicl 3, 3, 8, 56
24980 ; PWR5-NEXT: mulld 4, 4, 9
24981 ; PWR5-NEXT: li 5, 50
24982 ; PWR5-NEXT: subfic 3, 3, 50
24983 ; PWR5-NEXT: rldicl 4, 4, 8, 56
24984 ; PWR5-NEXT: subfe 3, 5, 5
24985 ; PWR5-NEXT: subfic 4, 4, 50
24986 ; PWR5-NEXT: subfe 4, 5, 5
24987 ; PWR5-NEXT: blr
24991 ; PWR6-NEXT: lis 5, 21845
24992 ; PWR6-NEXT: lis 6, 13107
24993 ; PWR6-NEXT: ori 5, 5, 21845
24994 ; PWR6-NEXT: rotldi 8, 4, 63
24995 ; PWR6-NEXT: rotldi 9, 3, 63
24996 ; PWR6-NEXT: rldimi 5, 5, 32, 0
24997 ; PWR6-NEXT: and 8, 8, 5
24998 ; PWR6-NEXT: and 5, 9, 5
24999 ; PWR6-NEXT: ori 6, 6, 13107
25000 ; PWR6-NEXT: sub 3, 3, 5
25001 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25002 ; PWR6-NEXT: sub 4, 4, 8
25003 ; PWR6-NEXT: and 8, 3, 6
25004 ; PWR6-NEXT: rotldi 3, 3, 62
25005 ; PWR6-NEXT: and 3, 3, 6
25006 ; PWR6-NEXT: lis 7, 3855
25007 ; PWR6-NEXT: and 5, 4, 6
25008 ; PWR6-NEXT: rotldi 4, 4, 62
25009 ; PWR6-NEXT: add 3, 8, 3
25010 ; PWR6-NEXT: lis 9, 257
25011 ; PWR6-NEXT: ori 7, 7, 3855
25012 ; PWR6-NEXT: and 4, 4, 6
25013 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25014 ; PWR6-NEXT: ori 9, 9, 257
25015 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25016 ; PWR6-NEXT: add 4, 5, 4
25017 ; PWR6-NEXT: add 3, 3, 6
25018 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25019 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25020 ; PWR6-NEXT: and 3, 3, 7
25021 ; PWR6-NEXT: add 4, 4, 5
25022 ; PWR6-NEXT: mulld 3, 3, 9
25023 ; PWR6-NEXT: and 4, 4, 7
25024 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25025 ; PWR6-NEXT: mulld 4, 4, 9
25026 ; PWR6-NEXT: li 5, 50
25027 ; PWR6-NEXT: subfic 3, 3, 50
25028 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25029 ; PWR6-NEXT: subfe 3, 5, 5
25030 ; PWR6-NEXT: subfic 4, 4, 50
25031 ; PWR6-NEXT: subfe 4, 5, 5
25032 ; PWR6-NEXT: blr
25036 ; PWR7-NEXT: addi 3, 1, -32
25037 ; PWR7-NEXT: li 5, 0
25038 ; PWR7-NEXT: li 6, -1
25039 ; PWR7-NEXT: stxvd2x 34, 0, 3
25040 ; PWR7-NEXT: ld 3, -24(1)
25041 ; PWR7-NEXT: ld 4, -32(1)
25042 ; PWR7-NEXT: popcntd 3, 3
25043 ; PWR7-NEXT: popcntd 4, 4
25044 ; PWR7-NEXT: cmpldi 3, 50
25045 ; PWR7-NEXT: iselgt 3, 6, 5
25046 ; PWR7-NEXT: cmpldi 4, 50
25047 ; PWR7-NEXT: iselgt 4, 6, 5
25048 ; PWR7-NEXT: std 3, -8(1)
25049 ; PWR7-NEXT: addi 3, 1, -16
25050 ; PWR7-NEXT: std 4, -16(1)
25051 ; PWR7-NEXT: lxvd2x 34, 0, 3
25052 ; PWR7-NEXT: blr
25056 ; PWR8-NEXT: addis 3, 2, .LCPI198_0@toc@ha
25057 ; PWR8-NEXT: vpopcntd 2, 2
25058 ; PWR8-NEXT: addi 3, 3, .LCPI198_0@toc@l
25059 ; PWR8-NEXT: lxvd2x 35, 0, 3
25060 ; PWR8-NEXT: vcmpgtud 2, 2, 3
25061 ; PWR8-NEXT: blr
25065 ; PWR9-NEXT: addis 3, 2, .LCPI198_0@toc@ha
25066 ; PWR9-NEXT: vpopcntd 2, 2
25067 ; PWR9-NEXT: addi 3, 3, .LCPI198_0@toc@l
25068 ; PWR9-NEXT: lxvx 35, 0, 3
25069 ; PWR9-NEXT: vcmpgtud 2, 2, 3
25070 ; PWR9-NEXT: blr
25080 ; PWR5-NEXT: lis 5, 21845
25081 ; PWR5-NEXT: lis 6, 13107
25082 ; PWR5-NEXT: ori 5, 5, 21845
25083 ; PWR5-NEXT: rotldi 8, 4, 63
25084 ; PWR5-NEXT: rotldi 9, 3, 63
25085 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25086 ; PWR5-NEXT: and 8, 8, 5
25087 ; PWR5-NEXT: and 5, 9, 5
25088 ; PWR5-NEXT: ori 6, 6, 13107
25089 ; PWR5-NEXT: sub 3, 3, 5
25090 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25091 ; PWR5-NEXT: sub 4, 4, 8
25092 ; PWR5-NEXT: and 8, 3, 6
25093 ; PWR5-NEXT: rotldi 3, 3, 62
25094 ; PWR5-NEXT: and 3, 3, 6
25095 ; PWR5-NEXT: lis 7, 3855
25096 ; PWR5-NEXT: and 5, 4, 6
25097 ; PWR5-NEXT: rotldi 4, 4, 62
25098 ; PWR5-NEXT: add 3, 8, 3
25099 ; PWR5-NEXT: lis 9, 257
25100 ; PWR5-NEXT: ori 7, 7, 3855
25101 ; PWR5-NEXT: and 4, 4, 6
25102 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25103 ; PWR5-NEXT: ori 9, 9, 257
25104 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25105 ; PWR5-NEXT: add 4, 5, 4
25106 ; PWR5-NEXT: add 3, 3, 6
25107 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25108 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25109 ; PWR5-NEXT: and 3, 3, 7
25110 ; PWR5-NEXT: add 4, 4, 5
25111 ; PWR5-NEXT: mulld 3, 3, 9
25112 ; PWR5-NEXT: and 4, 4, 7
25113 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25114 ; PWR5-NEXT: li 5, 51
25115 ; PWR5-NEXT: mulld 4, 4, 9
25116 ; PWR5-NEXT: subc 6, 3, 5
25117 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25118 ; PWR5-NEXT: subfe 3, 3, 3
25119 ; PWR5-NEXT: subc 5, 4, 5
25120 ; PWR5-NEXT: subfe 4, 4, 4
25121 ; PWR5-NEXT: blr
25125 ; PWR6-NEXT: lis 5, 21845
25126 ; PWR6-NEXT: lis 6, 13107
25127 ; PWR6-NEXT: ori 5, 5, 21845
25128 ; PWR6-NEXT: rotldi 8, 4, 63
25129 ; PWR6-NEXT: rotldi 9, 3, 63
25130 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25131 ; PWR6-NEXT: and 8, 8, 5
25132 ; PWR6-NEXT: and 5, 9, 5
25133 ; PWR6-NEXT: ori 6, 6, 13107
25134 ; PWR6-NEXT: sub 3, 3, 5
25135 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25136 ; PWR6-NEXT: sub 4, 4, 8
25137 ; PWR6-NEXT: and 8, 3, 6
25138 ; PWR6-NEXT: rotldi 3, 3, 62
25139 ; PWR6-NEXT: and 3, 3, 6
25140 ; PWR6-NEXT: lis 7, 3855
25141 ; PWR6-NEXT: and 5, 4, 6
25142 ; PWR6-NEXT: rotldi 4, 4, 62
25143 ; PWR6-NEXT: add 3, 8, 3
25144 ; PWR6-NEXT: lis 9, 257
25145 ; PWR6-NEXT: ori 7, 7, 3855
25146 ; PWR6-NEXT: and 4, 4, 6
25147 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25148 ; PWR6-NEXT: ori 9, 9, 257
25149 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25150 ; PWR6-NEXT: add 4, 5, 4
25151 ; PWR6-NEXT: add 3, 3, 6
25152 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25153 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25154 ; PWR6-NEXT: and 3, 3, 7
25155 ; PWR6-NEXT: add 4, 4, 5
25156 ; PWR6-NEXT: mulld 3, 3, 9
25157 ; PWR6-NEXT: and 4, 4, 7
25158 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25159 ; PWR6-NEXT: li 5, 51
25160 ; PWR6-NEXT: mulld 4, 4, 9
25161 ; PWR6-NEXT: subc 6, 3, 5
25162 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25163 ; PWR6-NEXT: subfe 3, 3, 3
25164 ; PWR6-NEXT: subc 5, 4, 5
25165 ; PWR6-NEXT: subfe 4, 4, 4
25166 ; PWR6-NEXT: blr
25170 ; PWR7-NEXT: addi 3, 1, -32
25171 ; PWR7-NEXT: li 5, 0
25172 ; PWR7-NEXT: li 6, -1
25173 ; PWR7-NEXT: stxvd2x 34, 0, 3
25174 ; PWR7-NEXT: ld 3, -24(1)
25175 ; PWR7-NEXT: ld 4, -32(1)
25176 ; PWR7-NEXT: popcntd 3, 3
25177 ; PWR7-NEXT: popcntd 4, 4
25178 ; PWR7-NEXT: cmpldi 3, 51
25179 ; PWR7-NEXT: isellt 3, 6, 5
25180 ; PWR7-NEXT: cmpldi 4, 51
25181 ; PWR7-NEXT: isellt 4, 6, 5
25182 ; PWR7-NEXT: std 3, -8(1)
25183 ; PWR7-NEXT: addi 3, 1, -16
25184 ; PWR7-NEXT: std 4, -16(1)
25185 ; PWR7-NEXT: lxvd2x 34, 0, 3
25186 ; PWR7-NEXT: blr
25190 ; PWR8-NEXT: addis 3, 2, .LCPI199_0@toc@ha
25191 ; PWR8-NEXT: vpopcntd 2, 2
25192 ; PWR8-NEXT: addi 3, 3, .LCPI199_0@toc@l
25193 ; PWR8-NEXT: lxvd2x 35, 0, 3
25194 ; PWR8-NEXT: vcmpgtud 2, 3, 2
25195 ; PWR8-NEXT: blr
25199 ; PWR9-NEXT: addis 3, 2, .LCPI199_0@toc@ha
25200 ; PWR9-NEXT: vpopcntd 2, 2
25201 ; PWR9-NEXT: addi 3, 3, .LCPI199_0@toc@l
25202 ; PWR9-NEXT: lxvx 35, 0, 3
25203 ; PWR9-NEXT: vcmpgtud 2, 3, 2
25204 ; PWR9-NEXT: blr
25214 ; PWR5-NEXT: lis 5, 21845
25215 ; PWR5-NEXT: lis 6, 13107
25216 ; PWR5-NEXT: ori 5, 5, 21845
25217 ; PWR5-NEXT: rotldi 8, 4, 63
25218 ; PWR5-NEXT: rotldi 9, 3, 63
25219 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25220 ; PWR5-NEXT: and 8, 8, 5
25221 ; PWR5-NEXT: and 5, 9, 5
25222 ; PWR5-NEXT: ori 6, 6, 13107
25223 ; PWR5-NEXT: sub 3, 3, 5
25224 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25225 ; PWR5-NEXT: sub 4, 4, 8
25226 ; PWR5-NEXT: and 8, 3, 6
25227 ; PWR5-NEXT: rotldi 3, 3, 62
25228 ; PWR5-NEXT: and 3, 3, 6
25229 ; PWR5-NEXT: lis 7, 3855
25230 ; PWR5-NEXT: and 5, 4, 6
25231 ; PWR5-NEXT: rotldi 4, 4, 62
25232 ; PWR5-NEXT: add 3, 8, 3
25233 ; PWR5-NEXT: lis 9, 257
25234 ; PWR5-NEXT: ori 7, 7, 3855
25235 ; PWR5-NEXT: and 4, 4, 6
25236 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25237 ; PWR5-NEXT: ori 9, 9, 257
25238 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25239 ; PWR5-NEXT: add 4, 5, 4
25240 ; PWR5-NEXT: add 3, 3, 6
25241 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25242 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25243 ; PWR5-NEXT: and 3, 3, 7
25244 ; PWR5-NEXT: add 4, 4, 5
25245 ; PWR5-NEXT: mulld 3, 3, 9
25246 ; PWR5-NEXT: and 4, 4, 7
25247 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25248 ; PWR5-NEXT: mulld 4, 4, 9
25249 ; PWR5-NEXT: li 5, 51
25250 ; PWR5-NEXT: subfic 3, 3, 51
25251 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25252 ; PWR5-NEXT: subfe 3, 5, 5
25253 ; PWR5-NEXT: subfic 4, 4, 51
25254 ; PWR5-NEXT: subfe 4, 5, 5
25255 ; PWR5-NEXT: blr
25259 ; PWR6-NEXT: lis 5, 21845
25260 ; PWR6-NEXT: lis 6, 13107
25261 ; PWR6-NEXT: ori 5, 5, 21845
25262 ; PWR6-NEXT: rotldi 8, 4, 63
25263 ; PWR6-NEXT: rotldi 9, 3, 63
25264 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25265 ; PWR6-NEXT: and 8, 8, 5
25266 ; PWR6-NEXT: and 5, 9, 5
25267 ; PWR6-NEXT: ori 6, 6, 13107
25268 ; PWR6-NEXT: sub 3, 3, 5
25269 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25270 ; PWR6-NEXT: sub 4, 4, 8
25271 ; PWR6-NEXT: and 8, 3, 6
25272 ; PWR6-NEXT: rotldi 3, 3, 62
25273 ; PWR6-NEXT: and 3, 3, 6
25274 ; PWR6-NEXT: lis 7, 3855
25275 ; PWR6-NEXT: and 5, 4, 6
25276 ; PWR6-NEXT: rotldi 4, 4, 62
25277 ; PWR6-NEXT: add 3, 8, 3
25278 ; PWR6-NEXT: lis 9, 257
25279 ; PWR6-NEXT: ori 7, 7, 3855
25280 ; PWR6-NEXT: and 4, 4, 6
25281 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25282 ; PWR6-NEXT: ori 9, 9, 257
25283 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25284 ; PWR6-NEXT: add 4, 5, 4
25285 ; PWR6-NEXT: add 3, 3, 6
25286 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25287 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25288 ; PWR6-NEXT: and 3, 3, 7
25289 ; PWR6-NEXT: add 4, 4, 5
25290 ; PWR6-NEXT: mulld 3, 3, 9
25291 ; PWR6-NEXT: and 4, 4, 7
25292 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25293 ; PWR6-NEXT: mulld 4, 4, 9
25294 ; PWR6-NEXT: li 5, 51
25295 ; PWR6-NEXT: subfic 3, 3, 51
25296 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25297 ; PWR6-NEXT: subfe 3, 5, 5
25298 ; PWR6-NEXT: subfic 4, 4, 51
25299 ; PWR6-NEXT: subfe 4, 5, 5
25300 ; PWR6-NEXT: blr
25304 ; PWR7-NEXT: addi 3, 1, -32
25305 ; PWR7-NEXT: li 5, 0
25306 ; PWR7-NEXT: li 6, -1
25307 ; PWR7-NEXT: stxvd2x 34, 0, 3
25308 ; PWR7-NEXT: ld 3, -24(1)
25309 ; PWR7-NEXT: ld 4, -32(1)
25310 ; PWR7-NEXT: popcntd 3, 3
25311 ; PWR7-NEXT: popcntd 4, 4
25312 ; PWR7-NEXT: cmpldi 3, 51
25313 ; PWR7-NEXT: iselgt 3, 6, 5
25314 ; PWR7-NEXT: cmpldi 4, 51
25315 ; PWR7-NEXT: iselgt 4, 6, 5
25316 ; PWR7-NEXT: std 3, -8(1)
25317 ; PWR7-NEXT: addi 3, 1, -16
25318 ; PWR7-NEXT: std 4, -16(1)
25319 ; PWR7-NEXT: lxvd2x 34, 0, 3
25320 ; PWR7-NEXT: blr
25324 ; PWR8-NEXT: addis 3, 2, .LCPI200_0@toc@ha
25325 ; PWR8-NEXT: vpopcntd 2, 2
25326 ; PWR8-NEXT: addi 3, 3, .LCPI200_0@toc@l
25327 ; PWR8-NEXT: lxvd2x 35, 0, 3
25328 ; PWR8-NEXT: vcmpgtud 2, 2, 3
25329 ; PWR8-NEXT: blr
25333 ; PWR9-NEXT: addis 3, 2, .LCPI200_0@toc@ha
25334 ; PWR9-NEXT: vpopcntd 2, 2
25335 ; PWR9-NEXT: addi 3, 3, .LCPI200_0@toc@l
25336 ; PWR9-NEXT: lxvx 35, 0, 3
25337 ; PWR9-NEXT: vcmpgtud 2, 2, 3
25338 ; PWR9-NEXT: blr
25348 ; PWR5-NEXT: lis 5, 21845
25349 ; PWR5-NEXT: lis 6, 13107
25350 ; PWR5-NEXT: ori 5, 5, 21845
25351 ; PWR5-NEXT: rotldi 8, 4, 63
25352 ; PWR5-NEXT: rotldi 9, 3, 63
25353 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25354 ; PWR5-NEXT: and 8, 8, 5
25355 ; PWR5-NEXT: and 5, 9, 5
25356 ; PWR5-NEXT: ori 6, 6, 13107
25357 ; PWR5-NEXT: sub 3, 3, 5
25358 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25359 ; PWR5-NEXT: sub 4, 4, 8
25360 ; PWR5-NEXT: and 8, 3, 6
25361 ; PWR5-NEXT: rotldi 3, 3, 62
25362 ; PWR5-NEXT: and 3, 3, 6
25363 ; PWR5-NEXT: lis 7, 3855
25364 ; PWR5-NEXT: and 5, 4, 6
25365 ; PWR5-NEXT: rotldi 4, 4, 62
25366 ; PWR5-NEXT: add 3, 8, 3
25367 ; PWR5-NEXT: lis 9, 257
25368 ; PWR5-NEXT: ori 7, 7, 3855
25369 ; PWR5-NEXT: and 4, 4, 6
25370 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25371 ; PWR5-NEXT: ori 9, 9, 257
25372 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25373 ; PWR5-NEXT: add 4, 5, 4
25374 ; PWR5-NEXT: add 3, 3, 6
25375 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25376 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25377 ; PWR5-NEXT: and 3, 3, 7
25378 ; PWR5-NEXT: add 4, 4, 5
25379 ; PWR5-NEXT: mulld 3, 3, 9
25380 ; PWR5-NEXT: and 4, 4, 7
25381 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25382 ; PWR5-NEXT: li 5, 52
25383 ; PWR5-NEXT: mulld 4, 4, 9
25384 ; PWR5-NEXT: subc 6, 3, 5
25385 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25386 ; PWR5-NEXT: subfe 3, 3, 3
25387 ; PWR5-NEXT: subc 5, 4, 5
25388 ; PWR5-NEXT: subfe 4, 4, 4
25389 ; PWR5-NEXT: blr
25393 ; PWR6-NEXT: lis 5, 21845
25394 ; PWR6-NEXT: lis 6, 13107
25395 ; PWR6-NEXT: ori 5, 5, 21845
25396 ; PWR6-NEXT: rotldi 8, 4, 63
25397 ; PWR6-NEXT: rotldi 9, 3, 63
25398 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25399 ; PWR6-NEXT: and 8, 8, 5
25400 ; PWR6-NEXT: and 5, 9, 5
25401 ; PWR6-NEXT: ori 6, 6, 13107
25402 ; PWR6-NEXT: sub 3, 3, 5
25403 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25404 ; PWR6-NEXT: sub 4, 4, 8
25405 ; PWR6-NEXT: and 8, 3, 6
25406 ; PWR6-NEXT: rotldi 3, 3, 62
25407 ; PWR6-NEXT: and 3, 3, 6
25408 ; PWR6-NEXT: lis 7, 3855
25409 ; PWR6-NEXT: and 5, 4, 6
25410 ; PWR6-NEXT: rotldi 4, 4, 62
25411 ; PWR6-NEXT: add 3, 8, 3
25412 ; PWR6-NEXT: lis 9, 257
25413 ; PWR6-NEXT: ori 7, 7, 3855
25414 ; PWR6-NEXT: and 4, 4, 6
25415 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25416 ; PWR6-NEXT: ori 9, 9, 257
25417 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25418 ; PWR6-NEXT: add 4, 5, 4
25419 ; PWR6-NEXT: add 3, 3, 6
25420 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25421 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25422 ; PWR6-NEXT: and 3, 3, 7
25423 ; PWR6-NEXT: add 4, 4, 5
25424 ; PWR6-NEXT: mulld 3, 3, 9
25425 ; PWR6-NEXT: and 4, 4, 7
25426 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25427 ; PWR6-NEXT: li 5, 52
25428 ; PWR6-NEXT: mulld 4, 4, 9
25429 ; PWR6-NEXT: subc 6, 3, 5
25430 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25431 ; PWR6-NEXT: subfe 3, 3, 3
25432 ; PWR6-NEXT: subc 5, 4, 5
25433 ; PWR6-NEXT: subfe 4, 4, 4
25434 ; PWR6-NEXT: blr
25438 ; PWR7-NEXT: addi 3, 1, -32
25439 ; PWR7-NEXT: li 5, 0
25440 ; PWR7-NEXT: li 6, -1
25441 ; PWR7-NEXT: stxvd2x 34, 0, 3
25442 ; PWR7-NEXT: ld 3, -24(1)
25443 ; PWR7-NEXT: ld 4, -32(1)
25444 ; PWR7-NEXT: popcntd 3, 3
25445 ; PWR7-NEXT: popcntd 4, 4
25446 ; PWR7-NEXT: cmpldi 3, 52
25447 ; PWR7-NEXT: isellt 3, 6, 5
25448 ; PWR7-NEXT: cmpldi 4, 52
25449 ; PWR7-NEXT: isellt 4, 6, 5
25450 ; PWR7-NEXT: std 3, -8(1)
25451 ; PWR7-NEXT: addi 3, 1, -16
25452 ; PWR7-NEXT: std 4, -16(1)
25453 ; PWR7-NEXT: lxvd2x 34, 0, 3
25454 ; PWR7-NEXT: blr
25458 ; PWR8-NEXT: addis 3, 2, .LCPI201_0@toc@ha
25459 ; PWR8-NEXT: vpopcntd 2, 2
25460 ; PWR8-NEXT: addi 3, 3, .LCPI201_0@toc@l
25461 ; PWR8-NEXT: lxvd2x 35, 0, 3
25462 ; PWR8-NEXT: vcmpgtud 2, 3, 2
25463 ; PWR8-NEXT: blr
25467 ; PWR9-NEXT: addis 3, 2, .LCPI201_0@toc@ha
25468 ; PWR9-NEXT: vpopcntd 2, 2
25469 ; PWR9-NEXT: addi 3, 3, .LCPI201_0@toc@l
25470 ; PWR9-NEXT: lxvx 35, 0, 3
25471 ; PWR9-NEXT: vcmpgtud 2, 3, 2
25472 ; PWR9-NEXT: blr
25482 ; PWR5-NEXT: lis 5, 21845
25483 ; PWR5-NEXT: lis 6, 13107
25484 ; PWR5-NEXT: ori 5, 5, 21845
25485 ; PWR5-NEXT: rotldi 8, 4, 63
25486 ; PWR5-NEXT: rotldi 9, 3, 63
25487 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25488 ; PWR5-NEXT: and 8, 8, 5
25489 ; PWR5-NEXT: and 5, 9, 5
25490 ; PWR5-NEXT: ori 6, 6, 13107
25491 ; PWR5-NEXT: sub 3, 3, 5
25492 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25493 ; PWR5-NEXT: sub 4, 4, 8
25494 ; PWR5-NEXT: and 8, 3, 6
25495 ; PWR5-NEXT: rotldi 3, 3, 62
25496 ; PWR5-NEXT: and 3, 3, 6
25497 ; PWR5-NEXT: lis 7, 3855
25498 ; PWR5-NEXT: and 5, 4, 6
25499 ; PWR5-NEXT: rotldi 4, 4, 62
25500 ; PWR5-NEXT: add 3, 8, 3
25501 ; PWR5-NEXT: lis 9, 257
25502 ; PWR5-NEXT: ori 7, 7, 3855
25503 ; PWR5-NEXT: and 4, 4, 6
25504 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25505 ; PWR5-NEXT: ori 9, 9, 257
25506 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25507 ; PWR5-NEXT: add 4, 5, 4
25508 ; PWR5-NEXT: add 3, 3, 6
25509 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25510 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25511 ; PWR5-NEXT: and 3, 3, 7
25512 ; PWR5-NEXT: add 4, 4, 5
25513 ; PWR5-NEXT: mulld 3, 3, 9
25514 ; PWR5-NEXT: and 4, 4, 7
25515 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25516 ; PWR5-NEXT: mulld 4, 4, 9
25517 ; PWR5-NEXT: li 5, 52
25518 ; PWR5-NEXT: subfic 3, 3, 52
25519 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25520 ; PWR5-NEXT: subfe 3, 5, 5
25521 ; PWR5-NEXT: subfic 4, 4, 52
25522 ; PWR5-NEXT: subfe 4, 5, 5
25523 ; PWR5-NEXT: blr
25527 ; PWR6-NEXT: lis 5, 21845
25528 ; PWR6-NEXT: lis 6, 13107
25529 ; PWR6-NEXT: ori 5, 5, 21845
25530 ; PWR6-NEXT: rotldi 8, 4, 63
25531 ; PWR6-NEXT: rotldi 9, 3, 63
25532 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25533 ; PWR6-NEXT: and 8, 8, 5
25534 ; PWR6-NEXT: and 5, 9, 5
25535 ; PWR6-NEXT: ori 6, 6, 13107
25536 ; PWR6-NEXT: sub 3, 3, 5
25537 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25538 ; PWR6-NEXT: sub 4, 4, 8
25539 ; PWR6-NEXT: and 8, 3, 6
25540 ; PWR6-NEXT: rotldi 3, 3, 62
25541 ; PWR6-NEXT: and 3, 3, 6
25542 ; PWR6-NEXT: lis 7, 3855
25543 ; PWR6-NEXT: and 5, 4, 6
25544 ; PWR6-NEXT: rotldi 4, 4, 62
25545 ; PWR6-NEXT: add 3, 8, 3
25546 ; PWR6-NEXT: lis 9, 257
25547 ; PWR6-NEXT: ori 7, 7, 3855
25548 ; PWR6-NEXT: and 4, 4, 6
25549 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25550 ; PWR6-NEXT: ori 9, 9, 257
25551 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25552 ; PWR6-NEXT: add 4, 5, 4
25553 ; PWR6-NEXT: add 3, 3, 6
25554 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25555 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25556 ; PWR6-NEXT: and 3, 3, 7
25557 ; PWR6-NEXT: add 4, 4, 5
25558 ; PWR6-NEXT: mulld 3, 3, 9
25559 ; PWR6-NEXT: and 4, 4, 7
25560 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25561 ; PWR6-NEXT: mulld 4, 4, 9
25562 ; PWR6-NEXT: li 5, 52
25563 ; PWR6-NEXT: subfic 3, 3, 52
25564 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25565 ; PWR6-NEXT: subfe 3, 5, 5
25566 ; PWR6-NEXT: subfic 4, 4, 52
25567 ; PWR6-NEXT: subfe 4, 5, 5
25568 ; PWR6-NEXT: blr
25572 ; PWR7-NEXT: addi 3, 1, -32
25573 ; PWR7-NEXT: li 5, 0
25574 ; PWR7-NEXT: li 6, -1
25575 ; PWR7-NEXT: stxvd2x 34, 0, 3
25576 ; PWR7-NEXT: ld 3, -24(1)
25577 ; PWR7-NEXT: ld 4, -32(1)
25578 ; PWR7-NEXT: popcntd 3, 3
25579 ; PWR7-NEXT: popcntd 4, 4
25580 ; PWR7-NEXT: cmpldi 3, 52
25581 ; PWR7-NEXT: iselgt 3, 6, 5
25582 ; PWR7-NEXT: cmpldi 4, 52
25583 ; PWR7-NEXT: iselgt 4, 6, 5
25584 ; PWR7-NEXT: std 3, -8(1)
25585 ; PWR7-NEXT: addi 3, 1, -16
25586 ; PWR7-NEXT: std 4, -16(1)
25587 ; PWR7-NEXT: lxvd2x 34, 0, 3
25588 ; PWR7-NEXT: blr
25592 ; PWR8-NEXT: addis 3, 2, .LCPI202_0@toc@ha
25593 ; PWR8-NEXT: vpopcntd 2, 2
25594 ; PWR8-NEXT: addi 3, 3, .LCPI202_0@toc@l
25595 ; PWR8-NEXT: lxvd2x 35, 0, 3
25596 ; PWR8-NEXT: vcmpgtud 2, 2, 3
25597 ; PWR8-NEXT: blr
25601 ; PWR9-NEXT: addis 3, 2, .LCPI202_0@toc@ha
25602 ; PWR9-NEXT: vpopcntd 2, 2
25603 ; PWR9-NEXT: addi 3, 3, .LCPI202_0@toc@l
25604 ; PWR9-NEXT: lxvx 35, 0, 3
25605 ; PWR9-NEXT: vcmpgtud 2, 2, 3
25606 ; PWR9-NEXT: blr
25616 ; PWR5-NEXT: lis 5, 21845
25617 ; PWR5-NEXT: lis 6, 13107
25618 ; PWR5-NEXT: ori 5, 5, 21845
25619 ; PWR5-NEXT: rotldi 8, 4, 63
25620 ; PWR5-NEXT: rotldi 9, 3, 63
25621 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25622 ; PWR5-NEXT: and 8, 8, 5
25623 ; PWR5-NEXT: and 5, 9, 5
25624 ; PWR5-NEXT: ori 6, 6, 13107
25625 ; PWR5-NEXT: sub 3, 3, 5
25626 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25627 ; PWR5-NEXT: sub 4, 4, 8
25628 ; PWR5-NEXT: and 8, 3, 6
25629 ; PWR5-NEXT: rotldi 3, 3, 62
25630 ; PWR5-NEXT: and 3, 3, 6
25631 ; PWR5-NEXT: lis 7, 3855
25632 ; PWR5-NEXT: and 5, 4, 6
25633 ; PWR5-NEXT: rotldi 4, 4, 62
25634 ; PWR5-NEXT: add 3, 8, 3
25635 ; PWR5-NEXT: lis 9, 257
25636 ; PWR5-NEXT: ori 7, 7, 3855
25637 ; PWR5-NEXT: and 4, 4, 6
25638 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25639 ; PWR5-NEXT: ori 9, 9, 257
25640 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25641 ; PWR5-NEXT: add 4, 5, 4
25642 ; PWR5-NEXT: add 3, 3, 6
25643 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25644 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25645 ; PWR5-NEXT: and 3, 3, 7
25646 ; PWR5-NEXT: add 4, 4, 5
25647 ; PWR5-NEXT: mulld 3, 3, 9
25648 ; PWR5-NEXT: and 4, 4, 7
25649 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25650 ; PWR5-NEXT: li 5, 53
25651 ; PWR5-NEXT: mulld 4, 4, 9
25652 ; PWR5-NEXT: subc 6, 3, 5
25653 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25654 ; PWR5-NEXT: subfe 3, 3, 3
25655 ; PWR5-NEXT: subc 5, 4, 5
25656 ; PWR5-NEXT: subfe 4, 4, 4
25657 ; PWR5-NEXT: blr
25661 ; PWR6-NEXT: lis 5, 21845
25662 ; PWR6-NEXT: lis 6, 13107
25663 ; PWR6-NEXT: ori 5, 5, 21845
25664 ; PWR6-NEXT: rotldi 8, 4, 63
25665 ; PWR6-NEXT: rotldi 9, 3, 63
25666 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25667 ; PWR6-NEXT: and 8, 8, 5
25668 ; PWR6-NEXT: and 5, 9, 5
25669 ; PWR6-NEXT: ori 6, 6, 13107
25670 ; PWR6-NEXT: sub 3, 3, 5
25671 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25672 ; PWR6-NEXT: sub 4, 4, 8
25673 ; PWR6-NEXT: and 8, 3, 6
25674 ; PWR6-NEXT: rotldi 3, 3, 62
25675 ; PWR6-NEXT: and 3, 3, 6
25676 ; PWR6-NEXT: lis 7, 3855
25677 ; PWR6-NEXT: and 5, 4, 6
25678 ; PWR6-NEXT: rotldi 4, 4, 62
25679 ; PWR6-NEXT: add 3, 8, 3
25680 ; PWR6-NEXT: lis 9, 257
25681 ; PWR6-NEXT: ori 7, 7, 3855
25682 ; PWR6-NEXT: and 4, 4, 6
25683 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25684 ; PWR6-NEXT: ori 9, 9, 257
25685 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25686 ; PWR6-NEXT: add 4, 5, 4
25687 ; PWR6-NEXT: add 3, 3, 6
25688 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25689 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25690 ; PWR6-NEXT: and 3, 3, 7
25691 ; PWR6-NEXT: add 4, 4, 5
25692 ; PWR6-NEXT: mulld 3, 3, 9
25693 ; PWR6-NEXT: and 4, 4, 7
25694 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25695 ; PWR6-NEXT: li 5, 53
25696 ; PWR6-NEXT: mulld 4, 4, 9
25697 ; PWR6-NEXT: subc 6, 3, 5
25698 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25699 ; PWR6-NEXT: subfe 3, 3, 3
25700 ; PWR6-NEXT: subc 5, 4, 5
25701 ; PWR6-NEXT: subfe 4, 4, 4
25702 ; PWR6-NEXT: blr
25706 ; PWR7-NEXT: addi 3, 1, -32
25707 ; PWR7-NEXT: li 5, 0
25708 ; PWR7-NEXT: li 6, -1
25709 ; PWR7-NEXT: stxvd2x 34, 0, 3
25710 ; PWR7-NEXT: ld 3, -24(1)
25711 ; PWR7-NEXT: ld 4, -32(1)
25712 ; PWR7-NEXT: popcntd 3, 3
25713 ; PWR7-NEXT: popcntd 4, 4
25714 ; PWR7-NEXT: cmpldi 3, 53
25715 ; PWR7-NEXT: isellt 3, 6, 5
25716 ; PWR7-NEXT: cmpldi 4, 53
25717 ; PWR7-NEXT: isellt 4, 6, 5
25718 ; PWR7-NEXT: std 3, -8(1)
25719 ; PWR7-NEXT: addi 3, 1, -16
25720 ; PWR7-NEXT: std 4, -16(1)
25721 ; PWR7-NEXT: lxvd2x 34, 0, 3
25722 ; PWR7-NEXT: blr
25726 ; PWR8-NEXT: addis 3, 2, .LCPI203_0@toc@ha
25727 ; PWR8-NEXT: vpopcntd 2, 2
25728 ; PWR8-NEXT: addi 3, 3, .LCPI203_0@toc@l
25729 ; PWR8-NEXT: lxvd2x 35, 0, 3
25730 ; PWR8-NEXT: vcmpgtud 2, 3, 2
25731 ; PWR8-NEXT: blr
25735 ; PWR9-NEXT: addis 3, 2, .LCPI203_0@toc@ha
25736 ; PWR9-NEXT: vpopcntd 2, 2
25737 ; PWR9-NEXT: addi 3, 3, .LCPI203_0@toc@l
25738 ; PWR9-NEXT: lxvx 35, 0, 3
25739 ; PWR9-NEXT: vcmpgtud 2, 3, 2
25740 ; PWR9-NEXT: blr
25750 ; PWR5-NEXT: lis 5, 21845
25751 ; PWR5-NEXT: lis 6, 13107
25752 ; PWR5-NEXT: ori 5, 5, 21845
25753 ; PWR5-NEXT: rotldi 8, 4, 63
25754 ; PWR5-NEXT: rotldi 9, 3, 63
25755 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25756 ; PWR5-NEXT: and 8, 8, 5
25757 ; PWR5-NEXT: and 5, 9, 5
25758 ; PWR5-NEXT: ori 6, 6, 13107
25759 ; PWR5-NEXT: sub 3, 3, 5
25760 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25761 ; PWR5-NEXT: sub 4, 4, 8
25762 ; PWR5-NEXT: and 8, 3, 6
25763 ; PWR5-NEXT: rotldi 3, 3, 62
25764 ; PWR5-NEXT: and 3, 3, 6
25765 ; PWR5-NEXT: lis 7, 3855
25766 ; PWR5-NEXT: and 5, 4, 6
25767 ; PWR5-NEXT: rotldi 4, 4, 62
25768 ; PWR5-NEXT: add 3, 8, 3
25769 ; PWR5-NEXT: lis 9, 257
25770 ; PWR5-NEXT: ori 7, 7, 3855
25771 ; PWR5-NEXT: and 4, 4, 6
25772 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25773 ; PWR5-NEXT: ori 9, 9, 257
25774 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25775 ; PWR5-NEXT: add 4, 5, 4
25776 ; PWR5-NEXT: add 3, 3, 6
25777 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25778 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25779 ; PWR5-NEXT: and 3, 3, 7
25780 ; PWR5-NEXT: add 4, 4, 5
25781 ; PWR5-NEXT: mulld 3, 3, 9
25782 ; PWR5-NEXT: and 4, 4, 7
25783 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25784 ; PWR5-NEXT: mulld 4, 4, 9
25785 ; PWR5-NEXT: li 5, 53
25786 ; PWR5-NEXT: subfic 3, 3, 53
25787 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25788 ; PWR5-NEXT: subfe 3, 5, 5
25789 ; PWR5-NEXT: subfic 4, 4, 53
25790 ; PWR5-NEXT: subfe 4, 5, 5
25791 ; PWR5-NEXT: blr
25795 ; PWR6-NEXT: lis 5, 21845
25796 ; PWR6-NEXT: lis 6, 13107
25797 ; PWR6-NEXT: ori 5, 5, 21845
25798 ; PWR6-NEXT: rotldi 8, 4, 63
25799 ; PWR6-NEXT: rotldi 9, 3, 63
25800 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25801 ; PWR6-NEXT: and 8, 8, 5
25802 ; PWR6-NEXT: and 5, 9, 5
25803 ; PWR6-NEXT: ori 6, 6, 13107
25804 ; PWR6-NEXT: sub 3, 3, 5
25805 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25806 ; PWR6-NEXT: sub 4, 4, 8
25807 ; PWR6-NEXT: and 8, 3, 6
25808 ; PWR6-NEXT: rotldi 3, 3, 62
25809 ; PWR6-NEXT: and 3, 3, 6
25810 ; PWR6-NEXT: lis 7, 3855
25811 ; PWR6-NEXT: and 5, 4, 6
25812 ; PWR6-NEXT: rotldi 4, 4, 62
25813 ; PWR6-NEXT: add 3, 8, 3
25814 ; PWR6-NEXT: lis 9, 257
25815 ; PWR6-NEXT: ori 7, 7, 3855
25816 ; PWR6-NEXT: and 4, 4, 6
25817 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25818 ; PWR6-NEXT: ori 9, 9, 257
25819 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25820 ; PWR6-NEXT: add 4, 5, 4
25821 ; PWR6-NEXT: add 3, 3, 6
25822 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25823 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25824 ; PWR6-NEXT: and 3, 3, 7
25825 ; PWR6-NEXT: add 4, 4, 5
25826 ; PWR6-NEXT: mulld 3, 3, 9
25827 ; PWR6-NEXT: and 4, 4, 7
25828 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25829 ; PWR6-NEXT: mulld 4, 4, 9
25830 ; PWR6-NEXT: li 5, 53
25831 ; PWR6-NEXT: subfic 3, 3, 53
25832 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25833 ; PWR6-NEXT: subfe 3, 5, 5
25834 ; PWR6-NEXT: subfic 4, 4, 53
25835 ; PWR6-NEXT: subfe 4, 5, 5
25836 ; PWR6-NEXT: blr
25840 ; PWR7-NEXT: addi 3, 1, -32
25841 ; PWR7-NEXT: li 5, 0
25842 ; PWR7-NEXT: li 6, -1
25843 ; PWR7-NEXT: stxvd2x 34, 0, 3
25844 ; PWR7-NEXT: ld 3, -24(1)
25845 ; PWR7-NEXT: ld 4, -32(1)
25846 ; PWR7-NEXT: popcntd 3, 3
25847 ; PWR7-NEXT: popcntd 4, 4
25848 ; PWR7-NEXT: cmpldi 3, 53
25849 ; PWR7-NEXT: iselgt 3, 6, 5
25850 ; PWR7-NEXT: cmpldi 4, 53
25851 ; PWR7-NEXT: iselgt 4, 6, 5
25852 ; PWR7-NEXT: std 3, -8(1)
25853 ; PWR7-NEXT: addi 3, 1, -16
25854 ; PWR7-NEXT: std 4, -16(1)
25855 ; PWR7-NEXT: lxvd2x 34, 0, 3
25856 ; PWR7-NEXT: blr
25860 ; PWR8-NEXT: addis 3, 2, .LCPI204_0@toc@ha
25861 ; PWR8-NEXT: vpopcntd 2, 2
25862 ; PWR8-NEXT: addi 3, 3, .LCPI204_0@toc@l
25863 ; PWR8-NEXT: lxvd2x 35, 0, 3
25864 ; PWR8-NEXT: vcmpgtud 2, 2, 3
25865 ; PWR8-NEXT: blr
25869 ; PWR9-NEXT: addis 3, 2, .LCPI204_0@toc@ha
25870 ; PWR9-NEXT: vpopcntd 2, 2
25871 ; PWR9-NEXT: addi 3, 3, .LCPI204_0@toc@l
25872 ; PWR9-NEXT: lxvx 35, 0, 3
25873 ; PWR9-NEXT: vcmpgtud 2, 2, 3
25874 ; PWR9-NEXT: blr
25884 ; PWR5-NEXT: lis 5, 21845
25885 ; PWR5-NEXT: lis 6, 13107
25886 ; PWR5-NEXT: ori 5, 5, 21845
25887 ; PWR5-NEXT: rotldi 8, 4, 63
25888 ; PWR5-NEXT: rotldi 9, 3, 63
25889 ; PWR5-NEXT: rldimi 5, 5, 32, 0
25890 ; PWR5-NEXT: and 8, 8, 5
25891 ; PWR5-NEXT: and 5, 9, 5
25892 ; PWR5-NEXT: ori 6, 6, 13107
25893 ; PWR5-NEXT: sub 3, 3, 5
25894 ; PWR5-NEXT: rldimi 6, 6, 32, 0
25895 ; PWR5-NEXT: sub 4, 4, 8
25896 ; PWR5-NEXT: and 8, 3, 6
25897 ; PWR5-NEXT: rotldi 3, 3, 62
25898 ; PWR5-NEXT: and 3, 3, 6
25899 ; PWR5-NEXT: lis 7, 3855
25900 ; PWR5-NEXT: and 5, 4, 6
25901 ; PWR5-NEXT: rotldi 4, 4, 62
25902 ; PWR5-NEXT: add 3, 8, 3
25903 ; PWR5-NEXT: lis 9, 257
25904 ; PWR5-NEXT: ori 7, 7, 3855
25905 ; PWR5-NEXT: and 4, 4, 6
25906 ; PWR5-NEXT: rldicl 6, 3, 60, 4
25907 ; PWR5-NEXT: ori 9, 9, 257
25908 ; PWR5-NEXT: rldimi 7, 7, 32, 0
25909 ; PWR5-NEXT: add 4, 5, 4
25910 ; PWR5-NEXT: add 3, 3, 6
25911 ; PWR5-NEXT: rldimi 9, 9, 32, 0
25912 ; PWR5-NEXT: rldicl 5, 4, 60, 4
25913 ; PWR5-NEXT: and 3, 3, 7
25914 ; PWR5-NEXT: add 4, 4, 5
25915 ; PWR5-NEXT: mulld 3, 3, 9
25916 ; PWR5-NEXT: and 4, 4, 7
25917 ; PWR5-NEXT: rldicl 3, 3, 8, 56
25918 ; PWR5-NEXT: li 5, 54
25919 ; PWR5-NEXT: mulld 4, 4, 9
25920 ; PWR5-NEXT: subc 6, 3, 5
25921 ; PWR5-NEXT: rldicl 4, 4, 8, 56
25922 ; PWR5-NEXT: subfe 3, 3, 3
25923 ; PWR5-NEXT: subc 5, 4, 5
25924 ; PWR5-NEXT: subfe 4, 4, 4
25925 ; PWR5-NEXT: blr
25929 ; PWR6-NEXT: lis 5, 21845
25930 ; PWR6-NEXT: lis 6, 13107
25931 ; PWR6-NEXT: ori 5, 5, 21845
25932 ; PWR6-NEXT: rotldi 8, 4, 63
25933 ; PWR6-NEXT: rotldi 9, 3, 63
25934 ; PWR6-NEXT: rldimi 5, 5, 32, 0
25935 ; PWR6-NEXT: and 8, 8, 5
25936 ; PWR6-NEXT: and 5, 9, 5
25937 ; PWR6-NEXT: ori 6, 6, 13107
25938 ; PWR6-NEXT: sub 3, 3, 5
25939 ; PWR6-NEXT: rldimi 6, 6, 32, 0
25940 ; PWR6-NEXT: sub 4, 4, 8
25941 ; PWR6-NEXT: and 8, 3, 6
25942 ; PWR6-NEXT: rotldi 3, 3, 62
25943 ; PWR6-NEXT: and 3, 3, 6
25944 ; PWR6-NEXT: lis 7, 3855
25945 ; PWR6-NEXT: and 5, 4, 6
25946 ; PWR6-NEXT: rotldi 4, 4, 62
25947 ; PWR6-NEXT: add 3, 8, 3
25948 ; PWR6-NEXT: lis 9, 257
25949 ; PWR6-NEXT: ori 7, 7, 3855
25950 ; PWR6-NEXT: and 4, 4, 6
25951 ; PWR6-NEXT: rldicl 6, 3, 60, 4
25952 ; PWR6-NEXT: ori 9, 9, 257
25953 ; PWR6-NEXT: rldimi 7, 7, 32, 0
25954 ; PWR6-NEXT: add 4, 5, 4
25955 ; PWR6-NEXT: add 3, 3, 6
25956 ; PWR6-NEXT: rldimi 9, 9, 32, 0
25957 ; PWR6-NEXT: rldicl 5, 4, 60, 4
25958 ; PWR6-NEXT: and 3, 3, 7
25959 ; PWR6-NEXT: add 4, 4, 5
25960 ; PWR6-NEXT: mulld 3, 3, 9
25961 ; PWR6-NEXT: and 4, 4, 7
25962 ; PWR6-NEXT: rldicl 3, 3, 8, 56
25963 ; PWR6-NEXT: li 5, 54
25964 ; PWR6-NEXT: mulld 4, 4, 9
25965 ; PWR6-NEXT: subc 6, 3, 5
25966 ; PWR6-NEXT: rldicl 4, 4, 8, 56
25967 ; PWR6-NEXT: subfe 3, 3, 3
25968 ; PWR6-NEXT: subc 5, 4, 5
25969 ; PWR6-NEXT: subfe 4, 4, 4
25970 ; PWR6-NEXT: blr
25974 ; PWR7-NEXT: addi 3, 1, -32
25975 ; PWR7-NEXT: li 5, 0
25976 ; PWR7-NEXT: li 6, -1
25977 ; PWR7-NEXT: stxvd2x 34, 0, 3
25978 ; PWR7-NEXT: ld 3, -24(1)
25979 ; PWR7-NEXT: ld 4, -32(1)
25980 ; PWR7-NEXT: popcntd 3, 3
25981 ; PWR7-NEXT: popcntd 4, 4
25982 ; PWR7-NEXT: cmpldi 3, 54
25983 ; PWR7-NEXT: isellt 3, 6, 5
25984 ; PWR7-NEXT: cmpldi 4, 54
25985 ; PWR7-NEXT: isellt 4, 6, 5
25986 ; PWR7-NEXT: std 3, -8(1)
25987 ; PWR7-NEXT: addi 3, 1, -16
25988 ; PWR7-NEXT: std 4, -16(1)
25989 ; PWR7-NEXT: lxvd2x 34, 0, 3
25990 ; PWR7-NEXT: blr
25994 ; PWR8-NEXT: addis 3, 2, .LCPI205_0@toc@ha
25995 ; PWR8-NEXT: vpopcntd 2, 2
25996 ; PWR8-NEXT: addi 3, 3, .LCPI205_0@toc@l
25997 ; PWR8-NEXT: lxvd2x 35, 0, 3
25998 ; PWR8-NEXT: vcmpgtud 2, 3, 2
25999 ; PWR8-NEXT: blr
26003 ; PWR9-NEXT: addis 3, 2, .LCPI205_0@toc@ha
26004 ; PWR9-NEXT: vpopcntd 2, 2
26005 ; PWR9-NEXT: addi 3, 3, .LCPI205_0@toc@l
26006 ; PWR9-NEXT: lxvx 35, 0, 3
26007 ; PWR9-NEXT: vcmpgtud 2, 3, 2
26008 ; PWR9-NEXT: blr
26018 ; PWR5-NEXT: lis 5, 21845
26019 ; PWR5-NEXT: lis 6, 13107
26020 ; PWR5-NEXT: ori 5, 5, 21845
26021 ; PWR5-NEXT: rotldi 8, 4, 63
26022 ; PWR5-NEXT: rotldi 9, 3, 63
26023 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26024 ; PWR5-NEXT: and 8, 8, 5
26025 ; PWR5-NEXT: and 5, 9, 5
26026 ; PWR5-NEXT: ori 6, 6, 13107
26027 ; PWR5-NEXT: sub 3, 3, 5
26028 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26029 ; PWR5-NEXT: sub 4, 4, 8
26030 ; PWR5-NEXT: and 8, 3, 6
26031 ; PWR5-NEXT: rotldi 3, 3, 62
26032 ; PWR5-NEXT: and 3, 3, 6
26033 ; PWR5-NEXT: lis 7, 3855
26034 ; PWR5-NEXT: and 5, 4, 6
26035 ; PWR5-NEXT: rotldi 4, 4, 62
26036 ; PWR5-NEXT: add 3, 8, 3
26037 ; PWR5-NEXT: lis 9, 257
26038 ; PWR5-NEXT: ori 7, 7, 3855
26039 ; PWR5-NEXT: and 4, 4, 6
26040 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26041 ; PWR5-NEXT: ori 9, 9, 257
26042 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26043 ; PWR5-NEXT: add 4, 5, 4
26044 ; PWR5-NEXT: add 3, 3, 6
26045 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26046 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26047 ; PWR5-NEXT: and 3, 3, 7
26048 ; PWR5-NEXT: add 4, 4, 5
26049 ; PWR5-NEXT: mulld 3, 3, 9
26050 ; PWR5-NEXT: and 4, 4, 7
26051 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26052 ; PWR5-NEXT: mulld 4, 4, 9
26053 ; PWR5-NEXT: li 5, 54
26054 ; PWR5-NEXT: subfic 3, 3, 54
26055 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26056 ; PWR5-NEXT: subfe 3, 5, 5
26057 ; PWR5-NEXT: subfic 4, 4, 54
26058 ; PWR5-NEXT: subfe 4, 5, 5
26059 ; PWR5-NEXT: blr
26063 ; PWR6-NEXT: lis 5, 21845
26064 ; PWR6-NEXT: lis 6, 13107
26065 ; PWR6-NEXT: ori 5, 5, 21845
26066 ; PWR6-NEXT: rotldi 8, 4, 63
26067 ; PWR6-NEXT: rotldi 9, 3, 63
26068 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26069 ; PWR6-NEXT: and 8, 8, 5
26070 ; PWR6-NEXT: and 5, 9, 5
26071 ; PWR6-NEXT: ori 6, 6, 13107
26072 ; PWR6-NEXT: sub 3, 3, 5
26073 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26074 ; PWR6-NEXT: sub 4, 4, 8
26075 ; PWR6-NEXT: and 8, 3, 6
26076 ; PWR6-NEXT: rotldi 3, 3, 62
26077 ; PWR6-NEXT: and 3, 3, 6
26078 ; PWR6-NEXT: lis 7, 3855
26079 ; PWR6-NEXT: and 5, 4, 6
26080 ; PWR6-NEXT: rotldi 4, 4, 62
26081 ; PWR6-NEXT: add 3, 8, 3
26082 ; PWR6-NEXT: lis 9, 257
26083 ; PWR6-NEXT: ori 7, 7, 3855
26084 ; PWR6-NEXT: and 4, 4, 6
26085 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26086 ; PWR6-NEXT: ori 9, 9, 257
26087 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26088 ; PWR6-NEXT: add 4, 5, 4
26089 ; PWR6-NEXT: add 3, 3, 6
26090 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26091 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26092 ; PWR6-NEXT: and 3, 3, 7
26093 ; PWR6-NEXT: add 4, 4, 5
26094 ; PWR6-NEXT: mulld 3, 3, 9
26095 ; PWR6-NEXT: and 4, 4, 7
26096 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26097 ; PWR6-NEXT: mulld 4, 4, 9
26098 ; PWR6-NEXT: li 5, 54
26099 ; PWR6-NEXT: subfic 3, 3, 54
26100 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26101 ; PWR6-NEXT: subfe 3, 5, 5
26102 ; PWR6-NEXT: subfic 4, 4, 54
26103 ; PWR6-NEXT: subfe 4, 5, 5
26104 ; PWR6-NEXT: blr
26108 ; PWR7-NEXT: addi 3, 1, -32
26109 ; PWR7-NEXT: li 5, 0
26110 ; PWR7-NEXT: li 6, -1
26111 ; PWR7-NEXT: stxvd2x 34, 0, 3
26112 ; PWR7-NEXT: ld 3, -24(1)
26113 ; PWR7-NEXT: ld 4, -32(1)
26114 ; PWR7-NEXT: popcntd 3, 3
26115 ; PWR7-NEXT: popcntd 4, 4
26116 ; PWR7-NEXT: cmpldi 3, 54
26117 ; PWR7-NEXT: iselgt 3, 6, 5
26118 ; PWR7-NEXT: cmpldi 4, 54
26119 ; PWR7-NEXT: iselgt 4, 6, 5
26120 ; PWR7-NEXT: std 3, -8(1)
26121 ; PWR7-NEXT: addi 3, 1, -16
26122 ; PWR7-NEXT: std 4, -16(1)
26123 ; PWR7-NEXT: lxvd2x 34, 0, 3
26124 ; PWR7-NEXT: blr
26128 ; PWR8-NEXT: addis 3, 2, .LCPI206_0@toc@ha
26129 ; PWR8-NEXT: vpopcntd 2, 2
26130 ; PWR8-NEXT: addi 3, 3, .LCPI206_0@toc@l
26131 ; PWR8-NEXT: lxvd2x 35, 0, 3
26132 ; PWR8-NEXT: vcmpgtud 2, 2, 3
26133 ; PWR8-NEXT: blr
26137 ; PWR9-NEXT: addis 3, 2, .LCPI206_0@toc@ha
26138 ; PWR9-NEXT: vpopcntd 2, 2
26139 ; PWR9-NEXT: addi 3, 3, .LCPI206_0@toc@l
26140 ; PWR9-NEXT: lxvx 35, 0, 3
26141 ; PWR9-NEXT: vcmpgtud 2, 2, 3
26142 ; PWR9-NEXT: blr
26152 ; PWR5-NEXT: lis 5, 21845
26153 ; PWR5-NEXT: lis 6, 13107
26154 ; PWR5-NEXT: ori 5, 5, 21845
26155 ; PWR5-NEXT: rotldi 8, 4, 63
26156 ; PWR5-NEXT: rotldi 9, 3, 63
26157 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26158 ; PWR5-NEXT: and 8, 8, 5
26159 ; PWR5-NEXT: and 5, 9, 5
26160 ; PWR5-NEXT: ori 6, 6, 13107
26161 ; PWR5-NEXT: sub 3, 3, 5
26162 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26163 ; PWR5-NEXT: sub 4, 4, 8
26164 ; PWR5-NEXT: and 8, 3, 6
26165 ; PWR5-NEXT: rotldi 3, 3, 62
26166 ; PWR5-NEXT: and 3, 3, 6
26167 ; PWR5-NEXT: lis 7, 3855
26168 ; PWR5-NEXT: and 5, 4, 6
26169 ; PWR5-NEXT: rotldi 4, 4, 62
26170 ; PWR5-NEXT: add 3, 8, 3
26171 ; PWR5-NEXT: lis 9, 257
26172 ; PWR5-NEXT: ori 7, 7, 3855
26173 ; PWR5-NEXT: and 4, 4, 6
26174 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26175 ; PWR5-NEXT: ori 9, 9, 257
26176 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26177 ; PWR5-NEXT: add 4, 5, 4
26178 ; PWR5-NEXT: add 3, 3, 6
26179 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26180 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26181 ; PWR5-NEXT: and 3, 3, 7
26182 ; PWR5-NEXT: add 4, 4, 5
26183 ; PWR5-NEXT: mulld 3, 3, 9
26184 ; PWR5-NEXT: and 4, 4, 7
26185 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26186 ; PWR5-NEXT: li 5, 55
26187 ; PWR5-NEXT: mulld 4, 4, 9
26188 ; PWR5-NEXT: subc 6, 3, 5
26189 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26190 ; PWR5-NEXT: subfe 3, 3, 3
26191 ; PWR5-NEXT: subc 5, 4, 5
26192 ; PWR5-NEXT: subfe 4, 4, 4
26193 ; PWR5-NEXT: blr
26197 ; PWR6-NEXT: lis 5, 21845
26198 ; PWR6-NEXT: lis 6, 13107
26199 ; PWR6-NEXT: ori 5, 5, 21845
26200 ; PWR6-NEXT: rotldi 8, 4, 63
26201 ; PWR6-NEXT: rotldi 9, 3, 63
26202 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26203 ; PWR6-NEXT: and 8, 8, 5
26204 ; PWR6-NEXT: and 5, 9, 5
26205 ; PWR6-NEXT: ori 6, 6, 13107
26206 ; PWR6-NEXT: sub 3, 3, 5
26207 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26208 ; PWR6-NEXT: sub 4, 4, 8
26209 ; PWR6-NEXT: and 8, 3, 6
26210 ; PWR6-NEXT: rotldi 3, 3, 62
26211 ; PWR6-NEXT: and 3, 3, 6
26212 ; PWR6-NEXT: lis 7, 3855
26213 ; PWR6-NEXT: and 5, 4, 6
26214 ; PWR6-NEXT: rotldi 4, 4, 62
26215 ; PWR6-NEXT: add 3, 8, 3
26216 ; PWR6-NEXT: lis 9, 257
26217 ; PWR6-NEXT: ori 7, 7, 3855
26218 ; PWR6-NEXT: and 4, 4, 6
26219 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26220 ; PWR6-NEXT: ori 9, 9, 257
26221 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26222 ; PWR6-NEXT: add 4, 5, 4
26223 ; PWR6-NEXT: add 3, 3, 6
26224 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26225 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26226 ; PWR6-NEXT: and 3, 3, 7
26227 ; PWR6-NEXT: add 4, 4, 5
26228 ; PWR6-NEXT: mulld 3, 3, 9
26229 ; PWR6-NEXT: and 4, 4, 7
26230 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26231 ; PWR6-NEXT: li 5, 55
26232 ; PWR6-NEXT: mulld 4, 4, 9
26233 ; PWR6-NEXT: subc 6, 3, 5
26234 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26235 ; PWR6-NEXT: subfe 3, 3, 3
26236 ; PWR6-NEXT: subc 5, 4, 5
26237 ; PWR6-NEXT: subfe 4, 4, 4
26238 ; PWR6-NEXT: blr
26242 ; PWR7-NEXT: addi 3, 1, -32
26243 ; PWR7-NEXT: li 5, 0
26244 ; PWR7-NEXT: li 6, -1
26245 ; PWR7-NEXT: stxvd2x 34, 0, 3
26246 ; PWR7-NEXT: ld 3, -24(1)
26247 ; PWR7-NEXT: ld 4, -32(1)
26248 ; PWR7-NEXT: popcntd 3, 3
26249 ; PWR7-NEXT: popcntd 4, 4
26250 ; PWR7-NEXT: cmpldi 3, 55
26251 ; PWR7-NEXT: isellt 3, 6, 5
26252 ; PWR7-NEXT: cmpldi 4, 55
26253 ; PWR7-NEXT: isellt 4, 6, 5
26254 ; PWR7-NEXT: std 3, -8(1)
26255 ; PWR7-NEXT: addi 3, 1, -16
26256 ; PWR7-NEXT: std 4, -16(1)
26257 ; PWR7-NEXT: lxvd2x 34, 0, 3
26258 ; PWR7-NEXT: blr
26262 ; PWR8-NEXT: addis 3, 2, .LCPI207_0@toc@ha
26263 ; PWR8-NEXT: vpopcntd 2, 2
26264 ; PWR8-NEXT: addi 3, 3, .LCPI207_0@toc@l
26265 ; PWR8-NEXT: lxvd2x 35, 0, 3
26266 ; PWR8-NEXT: vcmpgtud 2, 3, 2
26267 ; PWR8-NEXT: blr
26271 ; PWR9-NEXT: addis 3, 2, .LCPI207_0@toc@ha
26272 ; PWR9-NEXT: vpopcntd 2, 2
26273 ; PWR9-NEXT: addi 3, 3, .LCPI207_0@toc@l
26274 ; PWR9-NEXT: lxvx 35, 0, 3
26275 ; PWR9-NEXT: vcmpgtud 2, 3, 2
26276 ; PWR9-NEXT: blr
26286 ; PWR5-NEXT: lis 5, 21845
26287 ; PWR5-NEXT: lis 6, 13107
26288 ; PWR5-NEXT: ori 5, 5, 21845
26289 ; PWR5-NEXT: rotldi 8, 4, 63
26290 ; PWR5-NEXT: rotldi 9, 3, 63
26291 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26292 ; PWR5-NEXT: and 8, 8, 5
26293 ; PWR5-NEXT: and 5, 9, 5
26294 ; PWR5-NEXT: ori 6, 6, 13107
26295 ; PWR5-NEXT: sub 3, 3, 5
26296 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26297 ; PWR5-NEXT: sub 4, 4, 8
26298 ; PWR5-NEXT: and 8, 3, 6
26299 ; PWR5-NEXT: rotldi 3, 3, 62
26300 ; PWR5-NEXT: and 3, 3, 6
26301 ; PWR5-NEXT: lis 7, 3855
26302 ; PWR5-NEXT: and 5, 4, 6
26303 ; PWR5-NEXT: rotldi 4, 4, 62
26304 ; PWR5-NEXT: add 3, 8, 3
26305 ; PWR5-NEXT: lis 9, 257
26306 ; PWR5-NEXT: ori 7, 7, 3855
26307 ; PWR5-NEXT: and 4, 4, 6
26308 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26309 ; PWR5-NEXT: ori 9, 9, 257
26310 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26311 ; PWR5-NEXT: add 4, 5, 4
26312 ; PWR5-NEXT: add 3, 3, 6
26313 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26314 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26315 ; PWR5-NEXT: and 3, 3, 7
26316 ; PWR5-NEXT: add 4, 4, 5
26317 ; PWR5-NEXT: mulld 3, 3, 9
26318 ; PWR5-NEXT: and 4, 4, 7
26319 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26320 ; PWR5-NEXT: mulld 4, 4, 9
26321 ; PWR5-NEXT: li 5, 55
26322 ; PWR5-NEXT: subfic 3, 3, 55
26323 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26324 ; PWR5-NEXT: subfe 3, 5, 5
26325 ; PWR5-NEXT: subfic 4, 4, 55
26326 ; PWR5-NEXT: subfe 4, 5, 5
26327 ; PWR5-NEXT: blr
26331 ; PWR6-NEXT: lis 5, 21845
26332 ; PWR6-NEXT: lis 6, 13107
26333 ; PWR6-NEXT: ori 5, 5, 21845
26334 ; PWR6-NEXT: rotldi 8, 4, 63
26335 ; PWR6-NEXT: rotldi 9, 3, 63
26336 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26337 ; PWR6-NEXT: and 8, 8, 5
26338 ; PWR6-NEXT: and 5, 9, 5
26339 ; PWR6-NEXT: ori 6, 6, 13107
26340 ; PWR6-NEXT: sub 3, 3, 5
26341 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26342 ; PWR6-NEXT: sub 4, 4, 8
26343 ; PWR6-NEXT: and 8, 3, 6
26344 ; PWR6-NEXT: rotldi 3, 3, 62
26345 ; PWR6-NEXT: and 3, 3, 6
26346 ; PWR6-NEXT: lis 7, 3855
26347 ; PWR6-NEXT: and 5, 4, 6
26348 ; PWR6-NEXT: rotldi 4, 4, 62
26349 ; PWR6-NEXT: add 3, 8, 3
26350 ; PWR6-NEXT: lis 9, 257
26351 ; PWR6-NEXT: ori 7, 7, 3855
26352 ; PWR6-NEXT: and 4, 4, 6
26353 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26354 ; PWR6-NEXT: ori 9, 9, 257
26355 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26356 ; PWR6-NEXT: add 4, 5, 4
26357 ; PWR6-NEXT: add 3, 3, 6
26358 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26359 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26360 ; PWR6-NEXT: and 3, 3, 7
26361 ; PWR6-NEXT: add 4, 4, 5
26362 ; PWR6-NEXT: mulld 3, 3, 9
26363 ; PWR6-NEXT: and 4, 4, 7
26364 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26365 ; PWR6-NEXT: mulld 4, 4, 9
26366 ; PWR6-NEXT: li 5, 55
26367 ; PWR6-NEXT: subfic 3, 3, 55
26368 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26369 ; PWR6-NEXT: subfe 3, 5, 5
26370 ; PWR6-NEXT: subfic 4, 4, 55
26371 ; PWR6-NEXT: subfe 4, 5, 5
26372 ; PWR6-NEXT: blr
26376 ; PWR7-NEXT: addi 3, 1, -32
26377 ; PWR7-NEXT: li 5, 0
26378 ; PWR7-NEXT: li 6, -1
26379 ; PWR7-NEXT: stxvd2x 34, 0, 3
26380 ; PWR7-NEXT: ld 3, -24(1)
26381 ; PWR7-NEXT: ld 4, -32(1)
26382 ; PWR7-NEXT: popcntd 3, 3
26383 ; PWR7-NEXT: popcntd 4, 4
26384 ; PWR7-NEXT: cmpldi 3, 55
26385 ; PWR7-NEXT: iselgt 3, 6, 5
26386 ; PWR7-NEXT: cmpldi 4, 55
26387 ; PWR7-NEXT: iselgt 4, 6, 5
26388 ; PWR7-NEXT: std 3, -8(1)
26389 ; PWR7-NEXT: addi 3, 1, -16
26390 ; PWR7-NEXT: std 4, -16(1)
26391 ; PWR7-NEXT: lxvd2x 34, 0, 3
26392 ; PWR7-NEXT: blr
26396 ; PWR8-NEXT: addis 3, 2, .LCPI208_0@toc@ha
26397 ; PWR8-NEXT: vpopcntd 2, 2
26398 ; PWR8-NEXT: addi 3, 3, .LCPI208_0@toc@l
26399 ; PWR8-NEXT: lxvd2x 35, 0, 3
26400 ; PWR8-NEXT: vcmpgtud 2, 2, 3
26401 ; PWR8-NEXT: blr
26405 ; PWR9-NEXT: addis 3, 2, .LCPI208_0@toc@ha
26406 ; PWR9-NEXT: vpopcntd 2, 2
26407 ; PWR9-NEXT: addi 3, 3, .LCPI208_0@toc@l
26408 ; PWR9-NEXT: lxvx 35, 0, 3
26409 ; PWR9-NEXT: vcmpgtud 2, 2, 3
26410 ; PWR9-NEXT: blr
26420 ; PWR5-NEXT: lis 5, 21845
26421 ; PWR5-NEXT: lis 6, 13107
26422 ; PWR5-NEXT: ori 5, 5, 21845
26423 ; PWR5-NEXT: rotldi 8, 4, 63
26424 ; PWR5-NEXT: rotldi 9, 3, 63
26425 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26426 ; PWR5-NEXT: and 8, 8, 5
26427 ; PWR5-NEXT: and 5, 9, 5
26428 ; PWR5-NEXT: ori 6, 6, 13107
26429 ; PWR5-NEXT: sub 3, 3, 5
26430 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26431 ; PWR5-NEXT: sub 4, 4, 8
26432 ; PWR5-NEXT: and 8, 3, 6
26433 ; PWR5-NEXT: rotldi 3, 3, 62
26434 ; PWR5-NEXT: and 3, 3, 6
26435 ; PWR5-NEXT: lis 7, 3855
26436 ; PWR5-NEXT: and 5, 4, 6
26437 ; PWR5-NEXT: rotldi 4, 4, 62
26438 ; PWR5-NEXT: add 3, 8, 3
26439 ; PWR5-NEXT: lis 9, 257
26440 ; PWR5-NEXT: ori 7, 7, 3855
26441 ; PWR5-NEXT: and 4, 4, 6
26442 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26443 ; PWR5-NEXT: ori 9, 9, 257
26444 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26445 ; PWR5-NEXT: add 4, 5, 4
26446 ; PWR5-NEXT: add 3, 3, 6
26447 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26448 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26449 ; PWR5-NEXT: and 3, 3, 7
26450 ; PWR5-NEXT: add 4, 4, 5
26451 ; PWR5-NEXT: mulld 3, 3, 9
26452 ; PWR5-NEXT: and 4, 4, 7
26453 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26454 ; PWR5-NEXT: li 5, 56
26455 ; PWR5-NEXT: mulld 4, 4, 9
26456 ; PWR5-NEXT: subc 6, 3, 5
26457 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26458 ; PWR5-NEXT: subfe 3, 3, 3
26459 ; PWR5-NEXT: subc 5, 4, 5
26460 ; PWR5-NEXT: subfe 4, 4, 4
26461 ; PWR5-NEXT: blr
26465 ; PWR6-NEXT: lis 5, 21845
26466 ; PWR6-NEXT: lis 6, 13107
26467 ; PWR6-NEXT: ori 5, 5, 21845
26468 ; PWR6-NEXT: rotldi 8, 4, 63
26469 ; PWR6-NEXT: rotldi 9, 3, 63
26470 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26471 ; PWR6-NEXT: and 8, 8, 5
26472 ; PWR6-NEXT: and 5, 9, 5
26473 ; PWR6-NEXT: ori 6, 6, 13107
26474 ; PWR6-NEXT: sub 3, 3, 5
26475 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26476 ; PWR6-NEXT: sub 4, 4, 8
26477 ; PWR6-NEXT: and 8, 3, 6
26478 ; PWR6-NEXT: rotldi 3, 3, 62
26479 ; PWR6-NEXT: and 3, 3, 6
26480 ; PWR6-NEXT: lis 7, 3855
26481 ; PWR6-NEXT: and 5, 4, 6
26482 ; PWR6-NEXT: rotldi 4, 4, 62
26483 ; PWR6-NEXT: add 3, 8, 3
26484 ; PWR6-NEXT: lis 9, 257
26485 ; PWR6-NEXT: ori 7, 7, 3855
26486 ; PWR6-NEXT: and 4, 4, 6
26487 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26488 ; PWR6-NEXT: ori 9, 9, 257
26489 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26490 ; PWR6-NEXT: add 4, 5, 4
26491 ; PWR6-NEXT: add 3, 3, 6
26492 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26493 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26494 ; PWR6-NEXT: and 3, 3, 7
26495 ; PWR6-NEXT: add 4, 4, 5
26496 ; PWR6-NEXT: mulld 3, 3, 9
26497 ; PWR6-NEXT: and 4, 4, 7
26498 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26499 ; PWR6-NEXT: li 5, 56
26500 ; PWR6-NEXT: mulld 4, 4, 9
26501 ; PWR6-NEXT: subc 6, 3, 5
26502 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26503 ; PWR6-NEXT: subfe 3, 3, 3
26504 ; PWR6-NEXT: subc 5, 4, 5
26505 ; PWR6-NEXT: subfe 4, 4, 4
26506 ; PWR6-NEXT: blr
26510 ; PWR7-NEXT: addi 3, 1, -32
26511 ; PWR7-NEXT: li 5, 0
26512 ; PWR7-NEXT: li 6, -1
26513 ; PWR7-NEXT: stxvd2x 34, 0, 3
26514 ; PWR7-NEXT: ld 3, -24(1)
26515 ; PWR7-NEXT: ld 4, -32(1)
26516 ; PWR7-NEXT: popcntd 3, 3
26517 ; PWR7-NEXT: popcntd 4, 4
26518 ; PWR7-NEXT: cmpldi 3, 56
26519 ; PWR7-NEXT: isellt 3, 6, 5
26520 ; PWR7-NEXT: cmpldi 4, 56
26521 ; PWR7-NEXT: isellt 4, 6, 5
26522 ; PWR7-NEXT: std 3, -8(1)
26523 ; PWR7-NEXT: addi 3, 1, -16
26524 ; PWR7-NEXT: std 4, -16(1)
26525 ; PWR7-NEXT: lxvd2x 34, 0, 3
26526 ; PWR7-NEXT: blr
26530 ; PWR8-NEXT: addis 3, 2, .LCPI209_0@toc@ha
26531 ; PWR8-NEXT: vpopcntd 2, 2
26532 ; PWR8-NEXT: addi 3, 3, .LCPI209_0@toc@l
26533 ; PWR8-NEXT: lxvd2x 35, 0, 3
26534 ; PWR8-NEXT: vcmpgtud 2, 3, 2
26535 ; PWR8-NEXT: blr
26539 ; PWR9-NEXT: addis 3, 2, .LCPI209_0@toc@ha
26540 ; PWR9-NEXT: vpopcntd 2, 2
26541 ; PWR9-NEXT: addi 3, 3, .LCPI209_0@toc@l
26542 ; PWR9-NEXT: lxvx 35, 0, 3
26543 ; PWR9-NEXT: vcmpgtud 2, 3, 2
26544 ; PWR9-NEXT: blr
26554 ; PWR5-NEXT: lis 5, 21845
26555 ; PWR5-NEXT: lis 6, 13107
26556 ; PWR5-NEXT: ori 5, 5, 21845
26557 ; PWR5-NEXT: rotldi 8, 4, 63
26558 ; PWR5-NEXT: rotldi 9, 3, 63
26559 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26560 ; PWR5-NEXT: and 8, 8, 5
26561 ; PWR5-NEXT: and 5, 9, 5
26562 ; PWR5-NEXT: ori 6, 6, 13107
26563 ; PWR5-NEXT: sub 3, 3, 5
26564 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26565 ; PWR5-NEXT: sub 4, 4, 8
26566 ; PWR5-NEXT: and 8, 3, 6
26567 ; PWR5-NEXT: rotldi 3, 3, 62
26568 ; PWR5-NEXT: and 3, 3, 6
26569 ; PWR5-NEXT: lis 7, 3855
26570 ; PWR5-NEXT: and 5, 4, 6
26571 ; PWR5-NEXT: rotldi 4, 4, 62
26572 ; PWR5-NEXT: add 3, 8, 3
26573 ; PWR5-NEXT: lis 9, 257
26574 ; PWR5-NEXT: ori 7, 7, 3855
26575 ; PWR5-NEXT: and 4, 4, 6
26576 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26577 ; PWR5-NEXT: ori 9, 9, 257
26578 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26579 ; PWR5-NEXT: add 4, 5, 4
26580 ; PWR5-NEXT: add 3, 3, 6
26581 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26582 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26583 ; PWR5-NEXT: and 3, 3, 7
26584 ; PWR5-NEXT: add 4, 4, 5
26585 ; PWR5-NEXT: mulld 3, 3, 9
26586 ; PWR5-NEXT: and 4, 4, 7
26587 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26588 ; PWR5-NEXT: mulld 4, 4, 9
26589 ; PWR5-NEXT: li 5, 56
26590 ; PWR5-NEXT: subfic 3, 3, 56
26591 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26592 ; PWR5-NEXT: subfe 3, 5, 5
26593 ; PWR5-NEXT: subfic 4, 4, 56
26594 ; PWR5-NEXT: subfe 4, 5, 5
26595 ; PWR5-NEXT: blr
26599 ; PWR6-NEXT: lis 5, 21845
26600 ; PWR6-NEXT: lis 6, 13107
26601 ; PWR6-NEXT: ori 5, 5, 21845
26602 ; PWR6-NEXT: rotldi 8, 4, 63
26603 ; PWR6-NEXT: rotldi 9, 3, 63
26604 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26605 ; PWR6-NEXT: and 8, 8, 5
26606 ; PWR6-NEXT: and 5, 9, 5
26607 ; PWR6-NEXT: ori 6, 6, 13107
26608 ; PWR6-NEXT: sub 3, 3, 5
26609 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26610 ; PWR6-NEXT: sub 4, 4, 8
26611 ; PWR6-NEXT: and 8, 3, 6
26612 ; PWR6-NEXT: rotldi 3, 3, 62
26613 ; PWR6-NEXT: and 3, 3, 6
26614 ; PWR6-NEXT: lis 7, 3855
26615 ; PWR6-NEXT: and 5, 4, 6
26616 ; PWR6-NEXT: rotldi 4, 4, 62
26617 ; PWR6-NEXT: add 3, 8, 3
26618 ; PWR6-NEXT: lis 9, 257
26619 ; PWR6-NEXT: ori 7, 7, 3855
26620 ; PWR6-NEXT: and 4, 4, 6
26621 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26622 ; PWR6-NEXT: ori 9, 9, 257
26623 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26624 ; PWR6-NEXT: add 4, 5, 4
26625 ; PWR6-NEXT: add 3, 3, 6
26626 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26627 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26628 ; PWR6-NEXT: and 3, 3, 7
26629 ; PWR6-NEXT: add 4, 4, 5
26630 ; PWR6-NEXT: mulld 3, 3, 9
26631 ; PWR6-NEXT: and 4, 4, 7
26632 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26633 ; PWR6-NEXT: mulld 4, 4, 9
26634 ; PWR6-NEXT: li 5, 56
26635 ; PWR6-NEXT: subfic 3, 3, 56
26636 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26637 ; PWR6-NEXT: subfe 3, 5, 5
26638 ; PWR6-NEXT: subfic 4, 4, 56
26639 ; PWR6-NEXT: subfe 4, 5, 5
26640 ; PWR6-NEXT: blr
26644 ; PWR7-NEXT: addi 3, 1, -32
26645 ; PWR7-NEXT: li 5, 0
26646 ; PWR7-NEXT: li 6, -1
26647 ; PWR7-NEXT: stxvd2x 34, 0, 3
26648 ; PWR7-NEXT: ld 3, -24(1)
26649 ; PWR7-NEXT: ld 4, -32(1)
26650 ; PWR7-NEXT: popcntd 3, 3
26651 ; PWR7-NEXT: popcntd 4, 4
26652 ; PWR7-NEXT: cmpldi 3, 56
26653 ; PWR7-NEXT: iselgt 3, 6, 5
26654 ; PWR7-NEXT: cmpldi 4, 56
26655 ; PWR7-NEXT: iselgt 4, 6, 5
26656 ; PWR7-NEXT: std 3, -8(1)
26657 ; PWR7-NEXT: addi 3, 1, -16
26658 ; PWR7-NEXT: std 4, -16(1)
26659 ; PWR7-NEXT: lxvd2x 34, 0, 3
26660 ; PWR7-NEXT: blr
26664 ; PWR8-NEXT: addis 3, 2, .LCPI210_0@toc@ha
26665 ; PWR8-NEXT: vpopcntd 2, 2
26666 ; PWR8-NEXT: addi 3, 3, .LCPI210_0@toc@l
26667 ; PWR8-NEXT: lxvd2x 35, 0, 3
26668 ; PWR8-NEXT: vcmpgtud 2, 2, 3
26669 ; PWR8-NEXT: blr
26673 ; PWR9-NEXT: addis 3, 2, .LCPI210_0@toc@ha
26674 ; PWR9-NEXT: vpopcntd 2, 2
26675 ; PWR9-NEXT: addi 3, 3, .LCPI210_0@toc@l
26676 ; PWR9-NEXT: lxvx 35, 0, 3
26677 ; PWR9-NEXT: vcmpgtud 2, 2, 3
26678 ; PWR9-NEXT: blr
26688 ; PWR5-NEXT: lis 5, 21845
26689 ; PWR5-NEXT: lis 6, 13107
26690 ; PWR5-NEXT: ori 5, 5, 21845
26691 ; PWR5-NEXT: rotldi 8, 4, 63
26692 ; PWR5-NEXT: rotldi 9, 3, 63
26693 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26694 ; PWR5-NEXT: and 8, 8, 5
26695 ; PWR5-NEXT: and 5, 9, 5
26696 ; PWR5-NEXT: ori 6, 6, 13107
26697 ; PWR5-NEXT: sub 3, 3, 5
26698 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26699 ; PWR5-NEXT: sub 4, 4, 8
26700 ; PWR5-NEXT: and 8, 3, 6
26701 ; PWR5-NEXT: rotldi 3, 3, 62
26702 ; PWR5-NEXT: and 3, 3, 6
26703 ; PWR5-NEXT: lis 7, 3855
26704 ; PWR5-NEXT: and 5, 4, 6
26705 ; PWR5-NEXT: rotldi 4, 4, 62
26706 ; PWR5-NEXT: add 3, 8, 3
26707 ; PWR5-NEXT: lis 9, 257
26708 ; PWR5-NEXT: ori 7, 7, 3855
26709 ; PWR5-NEXT: and 4, 4, 6
26710 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26711 ; PWR5-NEXT: ori 9, 9, 257
26712 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26713 ; PWR5-NEXT: add 4, 5, 4
26714 ; PWR5-NEXT: add 3, 3, 6
26715 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26716 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26717 ; PWR5-NEXT: and 3, 3, 7
26718 ; PWR5-NEXT: add 4, 4, 5
26719 ; PWR5-NEXT: mulld 3, 3, 9
26720 ; PWR5-NEXT: and 4, 4, 7
26721 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26722 ; PWR5-NEXT: li 5, 57
26723 ; PWR5-NEXT: mulld 4, 4, 9
26724 ; PWR5-NEXT: subc 6, 3, 5
26725 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26726 ; PWR5-NEXT: subfe 3, 3, 3
26727 ; PWR5-NEXT: subc 5, 4, 5
26728 ; PWR5-NEXT: subfe 4, 4, 4
26729 ; PWR5-NEXT: blr
26733 ; PWR6-NEXT: lis 5, 21845
26734 ; PWR6-NEXT: lis 6, 13107
26735 ; PWR6-NEXT: ori 5, 5, 21845
26736 ; PWR6-NEXT: rotldi 8, 4, 63
26737 ; PWR6-NEXT: rotldi 9, 3, 63
26738 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26739 ; PWR6-NEXT: and 8, 8, 5
26740 ; PWR6-NEXT: and 5, 9, 5
26741 ; PWR6-NEXT: ori 6, 6, 13107
26742 ; PWR6-NEXT: sub 3, 3, 5
26743 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26744 ; PWR6-NEXT: sub 4, 4, 8
26745 ; PWR6-NEXT: and 8, 3, 6
26746 ; PWR6-NEXT: rotldi 3, 3, 62
26747 ; PWR6-NEXT: and 3, 3, 6
26748 ; PWR6-NEXT: lis 7, 3855
26749 ; PWR6-NEXT: and 5, 4, 6
26750 ; PWR6-NEXT: rotldi 4, 4, 62
26751 ; PWR6-NEXT: add 3, 8, 3
26752 ; PWR6-NEXT: lis 9, 257
26753 ; PWR6-NEXT: ori 7, 7, 3855
26754 ; PWR6-NEXT: and 4, 4, 6
26755 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26756 ; PWR6-NEXT: ori 9, 9, 257
26757 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26758 ; PWR6-NEXT: add 4, 5, 4
26759 ; PWR6-NEXT: add 3, 3, 6
26760 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26761 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26762 ; PWR6-NEXT: and 3, 3, 7
26763 ; PWR6-NEXT: add 4, 4, 5
26764 ; PWR6-NEXT: mulld 3, 3, 9
26765 ; PWR6-NEXT: and 4, 4, 7
26766 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26767 ; PWR6-NEXT: li 5, 57
26768 ; PWR6-NEXT: mulld 4, 4, 9
26769 ; PWR6-NEXT: subc 6, 3, 5
26770 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26771 ; PWR6-NEXT: subfe 3, 3, 3
26772 ; PWR6-NEXT: subc 5, 4, 5
26773 ; PWR6-NEXT: subfe 4, 4, 4
26774 ; PWR6-NEXT: blr
26778 ; PWR7-NEXT: addi 3, 1, -32
26779 ; PWR7-NEXT: li 5, 0
26780 ; PWR7-NEXT: li 6, -1
26781 ; PWR7-NEXT: stxvd2x 34, 0, 3
26782 ; PWR7-NEXT: ld 3, -24(1)
26783 ; PWR7-NEXT: ld 4, -32(1)
26784 ; PWR7-NEXT: popcntd 3, 3
26785 ; PWR7-NEXT: popcntd 4, 4
26786 ; PWR7-NEXT: cmpldi 3, 57
26787 ; PWR7-NEXT: isellt 3, 6, 5
26788 ; PWR7-NEXT: cmpldi 4, 57
26789 ; PWR7-NEXT: isellt 4, 6, 5
26790 ; PWR7-NEXT: std 3, -8(1)
26791 ; PWR7-NEXT: addi 3, 1, -16
26792 ; PWR7-NEXT: std 4, -16(1)
26793 ; PWR7-NEXT: lxvd2x 34, 0, 3
26794 ; PWR7-NEXT: blr
26798 ; PWR8-NEXT: addis 3, 2, .LCPI211_0@toc@ha
26799 ; PWR8-NEXT: vpopcntd 2, 2
26800 ; PWR8-NEXT: addi 3, 3, .LCPI211_0@toc@l
26801 ; PWR8-NEXT: lxvd2x 35, 0, 3
26802 ; PWR8-NEXT: vcmpgtud 2, 3, 2
26803 ; PWR8-NEXT: blr
26807 ; PWR9-NEXT: addis 3, 2, .LCPI211_0@toc@ha
26808 ; PWR9-NEXT: vpopcntd 2, 2
26809 ; PWR9-NEXT: addi 3, 3, .LCPI211_0@toc@l
26810 ; PWR9-NEXT: lxvx 35, 0, 3
26811 ; PWR9-NEXT: vcmpgtud 2, 3, 2
26812 ; PWR9-NEXT: blr
26822 ; PWR5-NEXT: lis 5, 21845
26823 ; PWR5-NEXT: lis 6, 13107
26824 ; PWR5-NEXT: ori 5, 5, 21845
26825 ; PWR5-NEXT: rotldi 8, 4, 63
26826 ; PWR5-NEXT: rotldi 9, 3, 63
26827 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26828 ; PWR5-NEXT: and 8, 8, 5
26829 ; PWR5-NEXT: and 5, 9, 5
26830 ; PWR5-NEXT: ori 6, 6, 13107
26831 ; PWR5-NEXT: sub 3, 3, 5
26832 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26833 ; PWR5-NEXT: sub 4, 4, 8
26834 ; PWR5-NEXT: and 8, 3, 6
26835 ; PWR5-NEXT: rotldi 3, 3, 62
26836 ; PWR5-NEXT: and 3, 3, 6
26837 ; PWR5-NEXT: lis 7, 3855
26838 ; PWR5-NEXT: and 5, 4, 6
26839 ; PWR5-NEXT: rotldi 4, 4, 62
26840 ; PWR5-NEXT: add 3, 8, 3
26841 ; PWR5-NEXT: lis 9, 257
26842 ; PWR5-NEXT: ori 7, 7, 3855
26843 ; PWR5-NEXT: and 4, 4, 6
26844 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26845 ; PWR5-NEXT: ori 9, 9, 257
26846 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26847 ; PWR5-NEXT: add 4, 5, 4
26848 ; PWR5-NEXT: add 3, 3, 6
26849 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26850 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26851 ; PWR5-NEXT: and 3, 3, 7
26852 ; PWR5-NEXT: add 4, 4, 5
26853 ; PWR5-NEXT: mulld 3, 3, 9
26854 ; PWR5-NEXT: and 4, 4, 7
26855 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26856 ; PWR5-NEXT: mulld 4, 4, 9
26857 ; PWR5-NEXT: li 5, 57
26858 ; PWR5-NEXT: subfic 3, 3, 57
26859 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26860 ; PWR5-NEXT: subfe 3, 5, 5
26861 ; PWR5-NEXT: subfic 4, 4, 57
26862 ; PWR5-NEXT: subfe 4, 5, 5
26863 ; PWR5-NEXT: blr
26867 ; PWR6-NEXT: lis 5, 21845
26868 ; PWR6-NEXT: lis 6, 13107
26869 ; PWR6-NEXT: ori 5, 5, 21845
26870 ; PWR6-NEXT: rotldi 8, 4, 63
26871 ; PWR6-NEXT: rotldi 9, 3, 63
26872 ; PWR6-NEXT: rldimi 5, 5, 32, 0
26873 ; PWR6-NEXT: and 8, 8, 5
26874 ; PWR6-NEXT: and 5, 9, 5
26875 ; PWR6-NEXT: ori 6, 6, 13107
26876 ; PWR6-NEXT: sub 3, 3, 5
26877 ; PWR6-NEXT: rldimi 6, 6, 32, 0
26878 ; PWR6-NEXT: sub 4, 4, 8
26879 ; PWR6-NEXT: and 8, 3, 6
26880 ; PWR6-NEXT: rotldi 3, 3, 62
26881 ; PWR6-NEXT: and 3, 3, 6
26882 ; PWR6-NEXT: lis 7, 3855
26883 ; PWR6-NEXT: and 5, 4, 6
26884 ; PWR6-NEXT: rotldi 4, 4, 62
26885 ; PWR6-NEXT: add 3, 8, 3
26886 ; PWR6-NEXT: lis 9, 257
26887 ; PWR6-NEXT: ori 7, 7, 3855
26888 ; PWR6-NEXT: and 4, 4, 6
26889 ; PWR6-NEXT: rldicl 6, 3, 60, 4
26890 ; PWR6-NEXT: ori 9, 9, 257
26891 ; PWR6-NEXT: rldimi 7, 7, 32, 0
26892 ; PWR6-NEXT: add 4, 5, 4
26893 ; PWR6-NEXT: add 3, 3, 6
26894 ; PWR6-NEXT: rldimi 9, 9, 32, 0
26895 ; PWR6-NEXT: rldicl 5, 4, 60, 4
26896 ; PWR6-NEXT: and 3, 3, 7
26897 ; PWR6-NEXT: add 4, 4, 5
26898 ; PWR6-NEXT: mulld 3, 3, 9
26899 ; PWR6-NEXT: and 4, 4, 7
26900 ; PWR6-NEXT: rldicl 3, 3, 8, 56
26901 ; PWR6-NEXT: mulld 4, 4, 9
26902 ; PWR6-NEXT: li 5, 57
26903 ; PWR6-NEXT: subfic 3, 3, 57
26904 ; PWR6-NEXT: rldicl 4, 4, 8, 56
26905 ; PWR6-NEXT: subfe 3, 5, 5
26906 ; PWR6-NEXT: subfic 4, 4, 57
26907 ; PWR6-NEXT: subfe 4, 5, 5
26908 ; PWR6-NEXT: blr
26912 ; PWR7-NEXT: addi 3, 1, -32
26913 ; PWR7-NEXT: li 5, 0
26914 ; PWR7-NEXT: li 6, -1
26915 ; PWR7-NEXT: stxvd2x 34, 0, 3
26916 ; PWR7-NEXT: ld 3, -24(1)
26917 ; PWR7-NEXT: ld 4, -32(1)
26918 ; PWR7-NEXT: popcntd 3, 3
26919 ; PWR7-NEXT: popcntd 4, 4
26920 ; PWR7-NEXT: cmpldi 3, 57
26921 ; PWR7-NEXT: iselgt 3, 6, 5
26922 ; PWR7-NEXT: cmpldi 4, 57
26923 ; PWR7-NEXT: iselgt 4, 6, 5
26924 ; PWR7-NEXT: std 3, -8(1)
26925 ; PWR7-NEXT: addi 3, 1, -16
26926 ; PWR7-NEXT: std 4, -16(1)
26927 ; PWR7-NEXT: lxvd2x 34, 0, 3
26928 ; PWR7-NEXT: blr
26932 ; PWR8-NEXT: addis 3, 2, .LCPI212_0@toc@ha
26933 ; PWR8-NEXT: vpopcntd 2, 2
26934 ; PWR8-NEXT: addi 3, 3, .LCPI212_0@toc@l
26935 ; PWR8-NEXT: lxvd2x 35, 0, 3
26936 ; PWR8-NEXT: vcmpgtud 2, 2, 3
26937 ; PWR8-NEXT: blr
26941 ; PWR9-NEXT: addis 3, 2, .LCPI212_0@toc@ha
26942 ; PWR9-NEXT: vpopcntd 2, 2
26943 ; PWR9-NEXT: addi 3, 3, .LCPI212_0@toc@l
26944 ; PWR9-NEXT: lxvx 35, 0, 3
26945 ; PWR9-NEXT: vcmpgtud 2, 2, 3
26946 ; PWR9-NEXT: blr
26956 ; PWR5-NEXT: lis 5, 21845
26957 ; PWR5-NEXT: lis 6, 13107
26958 ; PWR5-NEXT: ori 5, 5, 21845
26959 ; PWR5-NEXT: rotldi 8, 4, 63
26960 ; PWR5-NEXT: rotldi 9, 3, 63
26961 ; PWR5-NEXT: rldimi 5, 5, 32, 0
26962 ; PWR5-NEXT: and 8, 8, 5
26963 ; PWR5-NEXT: and 5, 9, 5
26964 ; PWR5-NEXT: ori 6, 6, 13107
26965 ; PWR5-NEXT: sub 3, 3, 5
26966 ; PWR5-NEXT: rldimi 6, 6, 32, 0
26967 ; PWR5-NEXT: sub 4, 4, 8
26968 ; PWR5-NEXT: and 8, 3, 6
26969 ; PWR5-NEXT: rotldi 3, 3, 62
26970 ; PWR5-NEXT: and 3, 3, 6
26971 ; PWR5-NEXT: lis 7, 3855
26972 ; PWR5-NEXT: and 5, 4, 6
26973 ; PWR5-NEXT: rotldi 4, 4, 62
26974 ; PWR5-NEXT: add 3, 8, 3
26975 ; PWR5-NEXT: lis 9, 257
26976 ; PWR5-NEXT: ori 7, 7, 3855
26977 ; PWR5-NEXT: and 4, 4, 6
26978 ; PWR5-NEXT: rldicl 6, 3, 60, 4
26979 ; PWR5-NEXT: ori 9, 9, 257
26980 ; PWR5-NEXT: rldimi 7, 7, 32, 0
26981 ; PWR5-NEXT: add 4, 5, 4
26982 ; PWR5-NEXT: add 3, 3, 6
26983 ; PWR5-NEXT: rldimi 9, 9, 32, 0
26984 ; PWR5-NEXT: rldicl 5, 4, 60, 4
26985 ; PWR5-NEXT: and 3, 3, 7
26986 ; PWR5-NEXT: add 4, 4, 5
26987 ; PWR5-NEXT: mulld 3, 3, 9
26988 ; PWR5-NEXT: and 4, 4, 7
26989 ; PWR5-NEXT: rldicl 3, 3, 8, 56
26990 ; PWR5-NEXT: li 5, 58
26991 ; PWR5-NEXT: mulld 4, 4, 9
26992 ; PWR5-NEXT: subc 6, 3, 5
26993 ; PWR5-NEXT: rldicl 4, 4, 8, 56
26994 ; PWR5-NEXT: subfe 3, 3, 3
26995 ; PWR5-NEXT: subc 5, 4, 5
26996 ; PWR5-NEXT: subfe 4, 4, 4
26997 ; PWR5-NEXT: blr
27001 ; PWR6-NEXT: lis 5, 21845
27002 ; PWR6-NEXT: lis 6, 13107
27003 ; PWR6-NEXT: ori 5, 5, 21845
27004 ; PWR6-NEXT: rotldi 8, 4, 63
27005 ; PWR6-NEXT: rotldi 9, 3, 63
27006 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27007 ; PWR6-NEXT: and 8, 8, 5
27008 ; PWR6-NEXT: and 5, 9, 5
27009 ; PWR6-NEXT: ori 6, 6, 13107
27010 ; PWR6-NEXT: sub 3, 3, 5
27011 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27012 ; PWR6-NEXT: sub 4, 4, 8
27013 ; PWR6-NEXT: and 8, 3, 6
27014 ; PWR6-NEXT: rotldi 3, 3, 62
27015 ; PWR6-NEXT: and 3, 3, 6
27016 ; PWR6-NEXT: lis 7, 3855
27017 ; PWR6-NEXT: and 5, 4, 6
27018 ; PWR6-NEXT: rotldi 4, 4, 62
27019 ; PWR6-NEXT: add 3, 8, 3
27020 ; PWR6-NEXT: lis 9, 257
27021 ; PWR6-NEXT: ori 7, 7, 3855
27022 ; PWR6-NEXT: and 4, 4, 6
27023 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27024 ; PWR6-NEXT: ori 9, 9, 257
27025 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27026 ; PWR6-NEXT: add 4, 5, 4
27027 ; PWR6-NEXT: add 3, 3, 6
27028 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27029 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27030 ; PWR6-NEXT: and 3, 3, 7
27031 ; PWR6-NEXT: add 4, 4, 5
27032 ; PWR6-NEXT: mulld 3, 3, 9
27033 ; PWR6-NEXT: and 4, 4, 7
27034 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27035 ; PWR6-NEXT: li 5, 58
27036 ; PWR6-NEXT: mulld 4, 4, 9
27037 ; PWR6-NEXT: subc 6, 3, 5
27038 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27039 ; PWR6-NEXT: subfe 3, 3, 3
27040 ; PWR6-NEXT: subc 5, 4, 5
27041 ; PWR6-NEXT: subfe 4, 4, 4
27042 ; PWR6-NEXT: blr
27046 ; PWR7-NEXT: addi 3, 1, -32
27047 ; PWR7-NEXT: li 5, 0
27048 ; PWR7-NEXT: li 6, -1
27049 ; PWR7-NEXT: stxvd2x 34, 0, 3
27050 ; PWR7-NEXT: ld 3, -24(1)
27051 ; PWR7-NEXT: ld 4, -32(1)
27052 ; PWR7-NEXT: popcntd 3, 3
27053 ; PWR7-NEXT: popcntd 4, 4
27054 ; PWR7-NEXT: cmpldi 3, 58
27055 ; PWR7-NEXT: isellt 3, 6, 5
27056 ; PWR7-NEXT: cmpldi 4, 58
27057 ; PWR7-NEXT: isellt 4, 6, 5
27058 ; PWR7-NEXT: std 3, -8(1)
27059 ; PWR7-NEXT: addi 3, 1, -16
27060 ; PWR7-NEXT: std 4, -16(1)
27061 ; PWR7-NEXT: lxvd2x 34, 0, 3
27062 ; PWR7-NEXT: blr
27066 ; PWR8-NEXT: addis 3, 2, .LCPI213_0@toc@ha
27067 ; PWR8-NEXT: vpopcntd 2, 2
27068 ; PWR8-NEXT: addi 3, 3, .LCPI213_0@toc@l
27069 ; PWR8-NEXT: lxvd2x 35, 0, 3
27070 ; PWR8-NEXT: vcmpgtud 2, 3, 2
27071 ; PWR8-NEXT: blr
27075 ; PWR9-NEXT: addis 3, 2, .LCPI213_0@toc@ha
27076 ; PWR9-NEXT: vpopcntd 2, 2
27077 ; PWR9-NEXT: addi 3, 3, .LCPI213_0@toc@l
27078 ; PWR9-NEXT: lxvx 35, 0, 3
27079 ; PWR9-NEXT: vcmpgtud 2, 3, 2
27080 ; PWR9-NEXT: blr
27090 ; PWR5-NEXT: lis 5, 21845
27091 ; PWR5-NEXT: lis 6, 13107
27092 ; PWR5-NEXT: ori 5, 5, 21845
27093 ; PWR5-NEXT: rotldi 8, 4, 63
27094 ; PWR5-NEXT: rotldi 9, 3, 63
27095 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27096 ; PWR5-NEXT: and 8, 8, 5
27097 ; PWR5-NEXT: and 5, 9, 5
27098 ; PWR5-NEXT: ori 6, 6, 13107
27099 ; PWR5-NEXT: sub 3, 3, 5
27100 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27101 ; PWR5-NEXT: sub 4, 4, 8
27102 ; PWR5-NEXT: and 8, 3, 6
27103 ; PWR5-NEXT: rotldi 3, 3, 62
27104 ; PWR5-NEXT: and 3, 3, 6
27105 ; PWR5-NEXT: lis 7, 3855
27106 ; PWR5-NEXT: and 5, 4, 6
27107 ; PWR5-NEXT: rotldi 4, 4, 62
27108 ; PWR5-NEXT: add 3, 8, 3
27109 ; PWR5-NEXT: lis 9, 257
27110 ; PWR5-NEXT: ori 7, 7, 3855
27111 ; PWR5-NEXT: and 4, 4, 6
27112 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27113 ; PWR5-NEXT: ori 9, 9, 257
27114 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27115 ; PWR5-NEXT: add 4, 5, 4
27116 ; PWR5-NEXT: add 3, 3, 6
27117 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27118 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27119 ; PWR5-NEXT: and 3, 3, 7
27120 ; PWR5-NEXT: add 4, 4, 5
27121 ; PWR5-NEXT: mulld 3, 3, 9
27122 ; PWR5-NEXT: and 4, 4, 7
27123 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27124 ; PWR5-NEXT: mulld 4, 4, 9
27125 ; PWR5-NEXT: li 5, 58
27126 ; PWR5-NEXT: subfic 3, 3, 58
27127 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27128 ; PWR5-NEXT: subfe 3, 5, 5
27129 ; PWR5-NEXT: subfic 4, 4, 58
27130 ; PWR5-NEXT: subfe 4, 5, 5
27131 ; PWR5-NEXT: blr
27135 ; PWR6-NEXT: lis 5, 21845
27136 ; PWR6-NEXT: lis 6, 13107
27137 ; PWR6-NEXT: ori 5, 5, 21845
27138 ; PWR6-NEXT: rotldi 8, 4, 63
27139 ; PWR6-NEXT: rotldi 9, 3, 63
27140 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27141 ; PWR6-NEXT: and 8, 8, 5
27142 ; PWR6-NEXT: and 5, 9, 5
27143 ; PWR6-NEXT: ori 6, 6, 13107
27144 ; PWR6-NEXT: sub 3, 3, 5
27145 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27146 ; PWR6-NEXT: sub 4, 4, 8
27147 ; PWR6-NEXT: and 8, 3, 6
27148 ; PWR6-NEXT: rotldi 3, 3, 62
27149 ; PWR6-NEXT: and 3, 3, 6
27150 ; PWR6-NEXT: lis 7, 3855
27151 ; PWR6-NEXT: and 5, 4, 6
27152 ; PWR6-NEXT: rotldi 4, 4, 62
27153 ; PWR6-NEXT: add 3, 8, 3
27154 ; PWR6-NEXT: lis 9, 257
27155 ; PWR6-NEXT: ori 7, 7, 3855
27156 ; PWR6-NEXT: and 4, 4, 6
27157 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27158 ; PWR6-NEXT: ori 9, 9, 257
27159 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27160 ; PWR6-NEXT: add 4, 5, 4
27161 ; PWR6-NEXT: add 3, 3, 6
27162 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27163 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27164 ; PWR6-NEXT: and 3, 3, 7
27165 ; PWR6-NEXT: add 4, 4, 5
27166 ; PWR6-NEXT: mulld 3, 3, 9
27167 ; PWR6-NEXT: and 4, 4, 7
27168 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27169 ; PWR6-NEXT: mulld 4, 4, 9
27170 ; PWR6-NEXT: li 5, 58
27171 ; PWR6-NEXT: subfic 3, 3, 58
27172 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27173 ; PWR6-NEXT: subfe 3, 5, 5
27174 ; PWR6-NEXT: subfic 4, 4, 58
27175 ; PWR6-NEXT: subfe 4, 5, 5
27176 ; PWR6-NEXT: blr
27180 ; PWR7-NEXT: addi 3, 1, -32
27181 ; PWR7-NEXT: li 5, 0
27182 ; PWR7-NEXT: li 6, -1
27183 ; PWR7-NEXT: stxvd2x 34, 0, 3
27184 ; PWR7-NEXT: ld 3, -24(1)
27185 ; PWR7-NEXT: ld 4, -32(1)
27186 ; PWR7-NEXT: popcntd 3, 3
27187 ; PWR7-NEXT: popcntd 4, 4
27188 ; PWR7-NEXT: cmpldi 3, 58
27189 ; PWR7-NEXT: iselgt 3, 6, 5
27190 ; PWR7-NEXT: cmpldi 4, 58
27191 ; PWR7-NEXT: iselgt 4, 6, 5
27192 ; PWR7-NEXT: std 3, -8(1)
27193 ; PWR7-NEXT: addi 3, 1, -16
27194 ; PWR7-NEXT: std 4, -16(1)
27195 ; PWR7-NEXT: lxvd2x 34, 0, 3
27196 ; PWR7-NEXT: blr
27200 ; PWR8-NEXT: addis 3, 2, .LCPI214_0@toc@ha
27201 ; PWR8-NEXT: vpopcntd 2, 2
27202 ; PWR8-NEXT: addi 3, 3, .LCPI214_0@toc@l
27203 ; PWR8-NEXT: lxvd2x 35, 0, 3
27204 ; PWR8-NEXT: vcmpgtud 2, 2, 3
27205 ; PWR8-NEXT: blr
27209 ; PWR9-NEXT: addis 3, 2, .LCPI214_0@toc@ha
27210 ; PWR9-NEXT: vpopcntd 2, 2
27211 ; PWR9-NEXT: addi 3, 3, .LCPI214_0@toc@l
27212 ; PWR9-NEXT: lxvx 35, 0, 3
27213 ; PWR9-NEXT: vcmpgtud 2, 2, 3
27214 ; PWR9-NEXT: blr
27224 ; PWR5-NEXT: lis 5, 21845
27225 ; PWR5-NEXT: lis 6, 13107
27226 ; PWR5-NEXT: ori 5, 5, 21845
27227 ; PWR5-NEXT: rotldi 8, 4, 63
27228 ; PWR5-NEXT: rotldi 9, 3, 63
27229 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27230 ; PWR5-NEXT: and 8, 8, 5
27231 ; PWR5-NEXT: and 5, 9, 5
27232 ; PWR5-NEXT: ori 6, 6, 13107
27233 ; PWR5-NEXT: sub 3, 3, 5
27234 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27235 ; PWR5-NEXT: sub 4, 4, 8
27236 ; PWR5-NEXT: and 8, 3, 6
27237 ; PWR5-NEXT: rotldi 3, 3, 62
27238 ; PWR5-NEXT: and 3, 3, 6
27239 ; PWR5-NEXT: lis 7, 3855
27240 ; PWR5-NEXT: and 5, 4, 6
27241 ; PWR5-NEXT: rotldi 4, 4, 62
27242 ; PWR5-NEXT: add 3, 8, 3
27243 ; PWR5-NEXT: lis 9, 257
27244 ; PWR5-NEXT: ori 7, 7, 3855
27245 ; PWR5-NEXT: and 4, 4, 6
27246 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27247 ; PWR5-NEXT: ori 9, 9, 257
27248 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27249 ; PWR5-NEXT: add 4, 5, 4
27250 ; PWR5-NEXT: add 3, 3, 6
27251 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27252 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27253 ; PWR5-NEXT: and 3, 3, 7
27254 ; PWR5-NEXT: add 4, 4, 5
27255 ; PWR5-NEXT: mulld 3, 3, 9
27256 ; PWR5-NEXT: and 4, 4, 7
27257 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27258 ; PWR5-NEXT: li 5, 59
27259 ; PWR5-NEXT: mulld 4, 4, 9
27260 ; PWR5-NEXT: subc 6, 3, 5
27261 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27262 ; PWR5-NEXT: subfe 3, 3, 3
27263 ; PWR5-NEXT: subc 5, 4, 5
27264 ; PWR5-NEXT: subfe 4, 4, 4
27265 ; PWR5-NEXT: blr
27269 ; PWR6-NEXT: lis 5, 21845
27270 ; PWR6-NEXT: lis 6, 13107
27271 ; PWR6-NEXT: ori 5, 5, 21845
27272 ; PWR6-NEXT: rotldi 8, 4, 63
27273 ; PWR6-NEXT: rotldi 9, 3, 63
27274 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27275 ; PWR6-NEXT: and 8, 8, 5
27276 ; PWR6-NEXT: and 5, 9, 5
27277 ; PWR6-NEXT: ori 6, 6, 13107
27278 ; PWR6-NEXT: sub 3, 3, 5
27279 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27280 ; PWR6-NEXT: sub 4, 4, 8
27281 ; PWR6-NEXT: and 8, 3, 6
27282 ; PWR6-NEXT: rotldi 3, 3, 62
27283 ; PWR6-NEXT: and 3, 3, 6
27284 ; PWR6-NEXT: lis 7, 3855
27285 ; PWR6-NEXT: and 5, 4, 6
27286 ; PWR6-NEXT: rotldi 4, 4, 62
27287 ; PWR6-NEXT: add 3, 8, 3
27288 ; PWR6-NEXT: lis 9, 257
27289 ; PWR6-NEXT: ori 7, 7, 3855
27290 ; PWR6-NEXT: and 4, 4, 6
27291 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27292 ; PWR6-NEXT: ori 9, 9, 257
27293 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27294 ; PWR6-NEXT: add 4, 5, 4
27295 ; PWR6-NEXT: add 3, 3, 6
27296 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27297 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27298 ; PWR6-NEXT: and 3, 3, 7
27299 ; PWR6-NEXT: add 4, 4, 5
27300 ; PWR6-NEXT: mulld 3, 3, 9
27301 ; PWR6-NEXT: and 4, 4, 7
27302 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27303 ; PWR6-NEXT: li 5, 59
27304 ; PWR6-NEXT: mulld 4, 4, 9
27305 ; PWR6-NEXT: subc 6, 3, 5
27306 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27307 ; PWR6-NEXT: subfe 3, 3, 3
27308 ; PWR6-NEXT: subc 5, 4, 5
27309 ; PWR6-NEXT: subfe 4, 4, 4
27310 ; PWR6-NEXT: blr
27314 ; PWR7-NEXT: addi 3, 1, -32
27315 ; PWR7-NEXT: li 5, 0
27316 ; PWR7-NEXT: li 6, -1
27317 ; PWR7-NEXT: stxvd2x 34, 0, 3
27318 ; PWR7-NEXT: ld 3, -24(1)
27319 ; PWR7-NEXT: ld 4, -32(1)
27320 ; PWR7-NEXT: popcntd 3, 3
27321 ; PWR7-NEXT: popcntd 4, 4
27322 ; PWR7-NEXT: cmpldi 3, 59
27323 ; PWR7-NEXT: isellt 3, 6, 5
27324 ; PWR7-NEXT: cmpldi 4, 59
27325 ; PWR7-NEXT: isellt 4, 6, 5
27326 ; PWR7-NEXT: std 3, -8(1)
27327 ; PWR7-NEXT: addi 3, 1, -16
27328 ; PWR7-NEXT: std 4, -16(1)
27329 ; PWR7-NEXT: lxvd2x 34, 0, 3
27330 ; PWR7-NEXT: blr
27334 ; PWR8-NEXT: addis 3, 2, .LCPI215_0@toc@ha
27335 ; PWR8-NEXT: vpopcntd 2, 2
27336 ; PWR8-NEXT: addi 3, 3, .LCPI215_0@toc@l
27337 ; PWR8-NEXT: lxvd2x 35, 0, 3
27338 ; PWR8-NEXT: vcmpgtud 2, 3, 2
27339 ; PWR8-NEXT: blr
27343 ; PWR9-NEXT: addis 3, 2, .LCPI215_0@toc@ha
27344 ; PWR9-NEXT: vpopcntd 2, 2
27345 ; PWR9-NEXT: addi 3, 3, .LCPI215_0@toc@l
27346 ; PWR9-NEXT: lxvx 35, 0, 3
27347 ; PWR9-NEXT: vcmpgtud 2, 3, 2
27348 ; PWR9-NEXT: blr
27358 ; PWR5-NEXT: lis 5, 21845
27359 ; PWR5-NEXT: lis 6, 13107
27360 ; PWR5-NEXT: ori 5, 5, 21845
27361 ; PWR5-NEXT: rotldi 8, 4, 63
27362 ; PWR5-NEXT: rotldi 9, 3, 63
27363 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27364 ; PWR5-NEXT: and 8, 8, 5
27365 ; PWR5-NEXT: and 5, 9, 5
27366 ; PWR5-NEXT: ori 6, 6, 13107
27367 ; PWR5-NEXT: sub 3, 3, 5
27368 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27369 ; PWR5-NEXT: sub 4, 4, 8
27370 ; PWR5-NEXT: and 8, 3, 6
27371 ; PWR5-NEXT: rotldi 3, 3, 62
27372 ; PWR5-NEXT: and 3, 3, 6
27373 ; PWR5-NEXT: lis 7, 3855
27374 ; PWR5-NEXT: and 5, 4, 6
27375 ; PWR5-NEXT: rotldi 4, 4, 62
27376 ; PWR5-NEXT: add 3, 8, 3
27377 ; PWR5-NEXT: lis 9, 257
27378 ; PWR5-NEXT: ori 7, 7, 3855
27379 ; PWR5-NEXT: and 4, 4, 6
27380 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27381 ; PWR5-NEXT: ori 9, 9, 257
27382 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27383 ; PWR5-NEXT: add 4, 5, 4
27384 ; PWR5-NEXT: add 3, 3, 6
27385 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27386 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27387 ; PWR5-NEXT: and 3, 3, 7
27388 ; PWR5-NEXT: add 4, 4, 5
27389 ; PWR5-NEXT: mulld 3, 3, 9
27390 ; PWR5-NEXT: and 4, 4, 7
27391 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27392 ; PWR5-NEXT: mulld 4, 4, 9
27393 ; PWR5-NEXT: li 5, 59
27394 ; PWR5-NEXT: subfic 3, 3, 59
27395 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27396 ; PWR5-NEXT: subfe 3, 5, 5
27397 ; PWR5-NEXT: subfic 4, 4, 59
27398 ; PWR5-NEXT: subfe 4, 5, 5
27399 ; PWR5-NEXT: blr
27403 ; PWR6-NEXT: lis 5, 21845
27404 ; PWR6-NEXT: lis 6, 13107
27405 ; PWR6-NEXT: ori 5, 5, 21845
27406 ; PWR6-NEXT: rotldi 8, 4, 63
27407 ; PWR6-NEXT: rotldi 9, 3, 63
27408 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27409 ; PWR6-NEXT: and 8, 8, 5
27410 ; PWR6-NEXT: and 5, 9, 5
27411 ; PWR6-NEXT: ori 6, 6, 13107
27412 ; PWR6-NEXT: sub 3, 3, 5
27413 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27414 ; PWR6-NEXT: sub 4, 4, 8
27415 ; PWR6-NEXT: and 8, 3, 6
27416 ; PWR6-NEXT: rotldi 3, 3, 62
27417 ; PWR6-NEXT: and 3, 3, 6
27418 ; PWR6-NEXT: lis 7, 3855
27419 ; PWR6-NEXT: and 5, 4, 6
27420 ; PWR6-NEXT: rotldi 4, 4, 62
27421 ; PWR6-NEXT: add 3, 8, 3
27422 ; PWR6-NEXT: lis 9, 257
27423 ; PWR6-NEXT: ori 7, 7, 3855
27424 ; PWR6-NEXT: and 4, 4, 6
27425 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27426 ; PWR6-NEXT: ori 9, 9, 257
27427 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27428 ; PWR6-NEXT: add 4, 5, 4
27429 ; PWR6-NEXT: add 3, 3, 6
27430 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27431 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27432 ; PWR6-NEXT: and 3, 3, 7
27433 ; PWR6-NEXT: add 4, 4, 5
27434 ; PWR6-NEXT: mulld 3, 3, 9
27435 ; PWR6-NEXT: and 4, 4, 7
27436 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27437 ; PWR6-NEXT: mulld 4, 4, 9
27438 ; PWR6-NEXT: li 5, 59
27439 ; PWR6-NEXT: subfic 3, 3, 59
27440 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27441 ; PWR6-NEXT: subfe 3, 5, 5
27442 ; PWR6-NEXT: subfic 4, 4, 59
27443 ; PWR6-NEXT: subfe 4, 5, 5
27444 ; PWR6-NEXT: blr
27448 ; PWR7-NEXT: addi 3, 1, -32
27449 ; PWR7-NEXT: li 5, 0
27450 ; PWR7-NEXT: li 6, -1
27451 ; PWR7-NEXT: stxvd2x 34, 0, 3
27452 ; PWR7-NEXT: ld 3, -24(1)
27453 ; PWR7-NEXT: ld 4, -32(1)
27454 ; PWR7-NEXT: popcntd 3, 3
27455 ; PWR7-NEXT: popcntd 4, 4
27456 ; PWR7-NEXT: cmpldi 3, 59
27457 ; PWR7-NEXT: iselgt 3, 6, 5
27458 ; PWR7-NEXT: cmpldi 4, 59
27459 ; PWR7-NEXT: iselgt 4, 6, 5
27460 ; PWR7-NEXT: std 3, -8(1)
27461 ; PWR7-NEXT: addi 3, 1, -16
27462 ; PWR7-NEXT: std 4, -16(1)
27463 ; PWR7-NEXT: lxvd2x 34, 0, 3
27464 ; PWR7-NEXT: blr
27468 ; PWR8-NEXT: addis 3, 2, .LCPI216_0@toc@ha
27469 ; PWR8-NEXT: vpopcntd 2, 2
27470 ; PWR8-NEXT: addi 3, 3, .LCPI216_0@toc@l
27471 ; PWR8-NEXT: lxvd2x 35, 0, 3
27472 ; PWR8-NEXT: vcmpgtud 2, 2, 3
27473 ; PWR8-NEXT: blr
27477 ; PWR9-NEXT: addis 3, 2, .LCPI216_0@toc@ha
27478 ; PWR9-NEXT: vpopcntd 2, 2
27479 ; PWR9-NEXT: addi 3, 3, .LCPI216_0@toc@l
27480 ; PWR9-NEXT: lxvx 35, 0, 3
27481 ; PWR9-NEXT: vcmpgtud 2, 2, 3
27482 ; PWR9-NEXT: blr
27492 ; PWR5-NEXT: lis 5, 21845
27493 ; PWR5-NEXT: lis 6, 13107
27494 ; PWR5-NEXT: ori 5, 5, 21845
27495 ; PWR5-NEXT: rotldi 8, 4, 63
27496 ; PWR5-NEXT: rotldi 9, 3, 63
27497 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27498 ; PWR5-NEXT: and 8, 8, 5
27499 ; PWR5-NEXT: and 5, 9, 5
27500 ; PWR5-NEXT: ori 6, 6, 13107
27501 ; PWR5-NEXT: sub 3, 3, 5
27502 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27503 ; PWR5-NEXT: sub 4, 4, 8
27504 ; PWR5-NEXT: and 8, 3, 6
27505 ; PWR5-NEXT: rotldi 3, 3, 62
27506 ; PWR5-NEXT: and 3, 3, 6
27507 ; PWR5-NEXT: lis 7, 3855
27508 ; PWR5-NEXT: and 5, 4, 6
27509 ; PWR5-NEXT: rotldi 4, 4, 62
27510 ; PWR5-NEXT: add 3, 8, 3
27511 ; PWR5-NEXT: lis 9, 257
27512 ; PWR5-NEXT: ori 7, 7, 3855
27513 ; PWR5-NEXT: and 4, 4, 6
27514 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27515 ; PWR5-NEXT: ori 9, 9, 257
27516 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27517 ; PWR5-NEXT: add 4, 5, 4
27518 ; PWR5-NEXT: add 3, 3, 6
27519 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27520 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27521 ; PWR5-NEXT: and 3, 3, 7
27522 ; PWR5-NEXT: add 4, 4, 5
27523 ; PWR5-NEXT: mulld 3, 3, 9
27524 ; PWR5-NEXT: and 4, 4, 7
27525 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27526 ; PWR5-NEXT: li 5, 60
27527 ; PWR5-NEXT: mulld 4, 4, 9
27528 ; PWR5-NEXT: subc 6, 3, 5
27529 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27530 ; PWR5-NEXT: subfe 3, 3, 3
27531 ; PWR5-NEXT: subc 5, 4, 5
27532 ; PWR5-NEXT: subfe 4, 4, 4
27533 ; PWR5-NEXT: blr
27537 ; PWR6-NEXT: lis 5, 21845
27538 ; PWR6-NEXT: lis 6, 13107
27539 ; PWR6-NEXT: ori 5, 5, 21845
27540 ; PWR6-NEXT: rotldi 8, 4, 63
27541 ; PWR6-NEXT: rotldi 9, 3, 63
27542 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27543 ; PWR6-NEXT: and 8, 8, 5
27544 ; PWR6-NEXT: and 5, 9, 5
27545 ; PWR6-NEXT: ori 6, 6, 13107
27546 ; PWR6-NEXT: sub 3, 3, 5
27547 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27548 ; PWR6-NEXT: sub 4, 4, 8
27549 ; PWR6-NEXT: and 8, 3, 6
27550 ; PWR6-NEXT: rotldi 3, 3, 62
27551 ; PWR6-NEXT: and 3, 3, 6
27552 ; PWR6-NEXT: lis 7, 3855
27553 ; PWR6-NEXT: and 5, 4, 6
27554 ; PWR6-NEXT: rotldi 4, 4, 62
27555 ; PWR6-NEXT: add 3, 8, 3
27556 ; PWR6-NEXT: lis 9, 257
27557 ; PWR6-NEXT: ori 7, 7, 3855
27558 ; PWR6-NEXT: and 4, 4, 6
27559 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27560 ; PWR6-NEXT: ori 9, 9, 257
27561 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27562 ; PWR6-NEXT: add 4, 5, 4
27563 ; PWR6-NEXT: add 3, 3, 6
27564 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27565 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27566 ; PWR6-NEXT: and 3, 3, 7
27567 ; PWR6-NEXT: add 4, 4, 5
27568 ; PWR6-NEXT: mulld 3, 3, 9
27569 ; PWR6-NEXT: and 4, 4, 7
27570 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27571 ; PWR6-NEXT: li 5, 60
27572 ; PWR6-NEXT: mulld 4, 4, 9
27573 ; PWR6-NEXT: subc 6, 3, 5
27574 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27575 ; PWR6-NEXT: subfe 3, 3, 3
27576 ; PWR6-NEXT: subc 5, 4, 5
27577 ; PWR6-NEXT: subfe 4, 4, 4
27578 ; PWR6-NEXT: blr
27582 ; PWR7-NEXT: addi 3, 1, -32
27583 ; PWR7-NEXT: li 5, 0
27584 ; PWR7-NEXT: li 6, -1
27585 ; PWR7-NEXT: stxvd2x 34, 0, 3
27586 ; PWR7-NEXT: ld 3, -24(1)
27587 ; PWR7-NEXT: ld 4, -32(1)
27588 ; PWR7-NEXT: popcntd 3, 3
27589 ; PWR7-NEXT: popcntd 4, 4
27590 ; PWR7-NEXT: cmpldi 3, 60
27591 ; PWR7-NEXT: isellt 3, 6, 5
27592 ; PWR7-NEXT: cmpldi 4, 60
27593 ; PWR7-NEXT: isellt 4, 6, 5
27594 ; PWR7-NEXT: std 3, -8(1)
27595 ; PWR7-NEXT: addi 3, 1, -16
27596 ; PWR7-NEXT: std 4, -16(1)
27597 ; PWR7-NEXT: lxvd2x 34, 0, 3
27598 ; PWR7-NEXT: blr
27602 ; PWR8-NEXT: addis 3, 2, .LCPI217_0@toc@ha
27603 ; PWR8-NEXT: vpopcntd 2, 2
27604 ; PWR8-NEXT: addi 3, 3, .LCPI217_0@toc@l
27605 ; PWR8-NEXT: lxvd2x 35, 0, 3
27606 ; PWR8-NEXT: vcmpgtud 2, 3, 2
27607 ; PWR8-NEXT: blr
27611 ; PWR9-NEXT: addis 3, 2, .LCPI217_0@toc@ha
27612 ; PWR9-NEXT: vpopcntd 2, 2
27613 ; PWR9-NEXT: addi 3, 3, .LCPI217_0@toc@l
27614 ; PWR9-NEXT: lxvx 35, 0, 3
27615 ; PWR9-NEXT: vcmpgtud 2, 3, 2
27616 ; PWR9-NEXT: blr
27626 ; PWR5-NEXT: lis 5, 21845
27627 ; PWR5-NEXT: lis 6, 13107
27628 ; PWR5-NEXT: ori 5, 5, 21845
27629 ; PWR5-NEXT: rotldi 8, 4, 63
27630 ; PWR5-NEXT: rotldi 9, 3, 63
27631 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27632 ; PWR5-NEXT: and 8, 8, 5
27633 ; PWR5-NEXT: and 5, 9, 5
27634 ; PWR5-NEXT: ori 6, 6, 13107
27635 ; PWR5-NEXT: sub 3, 3, 5
27636 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27637 ; PWR5-NEXT: sub 4, 4, 8
27638 ; PWR5-NEXT: and 8, 3, 6
27639 ; PWR5-NEXT: rotldi 3, 3, 62
27640 ; PWR5-NEXT: and 3, 3, 6
27641 ; PWR5-NEXT: lis 7, 3855
27642 ; PWR5-NEXT: and 5, 4, 6
27643 ; PWR5-NEXT: rotldi 4, 4, 62
27644 ; PWR5-NEXT: add 3, 8, 3
27645 ; PWR5-NEXT: lis 9, 257
27646 ; PWR5-NEXT: ori 7, 7, 3855
27647 ; PWR5-NEXT: and 4, 4, 6
27648 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27649 ; PWR5-NEXT: ori 9, 9, 257
27650 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27651 ; PWR5-NEXT: add 4, 5, 4
27652 ; PWR5-NEXT: add 3, 3, 6
27653 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27654 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27655 ; PWR5-NEXT: and 3, 3, 7
27656 ; PWR5-NEXT: add 4, 4, 5
27657 ; PWR5-NEXT: mulld 3, 3, 9
27658 ; PWR5-NEXT: and 4, 4, 7
27659 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27660 ; PWR5-NEXT: mulld 4, 4, 9
27661 ; PWR5-NEXT: li 5, 60
27662 ; PWR5-NEXT: subfic 3, 3, 60
27663 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27664 ; PWR5-NEXT: subfe 3, 5, 5
27665 ; PWR5-NEXT: subfic 4, 4, 60
27666 ; PWR5-NEXT: subfe 4, 5, 5
27667 ; PWR5-NEXT: blr
27671 ; PWR6-NEXT: lis 5, 21845
27672 ; PWR6-NEXT: lis 6, 13107
27673 ; PWR6-NEXT: ori 5, 5, 21845
27674 ; PWR6-NEXT: rotldi 8, 4, 63
27675 ; PWR6-NEXT: rotldi 9, 3, 63
27676 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27677 ; PWR6-NEXT: and 8, 8, 5
27678 ; PWR6-NEXT: and 5, 9, 5
27679 ; PWR6-NEXT: ori 6, 6, 13107
27680 ; PWR6-NEXT: sub 3, 3, 5
27681 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27682 ; PWR6-NEXT: sub 4, 4, 8
27683 ; PWR6-NEXT: and 8, 3, 6
27684 ; PWR6-NEXT: rotldi 3, 3, 62
27685 ; PWR6-NEXT: and 3, 3, 6
27686 ; PWR6-NEXT: lis 7, 3855
27687 ; PWR6-NEXT: and 5, 4, 6
27688 ; PWR6-NEXT: rotldi 4, 4, 62
27689 ; PWR6-NEXT: add 3, 8, 3
27690 ; PWR6-NEXT: lis 9, 257
27691 ; PWR6-NEXT: ori 7, 7, 3855
27692 ; PWR6-NEXT: and 4, 4, 6
27693 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27694 ; PWR6-NEXT: ori 9, 9, 257
27695 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27696 ; PWR6-NEXT: add 4, 5, 4
27697 ; PWR6-NEXT: add 3, 3, 6
27698 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27699 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27700 ; PWR6-NEXT: and 3, 3, 7
27701 ; PWR6-NEXT: add 4, 4, 5
27702 ; PWR6-NEXT: mulld 3, 3, 9
27703 ; PWR6-NEXT: and 4, 4, 7
27704 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27705 ; PWR6-NEXT: mulld 4, 4, 9
27706 ; PWR6-NEXT: li 5, 60
27707 ; PWR6-NEXT: subfic 3, 3, 60
27708 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27709 ; PWR6-NEXT: subfe 3, 5, 5
27710 ; PWR6-NEXT: subfic 4, 4, 60
27711 ; PWR6-NEXT: subfe 4, 5, 5
27712 ; PWR6-NEXT: blr
27716 ; PWR7-NEXT: addi 3, 1, -32
27717 ; PWR7-NEXT: li 5, 0
27718 ; PWR7-NEXT: li 6, -1
27719 ; PWR7-NEXT: stxvd2x 34, 0, 3
27720 ; PWR7-NEXT: ld 3, -24(1)
27721 ; PWR7-NEXT: ld 4, -32(1)
27722 ; PWR7-NEXT: popcntd 3, 3
27723 ; PWR7-NEXT: popcntd 4, 4
27724 ; PWR7-NEXT: cmpldi 3, 60
27725 ; PWR7-NEXT: iselgt 3, 6, 5
27726 ; PWR7-NEXT: cmpldi 4, 60
27727 ; PWR7-NEXT: iselgt 4, 6, 5
27728 ; PWR7-NEXT: std 3, -8(1)
27729 ; PWR7-NEXT: addi 3, 1, -16
27730 ; PWR7-NEXT: std 4, -16(1)
27731 ; PWR7-NEXT: lxvd2x 34, 0, 3
27732 ; PWR7-NEXT: blr
27736 ; PWR8-NEXT: addis 3, 2, .LCPI218_0@toc@ha
27737 ; PWR8-NEXT: vpopcntd 2, 2
27738 ; PWR8-NEXT: addi 3, 3, .LCPI218_0@toc@l
27739 ; PWR8-NEXT: lxvd2x 35, 0, 3
27740 ; PWR8-NEXT: vcmpgtud 2, 2, 3
27741 ; PWR8-NEXT: blr
27745 ; PWR9-NEXT: addis 3, 2, .LCPI218_0@toc@ha
27746 ; PWR9-NEXT: vpopcntd 2, 2
27747 ; PWR9-NEXT: addi 3, 3, .LCPI218_0@toc@l
27748 ; PWR9-NEXT: lxvx 35, 0, 3
27749 ; PWR9-NEXT: vcmpgtud 2, 2, 3
27750 ; PWR9-NEXT: blr
27760 ; PWR5-NEXT: lis 5, 21845
27761 ; PWR5-NEXT: lis 6, 13107
27762 ; PWR5-NEXT: ori 5, 5, 21845
27763 ; PWR5-NEXT: rotldi 8, 4, 63
27764 ; PWR5-NEXT: rotldi 9, 3, 63
27765 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27766 ; PWR5-NEXT: and 8, 8, 5
27767 ; PWR5-NEXT: and 5, 9, 5
27768 ; PWR5-NEXT: ori 6, 6, 13107
27769 ; PWR5-NEXT: sub 3, 3, 5
27770 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27771 ; PWR5-NEXT: sub 4, 4, 8
27772 ; PWR5-NEXT: and 8, 3, 6
27773 ; PWR5-NEXT: rotldi 3, 3, 62
27774 ; PWR5-NEXT: and 3, 3, 6
27775 ; PWR5-NEXT: lis 7, 3855
27776 ; PWR5-NEXT: and 5, 4, 6
27777 ; PWR5-NEXT: rotldi 4, 4, 62
27778 ; PWR5-NEXT: add 3, 8, 3
27779 ; PWR5-NEXT: lis 9, 257
27780 ; PWR5-NEXT: ori 7, 7, 3855
27781 ; PWR5-NEXT: and 4, 4, 6
27782 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27783 ; PWR5-NEXT: ori 9, 9, 257
27784 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27785 ; PWR5-NEXT: add 4, 5, 4
27786 ; PWR5-NEXT: add 3, 3, 6
27787 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27788 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27789 ; PWR5-NEXT: and 3, 3, 7
27790 ; PWR5-NEXT: add 4, 4, 5
27791 ; PWR5-NEXT: mulld 3, 3, 9
27792 ; PWR5-NEXT: and 4, 4, 7
27793 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27794 ; PWR5-NEXT: li 5, 61
27795 ; PWR5-NEXT: mulld 4, 4, 9
27796 ; PWR5-NEXT: subc 6, 3, 5
27797 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27798 ; PWR5-NEXT: subfe 3, 3, 3
27799 ; PWR5-NEXT: subc 5, 4, 5
27800 ; PWR5-NEXT: subfe 4, 4, 4
27801 ; PWR5-NEXT: blr
27805 ; PWR6-NEXT: lis 5, 21845
27806 ; PWR6-NEXT: lis 6, 13107
27807 ; PWR6-NEXT: ori 5, 5, 21845
27808 ; PWR6-NEXT: rotldi 8, 4, 63
27809 ; PWR6-NEXT: rotldi 9, 3, 63
27810 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27811 ; PWR6-NEXT: and 8, 8, 5
27812 ; PWR6-NEXT: and 5, 9, 5
27813 ; PWR6-NEXT: ori 6, 6, 13107
27814 ; PWR6-NEXT: sub 3, 3, 5
27815 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27816 ; PWR6-NEXT: sub 4, 4, 8
27817 ; PWR6-NEXT: and 8, 3, 6
27818 ; PWR6-NEXT: rotldi 3, 3, 62
27819 ; PWR6-NEXT: and 3, 3, 6
27820 ; PWR6-NEXT: lis 7, 3855
27821 ; PWR6-NEXT: and 5, 4, 6
27822 ; PWR6-NEXT: rotldi 4, 4, 62
27823 ; PWR6-NEXT: add 3, 8, 3
27824 ; PWR6-NEXT: lis 9, 257
27825 ; PWR6-NEXT: ori 7, 7, 3855
27826 ; PWR6-NEXT: and 4, 4, 6
27827 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27828 ; PWR6-NEXT: ori 9, 9, 257
27829 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27830 ; PWR6-NEXT: add 4, 5, 4
27831 ; PWR6-NEXT: add 3, 3, 6
27832 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27833 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27834 ; PWR6-NEXT: and 3, 3, 7
27835 ; PWR6-NEXT: add 4, 4, 5
27836 ; PWR6-NEXT: mulld 3, 3, 9
27837 ; PWR6-NEXT: and 4, 4, 7
27838 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27839 ; PWR6-NEXT: li 5, 61
27840 ; PWR6-NEXT: mulld 4, 4, 9
27841 ; PWR6-NEXT: subc 6, 3, 5
27842 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27843 ; PWR6-NEXT: subfe 3, 3, 3
27844 ; PWR6-NEXT: subc 5, 4, 5
27845 ; PWR6-NEXT: subfe 4, 4, 4
27846 ; PWR6-NEXT: blr
27850 ; PWR7-NEXT: addi 3, 1, -32
27851 ; PWR7-NEXT: li 5, 0
27852 ; PWR7-NEXT: li 6, -1
27853 ; PWR7-NEXT: stxvd2x 34, 0, 3
27854 ; PWR7-NEXT: ld 3, -24(1)
27855 ; PWR7-NEXT: ld 4, -32(1)
27856 ; PWR7-NEXT: popcntd 3, 3
27857 ; PWR7-NEXT: popcntd 4, 4
27858 ; PWR7-NEXT: cmpldi 3, 61
27859 ; PWR7-NEXT: isellt 3, 6, 5
27860 ; PWR7-NEXT: cmpldi 4, 61
27861 ; PWR7-NEXT: isellt 4, 6, 5
27862 ; PWR7-NEXT: std 3, -8(1)
27863 ; PWR7-NEXT: addi 3, 1, -16
27864 ; PWR7-NEXT: std 4, -16(1)
27865 ; PWR7-NEXT: lxvd2x 34, 0, 3
27866 ; PWR7-NEXT: blr
27870 ; PWR8-NEXT: addis 3, 2, .LCPI219_0@toc@ha
27871 ; PWR8-NEXT: vpopcntd 2, 2
27872 ; PWR8-NEXT: addi 3, 3, .LCPI219_0@toc@l
27873 ; PWR8-NEXT: lxvd2x 35, 0, 3
27874 ; PWR8-NEXT: vcmpgtud 2, 3, 2
27875 ; PWR8-NEXT: blr
27879 ; PWR9-NEXT: addis 3, 2, .LCPI219_0@toc@ha
27880 ; PWR9-NEXT: vpopcntd 2, 2
27881 ; PWR9-NEXT: addi 3, 3, .LCPI219_0@toc@l
27882 ; PWR9-NEXT: lxvx 35, 0, 3
27883 ; PWR9-NEXT: vcmpgtud 2, 3, 2
27884 ; PWR9-NEXT: blr
27894 ; PWR5-NEXT: lis 5, 21845
27895 ; PWR5-NEXT: lis 6, 13107
27896 ; PWR5-NEXT: ori 5, 5, 21845
27897 ; PWR5-NEXT: rotldi 8, 4, 63
27898 ; PWR5-NEXT: rotldi 9, 3, 63
27899 ; PWR5-NEXT: rldimi 5, 5, 32, 0
27900 ; PWR5-NEXT: and 8, 8, 5
27901 ; PWR5-NEXT: and 5, 9, 5
27902 ; PWR5-NEXT: ori 6, 6, 13107
27903 ; PWR5-NEXT: sub 3, 3, 5
27904 ; PWR5-NEXT: rldimi 6, 6, 32, 0
27905 ; PWR5-NEXT: sub 4, 4, 8
27906 ; PWR5-NEXT: and 8, 3, 6
27907 ; PWR5-NEXT: rotldi 3, 3, 62
27908 ; PWR5-NEXT: and 3, 3, 6
27909 ; PWR5-NEXT: lis 7, 3855
27910 ; PWR5-NEXT: and 5, 4, 6
27911 ; PWR5-NEXT: rotldi 4, 4, 62
27912 ; PWR5-NEXT: add 3, 8, 3
27913 ; PWR5-NEXT: lis 9, 257
27914 ; PWR5-NEXT: ori 7, 7, 3855
27915 ; PWR5-NEXT: and 4, 4, 6
27916 ; PWR5-NEXT: rldicl 6, 3, 60, 4
27917 ; PWR5-NEXT: ori 9, 9, 257
27918 ; PWR5-NEXT: rldimi 7, 7, 32, 0
27919 ; PWR5-NEXT: add 4, 5, 4
27920 ; PWR5-NEXT: add 3, 3, 6
27921 ; PWR5-NEXT: rldimi 9, 9, 32, 0
27922 ; PWR5-NEXT: rldicl 5, 4, 60, 4
27923 ; PWR5-NEXT: and 3, 3, 7
27924 ; PWR5-NEXT: add 4, 4, 5
27925 ; PWR5-NEXT: mulld 3, 3, 9
27926 ; PWR5-NEXT: and 4, 4, 7
27927 ; PWR5-NEXT: rldicl 3, 3, 8, 56
27928 ; PWR5-NEXT: mulld 4, 4, 9
27929 ; PWR5-NEXT: li 5, 61
27930 ; PWR5-NEXT: subfic 3, 3, 61
27931 ; PWR5-NEXT: rldicl 4, 4, 8, 56
27932 ; PWR5-NEXT: subfe 3, 5, 5
27933 ; PWR5-NEXT: subfic 4, 4, 61
27934 ; PWR5-NEXT: subfe 4, 5, 5
27935 ; PWR5-NEXT: blr
27939 ; PWR6-NEXT: lis 5, 21845
27940 ; PWR6-NEXT: lis 6, 13107
27941 ; PWR6-NEXT: ori 5, 5, 21845
27942 ; PWR6-NEXT: rotldi 8, 4, 63
27943 ; PWR6-NEXT: rotldi 9, 3, 63
27944 ; PWR6-NEXT: rldimi 5, 5, 32, 0
27945 ; PWR6-NEXT: and 8, 8, 5
27946 ; PWR6-NEXT: and 5, 9, 5
27947 ; PWR6-NEXT: ori 6, 6, 13107
27948 ; PWR6-NEXT: sub 3, 3, 5
27949 ; PWR6-NEXT: rldimi 6, 6, 32, 0
27950 ; PWR6-NEXT: sub 4, 4, 8
27951 ; PWR6-NEXT: and 8, 3, 6
27952 ; PWR6-NEXT: rotldi 3, 3, 62
27953 ; PWR6-NEXT: and 3, 3, 6
27954 ; PWR6-NEXT: lis 7, 3855
27955 ; PWR6-NEXT: and 5, 4, 6
27956 ; PWR6-NEXT: rotldi 4, 4, 62
27957 ; PWR6-NEXT: add 3, 8, 3
27958 ; PWR6-NEXT: lis 9, 257
27959 ; PWR6-NEXT: ori 7, 7, 3855
27960 ; PWR6-NEXT: and 4, 4, 6
27961 ; PWR6-NEXT: rldicl 6, 3, 60, 4
27962 ; PWR6-NEXT: ori 9, 9, 257
27963 ; PWR6-NEXT: rldimi 7, 7, 32, 0
27964 ; PWR6-NEXT: add 4, 5, 4
27965 ; PWR6-NEXT: add 3, 3, 6
27966 ; PWR6-NEXT: rldimi 9, 9, 32, 0
27967 ; PWR6-NEXT: rldicl 5, 4, 60, 4
27968 ; PWR6-NEXT: and 3, 3, 7
27969 ; PWR6-NEXT: add 4, 4, 5
27970 ; PWR6-NEXT: mulld 3, 3, 9
27971 ; PWR6-NEXT: and 4, 4, 7
27972 ; PWR6-NEXT: rldicl 3, 3, 8, 56
27973 ; PWR6-NEXT: mulld 4, 4, 9
27974 ; PWR6-NEXT: li 5, 61
27975 ; PWR6-NEXT: subfic 3, 3, 61
27976 ; PWR6-NEXT: rldicl 4, 4, 8, 56
27977 ; PWR6-NEXT: subfe 3, 5, 5
27978 ; PWR6-NEXT: subfic 4, 4, 61
27979 ; PWR6-NEXT: subfe 4, 5, 5
27980 ; PWR6-NEXT: blr
27984 ; PWR7-NEXT: addi 3, 1, -32
27985 ; PWR7-NEXT: li 5, 0
27986 ; PWR7-NEXT: li 6, -1
27987 ; PWR7-NEXT: stxvd2x 34, 0, 3
27988 ; PWR7-NEXT: ld 3, -24(1)
27989 ; PWR7-NEXT: ld 4, -32(1)
27990 ; PWR7-NEXT: popcntd 3, 3
27991 ; PWR7-NEXT: popcntd 4, 4
27992 ; PWR7-NEXT: cmpldi 3, 61
27993 ; PWR7-NEXT: iselgt 3, 6, 5
27994 ; PWR7-NEXT: cmpldi 4, 61
27995 ; PWR7-NEXT: iselgt 4, 6, 5
27996 ; PWR7-NEXT: std 3, -8(1)
27997 ; PWR7-NEXT: addi 3, 1, -16
27998 ; PWR7-NEXT: std 4, -16(1)
27999 ; PWR7-NEXT: lxvd2x 34, 0, 3
28000 ; PWR7-NEXT: blr
28004 ; PWR8-NEXT: addis 3, 2, .LCPI220_0@toc@ha
28005 ; PWR8-NEXT: vpopcntd 2, 2
28006 ; PWR8-NEXT: addi 3, 3, .LCPI220_0@toc@l
28007 ; PWR8-NEXT: lxvd2x 35, 0, 3
28008 ; PWR8-NEXT: vcmpgtud 2, 2, 3
28009 ; PWR8-NEXT: blr
28013 ; PWR9-NEXT: addis 3, 2, .LCPI220_0@toc@ha
28014 ; PWR9-NEXT: vpopcntd 2, 2
28015 ; PWR9-NEXT: addi 3, 3, .LCPI220_0@toc@l
28016 ; PWR9-NEXT: lxvx 35, 0, 3
28017 ; PWR9-NEXT: vcmpgtud 2, 2, 3
28018 ; PWR9-NEXT: blr
28028 ; PWR5-NEXT: lis 5, 21845
28029 ; PWR5-NEXT: lis 6, 13107
28030 ; PWR5-NEXT: ori 5, 5, 21845
28031 ; PWR5-NEXT: rotldi 8, 4, 63
28032 ; PWR5-NEXT: rotldi 9, 3, 63
28033 ; PWR5-NEXT: rldimi 5, 5, 32, 0
28034 ; PWR5-NEXT: and 8, 8, 5
28035 ; PWR5-NEXT: and 5, 9, 5
28036 ; PWR5-NEXT: ori 6, 6, 13107
28037 ; PWR5-NEXT: sub 3, 3, 5
28038 ; PWR5-NEXT: rldimi 6, 6, 32, 0
28039 ; PWR5-NEXT: sub 4, 4, 8
28040 ; PWR5-NEXT: and 8, 3, 6
28041 ; PWR5-NEXT: rotldi 3, 3, 62
28042 ; PWR5-NEXT: and 3, 3, 6
28043 ; PWR5-NEXT: lis 7, 3855
28044 ; PWR5-NEXT: and 5, 4, 6
28045 ; PWR5-NEXT: rotldi 4, 4, 62
28046 ; PWR5-NEXT: add 3, 8, 3
28047 ; PWR5-NEXT: lis 9, 257
28048 ; PWR5-NEXT: ori 7, 7, 3855
28049 ; PWR5-NEXT: and 4, 4, 6
28050 ; PWR5-NEXT: rldicl 6, 3, 60, 4
28051 ; PWR5-NEXT: ori 9, 9, 257
28052 ; PWR5-NEXT: rldimi 7, 7, 32, 0
28053 ; PWR5-NEXT: add 4, 5, 4
28054 ; PWR5-NEXT: add 3, 3, 6
28055 ; PWR5-NEXT: rldimi 9, 9, 32, 0
28056 ; PWR5-NEXT: rldicl 5, 4, 60, 4
28057 ; PWR5-NEXT: and 3, 3, 7
28058 ; PWR5-NEXT: add 4, 4, 5
28059 ; PWR5-NEXT: mulld 3, 3, 9
28060 ; PWR5-NEXT: and 4, 4, 7
28061 ; PWR5-NEXT: rldicl 3, 3, 8, 56
28062 ; PWR5-NEXT: li 5, 62
28063 ; PWR5-NEXT: mulld 4, 4, 9
28064 ; PWR5-NEXT: subc 6, 3, 5
28065 ; PWR5-NEXT: rldicl 4, 4, 8, 56
28066 ; PWR5-NEXT: subfe 3, 3, 3
28067 ; PWR5-NEXT: subc 5, 4, 5
28068 ; PWR5-NEXT: subfe 4, 4, 4
28069 ; PWR5-NEXT: blr
28073 ; PWR6-NEXT: lis 5, 21845
28074 ; PWR6-NEXT: lis 6, 13107
28075 ; PWR6-NEXT: ori 5, 5, 21845
28076 ; PWR6-NEXT: rotldi 8, 4, 63
28077 ; PWR6-NEXT: rotldi 9, 3, 63
28078 ; PWR6-NEXT: rldimi 5, 5, 32, 0
28079 ; PWR6-NEXT: and 8, 8, 5
28080 ; PWR6-NEXT: and 5, 9, 5
28081 ; PWR6-NEXT: ori 6, 6, 13107
28082 ; PWR6-NEXT: sub 3, 3, 5
28083 ; PWR6-NEXT: rldimi 6, 6, 32, 0
28084 ; PWR6-NEXT: sub 4, 4, 8
28085 ; PWR6-NEXT: and 8, 3, 6
28086 ; PWR6-NEXT: rotldi 3, 3, 62
28087 ; PWR6-NEXT: and 3, 3, 6
28088 ; PWR6-NEXT: lis 7, 3855
28089 ; PWR6-NEXT: and 5, 4, 6
28090 ; PWR6-NEXT: rotldi 4, 4, 62
28091 ; PWR6-NEXT: add 3, 8, 3
28092 ; PWR6-NEXT: lis 9, 257
28093 ; PWR6-NEXT: ori 7, 7, 3855
28094 ; PWR6-NEXT: and 4, 4, 6
28095 ; PWR6-NEXT: rldicl 6, 3, 60, 4
28096 ; PWR6-NEXT: ori 9, 9, 257
28097 ; PWR6-NEXT: rldimi 7, 7, 32, 0
28098 ; PWR6-NEXT: add 4, 5, 4
28099 ; PWR6-NEXT: add 3, 3, 6
28100 ; PWR6-NEXT: rldimi 9, 9, 32, 0
28101 ; PWR6-NEXT: rldicl 5, 4, 60, 4
28102 ; PWR6-NEXT: and 3, 3, 7
28103 ; PWR6-NEXT: add 4, 4, 5
28104 ; PWR6-NEXT: mulld 3, 3, 9
28105 ; PWR6-NEXT: and 4, 4, 7
28106 ; PWR6-NEXT: rldicl 3, 3, 8, 56
28107 ; PWR6-NEXT: li 5, 62
28108 ; PWR6-NEXT: mulld 4, 4, 9
28109 ; PWR6-NEXT: subc 6, 3, 5
28110 ; PWR6-NEXT: rldicl 4, 4, 8, 56
28111 ; PWR6-NEXT: subfe 3, 3, 3
28112 ; PWR6-NEXT: subc 5, 4, 5
28113 ; PWR6-NEXT: subfe 4, 4, 4
28114 ; PWR6-NEXT: blr
28118 ; PWR7-NEXT: addi 3, 1, -32
28119 ; PWR7-NEXT: li 5, 0
28120 ; PWR7-NEXT: li 6, -1
28121 ; PWR7-NEXT: stxvd2x 34, 0, 3
28122 ; PWR7-NEXT: ld 3, -24(1)
28123 ; PWR7-NEXT: ld 4, -32(1)
28124 ; PWR7-NEXT: popcntd 3, 3
28125 ; PWR7-NEXT: popcntd 4, 4
28126 ; PWR7-NEXT: cmpldi 3, 62
28127 ; PWR7-NEXT: isellt 3, 6, 5
28128 ; PWR7-NEXT: cmpldi 4, 62
28129 ; PWR7-NEXT: isellt 4, 6, 5
28130 ; PWR7-NEXT: std 3, -8(1)
28131 ; PWR7-NEXT: addi 3, 1, -16
28132 ; PWR7-NEXT: std 4, -16(1)
28133 ; PWR7-NEXT: lxvd2x 34, 0, 3
28134 ; PWR7-NEXT: blr
28138 ; PWR8-NEXT: addis 3, 2, .LCPI221_0@toc@ha
28139 ; PWR8-NEXT: vpopcntd 2, 2
28140 ; PWR8-NEXT: addi 3, 3, .LCPI221_0@toc@l
28141 ; PWR8-NEXT: lxvd2x 35, 0, 3
28142 ; PWR8-NEXT: vcmpgtud 2, 3, 2
28143 ; PWR8-NEXT: blr
28147 ; PWR9-NEXT: addis 3, 2, .LCPI221_0@toc@ha
28148 ; PWR9-NEXT: vpopcntd 2, 2
28149 ; PWR9-NEXT: addi 3, 3, .LCPI221_0@toc@l
28150 ; PWR9-NEXT: lxvx 35, 0, 3
28151 ; PWR9-NEXT: vcmpgtud 2, 3, 2
28152 ; PWR9-NEXT: blr
28162 ; PWR5-NEXT: lis 5, 21845
28163 ; PWR5-NEXT: lis 6, 13107
28164 ; PWR5-NEXT: ori 5, 5, 21845
28165 ; PWR5-NEXT: rotldi 8, 4, 63
28166 ; PWR5-NEXT: rotldi 9, 3, 63
28167 ; PWR5-NEXT: rldimi 5, 5, 32, 0
28168 ; PWR5-NEXT: and 8, 8, 5
28169 ; PWR5-NEXT: and 5, 9, 5
28170 ; PWR5-NEXT: ori 6, 6, 13107
28171 ; PWR5-NEXT: sub 3, 3, 5
28172 ; PWR5-NEXT: rldimi 6, 6, 32, 0
28173 ; PWR5-NEXT: sub 4, 4, 8
28174 ; PWR5-NEXT: and 8, 3, 6
28175 ; PWR5-NEXT: rotldi 3, 3, 62
28176 ; PWR5-NEXT: and 3, 3, 6
28177 ; PWR5-NEXT: lis 7, 3855
28178 ; PWR5-NEXT: and 5, 4, 6
28179 ; PWR5-NEXT: rotldi 4, 4, 62
28180 ; PWR5-NEXT: add 3, 8, 3
28181 ; PWR5-NEXT: lis 9, 257
28182 ; PWR5-NEXT: ori 7, 7, 3855
28183 ; PWR5-NEXT: and 4, 4, 6
28184 ; PWR5-NEXT: rldicl 6, 3, 60, 4
28185 ; PWR5-NEXT: ori 9, 9, 257
28186 ; PWR5-NEXT: rldimi 7, 7, 32, 0
28187 ; PWR5-NEXT: add 4, 5, 4
28188 ; PWR5-NEXT: add 3, 3, 6
28189 ; PWR5-NEXT: rldimi 9, 9, 32, 0
28190 ; PWR5-NEXT: rldicl 5, 4, 60, 4
28191 ; PWR5-NEXT: and 3, 3, 7
28192 ; PWR5-NEXT: add 4, 4, 5
28193 ; PWR5-NEXT: mulld 3, 3, 9
28194 ; PWR5-NEXT: and 4, 4, 7
28195 ; PWR5-NEXT: rldicl 3, 3, 8, 56
28196 ; PWR5-NEXT: mulld 4, 4, 9
28197 ; PWR5-NEXT: li 5, 62
28198 ; PWR5-NEXT: subfic 3, 3, 62
28199 ; PWR5-NEXT: rldicl 4, 4, 8, 56
28200 ; PWR5-NEXT: subfe 3, 5, 5
28201 ; PWR5-NEXT: subfic 4, 4, 62
28202 ; PWR5-NEXT: subfe 4, 5, 5
28203 ; PWR5-NEXT: blr
28207 ; PWR6-NEXT: lis 5, 21845
28208 ; PWR6-NEXT: lis 6, 13107
28209 ; PWR6-NEXT: ori 5, 5, 21845
28210 ; PWR6-NEXT: rotldi 8, 4, 63
28211 ; PWR6-NEXT: rotldi 9, 3, 63
28212 ; PWR6-NEXT: rldimi 5, 5, 32, 0
28213 ; PWR6-NEXT: and 8, 8, 5
28214 ; PWR6-NEXT: and 5, 9, 5
28215 ; PWR6-NEXT: ori 6, 6, 13107
28216 ; PWR6-NEXT: sub 3, 3, 5
28217 ; PWR6-NEXT: rldimi 6, 6, 32, 0
28218 ; PWR6-NEXT: sub 4, 4, 8
28219 ; PWR6-NEXT: and 8, 3, 6
28220 ; PWR6-NEXT: rotldi 3, 3, 62
28221 ; PWR6-NEXT: and 3, 3, 6
28222 ; PWR6-NEXT: lis 7, 3855
28223 ; PWR6-NEXT: and 5, 4, 6
28224 ; PWR6-NEXT: rotldi 4, 4, 62
28225 ; PWR6-NEXT: add 3, 8, 3
28226 ; PWR6-NEXT: lis 9, 257
28227 ; PWR6-NEXT: ori 7, 7, 3855
28228 ; PWR6-NEXT: and 4, 4, 6
28229 ; PWR6-NEXT: rldicl 6, 3, 60, 4
28230 ; PWR6-NEXT: ori 9, 9, 257
28231 ; PWR6-NEXT: rldimi 7, 7, 32, 0
28232 ; PWR6-NEXT: add 4, 5, 4
28233 ; PWR6-NEXT: add 3, 3, 6
28234 ; PWR6-NEXT: rldimi 9, 9, 32, 0
28235 ; PWR6-NEXT: rldicl 5, 4, 60, 4
28236 ; PWR6-NEXT: and 3, 3, 7
28237 ; PWR6-NEXT: add 4, 4, 5
28238 ; PWR6-NEXT: mulld 3, 3, 9
28239 ; PWR6-NEXT: and 4, 4, 7
28240 ; PWR6-NEXT: rldicl 3, 3, 8, 56
28241 ; PWR6-NEXT: mulld 4, 4, 9
28242 ; PWR6-NEXT: li 5, 62
28243 ; PWR6-NEXT: subfic 3, 3, 62
28244 ; PWR6-NEXT: rldicl 4, 4, 8, 56
28245 ; PWR6-NEXT: subfe 3, 5, 5
28246 ; PWR6-NEXT: subfic 4, 4, 62
28247 ; PWR6-NEXT: subfe 4, 5, 5
28248 ; PWR6-NEXT: blr
28252 ; PWR7-NEXT: addi 3, 1, -32
28253 ; PWR7-NEXT: li 5, 0
28254 ; PWR7-NEXT: li 6, -1
28255 ; PWR7-NEXT: stxvd2x 34, 0, 3
28256 ; PWR7-NEXT: ld 3, -24(1)
28257 ; PWR7-NEXT: ld 4, -32(1)
28258 ; PWR7-NEXT: popcntd 3, 3
28259 ; PWR7-NEXT: popcntd 4, 4
28260 ; PWR7-NEXT: cmpldi 3, 62
28261 ; PWR7-NEXT: iselgt 3, 6, 5
28262 ; PWR7-NEXT: cmpldi 4, 62
28263 ; PWR7-NEXT: iselgt 4, 6, 5
28264 ; PWR7-NEXT: std 3, -8(1)
28265 ; PWR7-NEXT: addi 3, 1, -16
28266 ; PWR7-NEXT: std 4, -16(1)
28267 ; PWR7-NEXT: lxvd2x 34, 0, 3
28268 ; PWR7-NEXT: blr
28272 ; PWR8-NEXT: addis 3, 2, .LCPI222_0@toc@ha
28273 ; PWR8-NEXT: vpopcntd 2, 2
28274 ; PWR8-NEXT: addi 3, 3, .LCPI222_0@toc@l
28275 ; PWR8-NEXT: lxvd2x 35, 0, 3
28276 ; PWR8-NEXT: vcmpgtud 2, 2, 3
28277 ; PWR8-NEXT: blr
28281 ; PWR9-NEXT: addis 3, 2, .LCPI222_0@toc@ha
28282 ; PWR9-NEXT: vpopcntd 2, 2
28283 ; PWR9-NEXT: addi 3, 3, .LCPI222_0@toc@l
28284 ; PWR9-NEXT: lxvx 35, 0, 3
28285 ; PWR9-NEXT: vcmpgtud 2, 2, 3
28286 ; PWR9-NEXT: blr
28296 ; PWR5-NEXT: lis 5, 21845
28297 ; PWR5-NEXT: lis 6, 13107
28298 ; PWR5-NEXT: ori 5, 5, 21845
28299 ; PWR5-NEXT: rotldi 8, 4, 63
28300 ; PWR5-NEXT: rotldi 9, 3, 63
28301 ; PWR5-NEXT: rldimi 5, 5, 32, 0
28302 ; PWR5-NEXT: and 8, 8, 5
28303 ; PWR5-NEXT: and 5, 9, 5
28304 ; PWR5-NEXT: ori 6, 6, 13107
28305 ; PWR5-NEXT: sub 3, 3, 5
28306 ; PWR5-NEXT: rldimi 6, 6, 32, 0
28307 ; PWR5-NEXT: sub 4, 4, 8
28308 ; PWR5-NEXT: and 8, 3, 6
28309 ; PWR5-NEXT: rotldi 3, 3, 62
28310 ; PWR5-NEXT: and 3, 3, 6
28311 ; PWR5-NEXT: lis 7, 3855
28312 ; PWR5-NEXT: and 5, 4, 6
28313 ; PWR5-NEXT: rotldi 4, 4, 62
28314 ; PWR5-NEXT: add 3, 8, 3
28315 ; PWR5-NEXT: lis 9, 257
28316 ; PWR5-NEXT: ori 7, 7, 3855
28317 ; PWR5-NEXT: and 4, 4, 6
28318 ; PWR5-NEXT: rldicl 6, 3, 60, 4
28319 ; PWR5-NEXT: ori 9, 9, 257
28320 ; PWR5-NEXT: rldimi 7, 7, 32, 0
28321 ; PWR5-NEXT: add 4, 5, 4
28322 ; PWR5-NEXT: add 3, 3, 6
28323 ; PWR5-NEXT: rldimi 9, 9, 32, 0
28324 ; PWR5-NEXT: rldicl 5, 4, 60, 4
28325 ; PWR5-NEXT: and 3, 3, 7
28326 ; PWR5-NEXT: add 4, 4, 5
28327 ; PWR5-NEXT: mulld 3, 3, 9
28328 ; PWR5-NEXT: and 4, 4, 7
28329 ; PWR5-NEXT: rldicl 3, 3, 8, 56
28330 ; PWR5-NEXT: li 5, 63
28331 ; PWR5-NEXT: mulld 4, 4, 9
28332 ; PWR5-NEXT: subc 6, 3, 5
28333 ; PWR5-NEXT: rldicl 4, 4, 8, 56
28334 ; PWR5-NEXT: subfe 3, 3, 3
28335 ; PWR5-NEXT: subc 5, 4, 5
28336 ; PWR5-NEXT: subfe 4, 4, 4
28337 ; PWR5-NEXT: blr
28341 ; PWR6-NEXT: lis 5, 21845
28342 ; PWR6-NEXT: lis 6, 13107
28343 ; PWR6-NEXT: ori 5, 5, 21845
28344 ; PWR6-NEXT: rotldi 8, 4, 63
28345 ; PWR6-NEXT: rotldi 9, 3, 63
28346 ; PWR6-NEXT: rldimi 5, 5, 32, 0
28347 ; PWR6-NEXT: and 8, 8, 5
28348 ; PWR6-NEXT: and 5, 9, 5
28349 ; PWR6-NEXT: ori 6, 6, 13107
28350 ; PWR6-NEXT: sub 3, 3, 5
28351 ; PWR6-NEXT: rldimi 6, 6, 32, 0
28352 ; PWR6-NEXT: sub 4, 4, 8
28353 ; PWR6-NEXT: and 8, 3, 6
28354 ; PWR6-NEXT: rotldi 3, 3, 62
28355 ; PWR6-NEXT: and 3, 3, 6
28356 ; PWR6-NEXT: lis 7, 3855
28357 ; PWR6-NEXT: and 5, 4, 6
28358 ; PWR6-NEXT: rotldi 4, 4, 62
28359 ; PWR6-NEXT: add 3, 8, 3
28360 ; PWR6-NEXT: lis 9, 257
28361 ; PWR6-NEXT: ori 7, 7, 3855
28362 ; PWR6-NEXT: and 4, 4, 6
28363 ; PWR6-NEXT: rldicl 6, 3, 60, 4
28364 ; PWR6-NEXT: ori 9, 9, 257
28365 ; PWR6-NEXT: rldimi 7, 7, 32, 0
28366 ; PWR6-NEXT: add 4, 5, 4
28367 ; PWR6-NEXT: add 3, 3, 6
28368 ; PWR6-NEXT: rldimi 9, 9, 32, 0
28369 ; PWR6-NEXT: rldicl 5, 4, 60, 4
28370 ; PWR6-NEXT: and 3, 3, 7
28371 ; PWR6-NEXT: add 4, 4, 5
28372 ; PWR6-NEXT: mulld 3, 3, 9
28373 ; PWR6-NEXT: and 4, 4, 7
28374 ; PWR6-NEXT: rldicl 3, 3, 8, 56
28375 ; PWR6-NEXT: li 5, 63
28376 ; PWR6-NEXT: mulld 4, 4, 9
28377 ; PWR6-NEXT: subc 6, 3, 5
28378 ; PWR6-NEXT: rldicl 4, 4, 8, 56
28379 ; PWR6-NEXT: subfe 3, 3, 3
28380 ; PWR6-NEXT: subc 5, 4, 5
28381 ; PWR6-NEXT: subfe 4, 4, 4
28382 ; PWR6-NEXT: blr
28386 ; PWR7-NEXT: addi 3, 1, -32
28387 ; PWR7-NEXT: li 5, 0
28388 ; PWR7-NEXT: li 6, -1
28389 ; PWR7-NEXT: stxvd2x 34, 0, 3
28390 ; PWR7-NEXT: ld 3, -24(1)
28391 ; PWR7-NEXT: ld 4, -32(1)
28392 ; PWR7-NEXT: popcntd 3, 3
28393 ; PWR7-NEXT: popcntd 4, 4
28394 ; PWR7-NEXT: cmpldi 3, 63
28395 ; PWR7-NEXT: isellt 3, 6, 5
28396 ; PWR7-NEXT: cmpldi 4, 63
28397 ; PWR7-NEXT: isellt 4, 6, 5
28398 ; PWR7-NEXT: std 3, -8(1)
28399 ; PWR7-NEXT: addi 3, 1, -16
28400 ; PWR7-NEXT: std 4, -16(1)
28401 ; PWR7-NEXT: lxvd2x 34, 0, 3
28402 ; PWR7-NEXT: blr
28406 ; PWR8-NEXT: addis 3, 2, .LCPI223_0@toc@ha
28407 ; PWR8-NEXT: vpopcntd 2, 2
28408 ; PWR8-NEXT: addi 3, 3, .LCPI223_0@toc@l
28409 ; PWR8-NEXT: lxvd2x 35, 0, 3
28410 ; PWR8-NEXT: vcmpgtud 2, 3, 2
28411 ; PWR8-NEXT: blr
28415 ; PWR9-NEXT: addis 3, 2, .LCPI223_0@toc@ha
28416 ; PWR9-NEXT: vpopcntd 2, 2
28417 ; PWR9-NEXT: addi 3, 3, .LCPI223_0@toc@l
28418 ; PWR9-NEXT: lxvx 35, 0, 3
28419 ; PWR9-NEXT: vcmpgtud 2, 3, 2
28420 ; PWR9-NEXT: blr