Lines Matching refs:v8
12 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
13 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
14 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
15 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
18 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
20 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
21 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
22 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
23 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
24 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
25 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
26 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
32 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
33 ; CHECK-D-NEXT: vand.vv v9, v8, v9
42 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
43 ; CHECK-D-NEXT: vsub.vx v8, v9, a0
44 ; CHECK-D-NEXT: vmerge.vim v8, v8, 8, v0
56 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
57 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
58 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
59 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
62 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
64 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
65 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
66 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
67 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
68 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
69 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
70 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
76 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
77 ; CHECK-D-NEXT: vand.vv v9, v8, v9
86 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
87 ; CHECK-D-NEXT: vsub.vx v8, v9, a0
88 ; CHECK-D-NEXT: vmerge.vim v8, v8, 8, v0
100 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
101 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
102 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
103 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
106 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
108 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
109 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
110 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
111 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
112 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
113 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
114 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
120 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
121 ; CHECK-D-NEXT: vand.vv v9, v8, v9
130 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
131 ; CHECK-D-NEXT: vsub.vx v8, v9, a0
132 ; CHECK-D-NEXT: vmerge.vim v8, v8, 8, v0
144 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
145 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
146 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
147 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
150 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
152 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
153 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
154 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
155 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
156 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
157 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
158 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
164 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
165 ; CHECK-D-NEXT: vand.vv v9, v8, v9
174 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
175 ; CHECK-D-NEXT: vsub.vx v8, v9, a0
176 ; CHECK-D-NEXT: vmerge.vim v8, v8, 8, v0
188 ; CHECK-ZVE64X-NEXT: vsub.vx v10, v8, a0
189 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
190 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v10
191 ; CHECK-ZVE64X-NEXT: vsrl.vi v10, v8, 1
194 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v10
196 ; CHECK-ZVE64X-NEXT: vand.vx v10, v8, a0
197 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
198 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
199 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v10, v8
200 ; CHECK-ZVE64X-NEXT: vsrl.vi v10, v8, 4
201 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v10
202 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
208 ; CHECK-D-NEXT: vrsub.vi v10, v8, 0
209 ; CHECK-D-NEXT: vand.vv v10, v8, v10
218 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
219 ; CHECK-D-NEXT: vsub.vx v8, v10, a0
220 ; CHECK-D-NEXT: vmerge.vim v8, v8, 8, v0
232 ; CHECK-NEXT: vsub.vx v12, v8, a0
233 ; CHECK-NEXT: vnot.v v8, v8
234 ; CHECK-NEXT: vand.vv v8, v8, v12
235 ; CHECK-NEXT: vsrl.vi v12, v8, 1
238 ; CHECK-NEXT: vsub.vv v8, v8, v12
240 ; CHECK-NEXT: vand.vx v12, v8, a0
241 ; CHECK-NEXT: vsrl.vi v8, v8, 2
242 ; CHECK-NEXT: vand.vx v8, v8, a0
243 ; CHECK-NEXT: vadd.vv v8, v12, v8
244 ; CHECK-NEXT: vsrl.vi v12, v8, 4
245 ; CHECK-NEXT: vadd.vv v8, v8, v12
246 ; CHECK-NEXT: vand.vi v8, v8, 15
258 ; CHECK-NEXT: vsub.vx v16, v8, a0
259 ; CHECK-NEXT: vnot.v v8, v8
260 ; CHECK-NEXT: vand.vv v8, v8, v16
261 ; CHECK-NEXT: vsrl.vi v16, v8, 1
264 ; CHECK-NEXT: vsub.vv v8, v8, v16
266 ; CHECK-NEXT: vand.vx v16, v8, a0
267 ; CHECK-NEXT: vsrl.vi v8, v8, 2
268 ; CHECK-NEXT: vand.vx v8, v8, a0
269 ; CHECK-NEXT: vadd.vv v8, v16, v8
270 ; CHECK-NEXT: vsrl.vi v16, v8, 4
271 ; CHECK-NEXT: vadd.vv v8, v8, v16
272 ; CHECK-NEXT: vand.vi v8, v8, 15
284 ; RV32I-NEXT: vsub.vx v9, v8, a0
285 ; RV32I-NEXT: vnot.v v8, v8
286 ; RV32I-NEXT: vand.vv v8, v8, v9
287 ; RV32I-NEXT: vsrl.vi v9, v8, 1
291 ; RV32I-NEXT: vsub.vv v8, v8, v9
294 ; RV32I-NEXT: vand.vx v9, v8, a0
295 ; RV32I-NEXT: vsrl.vi v8, v8, 2
296 ; RV32I-NEXT: vand.vx v8, v8, a0
297 ; RV32I-NEXT: vadd.vv v8, v9, v8
298 ; RV32I-NEXT: vsrl.vi v9, v8, 4
299 ; RV32I-NEXT: vadd.vv v8, v8, v9
302 ; RV32I-NEXT: vand.vx v8, v8, a0
304 ; RV32I-NEXT: vmul.vx v8, v8, a0
305 ; RV32I-NEXT: vsrl.vi v8, v8, 8
312 ; RV64I-NEXT: vsub.vx v9, v8, a0
313 ; RV64I-NEXT: vnot.v v8, v8
314 ; RV64I-NEXT: vand.vv v8, v8, v9
315 ; RV64I-NEXT: vsrl.vi v9, v8, 1
319 ; RV64I-NEXT: vsub.vv v8, v8, v9
322 ; RV64I-NEXT: vand.vx v9, v8, a0
323 ; RV64I-NEXT: vsrl.vi v8, v8, 2
324 ; RV64I-NEXT: vand.vx v8, v8, a0
325 ; RV64I-NEXT: vadd.vv v8, v9, v8
326 ; RV64I-NEXT: vsrl.vi v9, v8, 4
327 ; RV64I-NEXT: vadd.vv v8, v8, v9
330 ; RV64I-NEXT: vand.vx v8, v8, a0
332 ; RV64I-NEXT: vmul.vx v8, v8, a0
333 ; RV64I-NEXT: vsrl.vi v8, v8, 8
339 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
340 ; CHECK-D-NEXT: vand.vv v9, v8, v9
345 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
347 ; CHECK-D-NEXT: vmerge.vxm v8, v9, a0, v0
359 ; RV32I-NEXT: vsub.vx v9, v8, a0
360 ; RV32I-NEXT: vnot.v v8, v8
361 ; RV32I-NEXT: vand.vv v8, v8, v9
362 ; RV32I-NEXT: vsrl.vi v9, v8, 1
366 ; RV32I-NEXT: vsub.vv v8, v8, v9
369 ; RV32I-NEXT: vand.vx v9, v8, a0
370 ; RV32I-NEXT: vsrl.vi v8, v8, 2
371 ; RV32I-NEXT: vand.vx v8, v8, a0
372 ; RV32I-NEXT: vadd.vv v8, v9, v8
373 ; RV32I-NEXT: vsrl.vi v9, v8, 4
374 ; RV32I-NEXT: vadd.vv v8, v8, v9
377 ; RV32I-NEXT: vand.vx v8, v8, a0
379 ; RV32I-NEXT: vmul.vx v8, v8, a0
380 ; RV32I-NEXT: vsrl.vi v8, v8, 8
387 ; RV64I-NEXT: vsub.vx v9, v8, a0
388 ; RV64I-NEXT: vnot.v v8, v8
389 ; RV64I-NEXT: vand.vv v8, v8, v9
390 ; RV64I-NEXT: vsrl.vi v9, v8, 1
394 ; RV64I-NEXT: vsub.vv v8, v8, v9
397 ; RV64I-NEXT: vand.vx v9, v8, a0
398 ; RV64I-NEXT: vsrl.vi v8, v8, 2
399 ; RV64I-NEXT: vand.vx v8, v8, a0
400 ; RV64I-NEXT: vadd.vv v8, v9, v8
401 ; RV64I-NEXT: vsrl.vi v9, v8, 4
402 ; RV64I-NEXT: vadd.vv v8, v8, v9
405 ; RV64I-NEXT: vand.vx v8, v8, a0
407 ; RV64I-NEXT: vmul.vx v8, v8, a0
408 ; RV64I-NEXT: vsrl.vi v8, v8, 8
414 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
415 ; CHECK-D-NEXT: vand.vv v9, v8, v9
420 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
422 ; CHECK-D-NEXT: vmerge.vxm v8, v9, a0, v0
434 ; RV32I-NEXT: vsub.vx v9, v8, a0
435 ; RV32I-NEXT: vnot.v v8, v8
436 ; RV32I-NEXT: vand.vv v8, v8, v9
437 ; RV32I-NEXT: vsrl.vi v9, v8, 1
441 ; RV32I-NEXT: vsub.vv v8, v8, v9
444 ; RV32I-NEXT: vand.vx v9, v8, a0
445 ; RV32I-NEXT: vsrl.vi v8, v8, 2
446 ; RV32I-NEXT: vand.vx v8, v8, a0
447 ; RV32I-NEXT: vadd.vv v8, v9, v8
448 ; RV32I-NEXT: vsrl.vi v9, v8, 4
449 ; RV32I-NEXT: vadd.vv v8, v8, v9
452 ; RV32I-NEXT: vand.vx v8, v8, a0
454 ; RV32I-NEXT: vmul.vx v8, v8, a0
455 ; RV32I-NEXT: vsrl.vi v8, v8, 8
462 ; RV64I-NEXT: vsub.vx v9, v8, a0
463 ; RV64I-NEXT: vnot.v v8, v8
464 ; RV64I-NEXT: vand.vv v8, v8, v9
465 ; RV64I-NEXT: vsrl.vi v9, v8, 1
469 ; RV64I-NEXT: vsub.vv v8, v8, v9
472 ; RV64I-NEXT: vand.vx v9, v8, a0
473 ; RV64I-NEXT: vsrl.vi v8, v8, 2
474 ; RV64I-NEXT: vand.vx v8, v8, a0
475 ; RV64I-NEXT: vadd.vv v8, v9, v8
476 ; RV64I-NEXT: vsrl.vi v9, v8, 4
477 ; RV64I-NEXT: vadd.vv v8, v8, v9
480 ; RV64I-NEXT: vand.vx v8, v8, a0
482 ; RV64I-NEXT: vmul.vx v8, v8, a0
483 ; RV64I-NEXT: vsrl.vi v8, v8, 8
489 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
490 ; CHECK-D-NEXT: vand.vv v9, v8, v9
495 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
497 ; CHECK-D-NEXT: vmerge.vxm v8, v9, a0, v0
509 ; RV32I-NEXT: vsub.vx v10, v8, a0
510 ; RV32I-NEXT: vnot.v v8, v8
511 ; RV32I-NEXT: vand.vv v8, v8, v10
512 ; RV32I-NEXT: vsrl.vi v10, v8, 1
516 ; RV32I-NEXT: vsub.vv v8, v8, v10
519 ; RV32I-NEXT: vand.vx v10, v8, a0
520 ; RV32I-NEXT: vsrl.vi v8, v8, 2
521 ; RV32I-NEXT: vand.vx v8, v8, a0
522 ; RV32I-NEXT: vadd.vv v8, v10, v8
523 ; RV32I-NEXT: vsrl.vi v10, v8, 4
524 ; RV32I-NEXT: vadd.vv v8, v8, v10
527 ; RV32I-NEXT: vand.vx v8, v8, a0
529 ; RV32I-NEXT: vmul.vx v8, v8, a0
530 ; RV32I-NEXT: vsrl.vi v8, v8, 8
537 ; RV64I-NEXT: vsub.vx v10, v8, a0
538 ; RV64I-NEXT: vnot.v v8, v8
539 ; RV64I-NEXT: vand.vv v8, v8, v10
540 ; RV64I-NEXT: vsrl.vi v10, v8, 1
544 ; RV64I-NEXT: vsub.vv v8, v8, v10
547 ; RV64I-NEXT: vand.vx v10, v8, a0
548 ; RV64I-NEXT: vsrl.vi v8, v8, 2
549 ; RV64I-NEXT: vand.vx v8, v8, a0
550 ; RV64I-NEXT: vadd.vv v8, v10, v8
551 ; RV64I-NEXT: vsrl.vi v10, v8, 4
552 ; RV64I-NEXT: vadd.vv v8, v8, v10
555 ; RV64I-NEXT: vand.vx v8, v8, a0
557 ; RV64I-NEXT: vmul.vx v8, v8, a0
558 ; RV64I-NEXT: vsrl.vi v8, v8, 8
564 ; CHECK-D-NEXT: vrsub.vi v10, v8, 0
565 ; CHECK-D-NEXT: vand.vv v10, v8, v10
570 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
572 ; CHECK-D-NEXT: vmerge.vxm v8, v10, a0, v0
584 ; RV32I-NEXT: vsub.vx v12, v8, a0
585 ; RV32I-NEXT: vnot.v v8, v8
586 ; RV32I-NEXT: vand.vv v8, v8, v12
587 ; RV32I-NEXT: vsrl.vi v12, v8, 1
591 ; RV32I-NEXT: vsub.vv v8, v8, v12
594 ; RV32I-NEXT: vand.vx v12, v8, a0
595 ; RV32I-NEXT: vsrl.vi v8, v8, 2
596 ; RV32I-NEXT: vand.vx v8, v8, a0
597 ; RV32I-NEXT: vadd.vv v8, v12, v8
598 ; RV32I-NEXT: vsrl.vi v12, v8, 4
599 ; RV32I-NEXT: vadd.vv v8, v8, v12
602 ; RV32I-NEXT: vand.vx v8, v8, a0
604 ; RV32I-NEXT: vmul.vx v8, v8, a0
605 ; RV32I-NEXT: vsrl.vi v8, v8, 8
612 ; RV64I-NEXT: vsub.vx v12, v8, a0
613 ; RV64I-NEXT: vnot.v v8, v8
614 ; RV64I-NEXT: vand.vv v8, v8, v12
615 ; RV64I-NEXT: vsrl.vi v12, v8, 1
619 ; RV64I-NEXT: vsub.vv v8, v8, v12
622 ; RV64I-NEXT: vand.vx v12, v8, a0
623 ; RV64I-NEXT: vsrl.vi v8, v8, 2
624 ; RV64I-NEXT: vand.vx v8, v8, a0
625 ; RV64I-NEXT: vadd.vv v8, v12, v8
626 ; RV64I-NEXT: vsrl.vi v12, v8, 4
627 ; RV64I-NEXT: vadd.vv v8, v8, v12
630 ; RV64I-NEXT: vand.vx v8, v8, a0
632 ; RV64I-NEXT: vmul.vx v8, v8, a0
633 ; RV64I-NEXT: vsrl.vi v8, v8, 8
639 ; CHECK-D-NEXT: vrsub.vi v12, v8, 0
640 ; CHECK-D-NEXT: vand.vv v12, v8, v12
645 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
647 ; CHECK-D-NEXT: vmerge.vxm v8, v12, a0, v0
659 ; RV32-NEXT: vsub.vx v16, v8, a0
660 ; RV32-NEXT: vnot.v v8, v8
661 ; RV32-NEXT: vand.vv v8, v8, v16
662 ; RV32-NEXT: vsrl.vi v16, v8, 1
666 ; RV32-NEXT: vsub.vv v8, v8, v16
669 ; RV32-NEXT: vand.vx v16, v8, a0
670 ; RV32-NEXT: vsrl.vi v8, v8, 2
671 ; RV32-NEXT: vand.vx v8, v8, a0
672 ; RV32-NEXT: vadd.vv v8, v16, v8
673 ; RV32-NEXT: vsrl.vi v16, v8, 4
674 ; RV32-NEXT: vadd.vv v8, v8, v16
677 ; RV32-NEXT: vand.vx v8, v8, a0
679 ; RV32-NEXT: vmul.vx v8, v8, a0
680 ; RV32-NEXT: vsrl.vi v8, v8, 8
687 ; RV64-NEXT: vsub.vx v16, v8, a0
688 ; RV64-NEXT: vnot.v v8, v8
689 ; RV64-NEXT: vand.vv v8, v8, v16
690 ; RV64-NEXT: vsrl.vi v16, v8, 1
694 ; RV64-NEXT: vsub.vv v8, v8, v16
697 ; RV64-NEXT: vand.vx v16, v8, a0
698 ; RV64-NEXT: vsrl.vi v8, v8, 2
699 ; RV64-NEXT: vand.vx v8, v8, a0
700 ; RV64-NEXT: vadd.vv v8, v16, v8
701 ; RV64-NEXT: vsrl.vi v16, v8, 4
702 ; RV64-NEXT: vadd.vv v8, v8, v16
705 ; RV64-NEXT: vand.vx v8, v8, a0
707 ; RV64-NEXT: vmul.vx v8, v8, a0
708 ; RV64-NEXT: vsrl.vi v8, v8, 8
720 ; RV32I-NEXT: vsub.vx v9, v8, a0
721 ; RV32I-NEXT: vnot.v v8, v8
722 ; RV32I-NEXT: vand.vv v8, v8, v9
723 ; RV32I-NEXT: vsrl.vi v9, v8, 1
727 ; RV32I-NEXT: vsub.vv v8, v8, v9
730 ; RV32I-NEXT: vand.vx v9, v8, a0
731 ; RV32I-NEXT: vsrl.vi v8, v8, 2
732 ; RV32I-NEXT: vand.vx v8, v8, a0
733 ; RV32I-NEXT: vadd.vv v8, v9, v8
734 ; RV32I-NEXT: vsrl.vi v9, v8, 4
735 ; RV32I-NEXT: vadd.vv v8, v8, v9
738 ; RV32I-NEXT: vand.vx v8, v8, a0
741 ; RV32I-NEXT: vmul.vx v8, v8, a0
742 ; RV32I-NEXT: vsrl.vi v8, v8, 24
749 ; RV64I-NEXT: vsub.vx v9, v8, a0
750 ; RV64I-NEXT: vnot.v v8, v8
751 ; RV64I-NEXT: vand.vv v8, v8, v9
752 ; RV64I-NEXT: vsrl.vi v9, v8, 1
756 ; RV64I-NEXT: vsub.vv v8, v8, v9
759 ; RV64I-NEXT: vand.vx v9, v8, a0
760 ; RV64I-NEXT: vsrl.vi v8, v8, 2
761 ; RV64I-NEXT: vand.vx v8, v8, a0
762 ; RV64I-NEXT: vadd.vv v8, v9, v8
763 ; RV64I-NEXT: vsrl.vi v9, v8, 4
764 ; RV64I-NEXT: vadd.vv v8, v8, v9
767 ; RV64I-NEXT: vand.vx v8, v8, a0
770 ; RV64I-NEXT: vmul.vx v8, v8, a0
771 ; RV64I-NEXT: vsrl.vi v8, v8, 24
777 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
778 ; CHECK-D-NEXT: vand.vv v9, v8, v9
787 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
789 ; CHECK-D-NEXT: vmerge.vxm v8, v9, a0, v0
801 ; RV32I-NEXT: vsub.vx v9, v8, a0
802 ; RV32I-NEXT: vnot.v v8, v8
803 ; RV32I-NEXT: vand.vv v8, v8, v9
804 ; RV32I-NEXT: vsrl.vi v9, v8, 1
808 ; RV32I-NEXT: vsub.vv v8, v8, v9
811 ; RV32I-NEXT: vand.vx v9, v8, a0
812 ; RV32I-NEXT: vsrl.vi v8, v8, 2
813 ; RV32I-NEXT: vand.vx v8, v8, a0
814 ; RV32I-NEXT: vadd.vv v8, v9, v8
815 ; RV32I-NEXT: vsrl.vi v9, v8, 4
816 ; RV32I-NEXT: vadd.vv v8, v8, v9
819 ; RV32I-NEXT: vand.vx v8, v8, a0
822 ; RV32I-NEXT: vmul.vx v8, v8, a0
823 ; RV32I-NEXT: vsrl.vi v8, v8, 24
830 ; RV64I-NEXT: vsub.vx v9, v8, a0
831 ; RV64I-NEXT: vnot.v v8, v8
832 ; RV64I-NEXT: vand.vv v8, v8, v9
833 ; RV64I-NEXT: vsrl.vi v9, v8, 1
837 ; RV64I-NEXT: vsub.vv v8, v8, v9
840 ; RV64I-NEXT: vand.vx v9, v8, a0
841 ; RV64I-NEXT: vsrl.vi v8, v8, 2
842 ; RV64I-NEXT: vand.vx v8, v8, a0
843 ; RV64I-NEXT: vadd.vv v8, v9, v8
844 ; RV64I-NEXT: vsrl.vi v9, v8, 4
845 ; RV64I-NEXT: vadd.vv v8, v8, v9
848 ; RV64I-NEXT: vand.vx v8, v8, a0
851 ; RV64I-NEXT: vmul.vx v8, v8, a0
852 ; RV64I-NEXT: vsrl.vi v8, v8, 24
858 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
859 ; CHECK-D-NEXT: vand.vv v9, v8, v9
868 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
870 ; CHECK-D-NEXT: vmerge.vxm v8, v9, a0, v0
882 ; RV32I-NEXT: vsub.vx v10, v8, a0
883 ; RV32I-NEXT: vnot.v v8, v8
884 ; RV32I-NEXT: vand.vv v8, v8, v10
885 ; RV32I-NEXT: vsrl.vi v10, v8, 1
889 ; RV32I-NEXT: vsub.vv v8, v8, v10
892 ; RV32I-NEXT: vand.vx v10, v8, a0
893 ; RV32I-NEXT: vsrl.vi v8, v8, 2
894 ; RV32I-NEXT: vand.vx v8, v8, a0
895 ; RV32I-NEXT: vadd.vv v8, v10, v8
896 ; RV32I-NEXT: vsrl.vi v10, v8, 4
897 ; RV32I-NEXT: vadd.vv v8, v8, v10
900 ; RV32I-NEXT: vand.vx v8, v8, a0
903 ; RV32I-NEXT: vmul.vx v8, v8, a0
904 ; RV32I-NEXT: vsrl.vi v8, v8, 24
911 ; RV64I-NEXT: vsub.vx v10, v8, a0
912 ; RV64I-NEXT: vnot.v v8, v8
913 ; RV64I-NEXT: vand.vv v8, v8, v10
914 ; RV64I-NEXT: vsrl.vi v10, v8, 1
918 ; RV64I-NEXT: vsub.vv v8, v8, v10
921 ; RV64I-NEXT: vand.vx v10, v8, a0
922 ; RV64I-NEXT: vsrl.vi v8, v8, 2
923 ; RV64I-NEXT: vand.vx v8, v8, a0
924 ; RV64I-NEXT: vadd.vv v8, v10, v8
925 ; RV64I-NEXT: vsrl.vi v10, v8, 4
926 ; RV64I-NEXT: vadd.vv v8, v8, v10
929 ; RV64I-NEXT: vand.vx v8, v8, a0
932 ; RV64I-NEXT: vmul.vx v8, v8, a0
933 ; RV64I-NEXT: vsrl.vi v8, v8, 24
939 ; CHECK-D-NEXT: vrsub.vi v10, v8, 0
940 ; CHECK-D-NEXT: vand.vv v10, v8, v10
949 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
951 ; CHECK-D-NEXT: vmerge.vxm v8, v10, a0, v0
963 ; RV32I-NEXT: vsub.vx v12, v8, a0
964 ; RV32I-NEXT: vnot.v v8, v8
965 ; RV32I-NEXT: vand.vv v8, v8, v12
966 ; RV32I-NEXT: vsrl.vi v12, v8, 1
970 ; RV32I-NEXT: vsub.vv v8, v8, v12
973 ; RV32I-NEXT: vand.vx v12, v8, a0
974 ; RV32I-NEXT: vsrl.vi v8, v8, 2
975 ; RV32I-NEXT: vand.vx v8, v8, a0
976 ; RV32I-NEXT: vadd.vv v8, v12, v8
977 ; RV32I-NEXT: vsrl.vi v12, v8, 4
978 ; RV32I-NEXT: vadd.vv v8, v8, v12
981 ; RV32I-NEXT: vand.vx v8, v8, a0
984 ; RV32I-NEXT: vmul.vx v8, v8, a0
985 ; RV32I-NEXT: vsrl.vi v8, v8, 24
992 ; RV64I-NEXT: vsub.vx v12, v8, a0
993 ; RV64I-NEXT: vnot.v v8, v8
994 ; RV64I-NEXT: vand.vv v8, v8, v12
995 ; RV64I-NEXT: vsrl.vi v12, v8, 1
999 ; RV64I-NEXT: vsub.vv v8, v8, v12
1002 ; RV64I-NEXT: vand.vx v12, v8, a0
1003 ; RV64I-NEXT: vsrl.vi v8, v8, 2
1004 ; RV64I-NEXT: vand.vx v8, v8, a0
1005 ; RV64I-NEXT: vadd.vv v8, v12, v8
1006 ; RV64I-NEXT: vsrl.vi v12, v8, 4
1007 ; RV64I-NEXT: vadd.vv v8, v8, v12
1010 ; RV64I-NEXT: vand.vx v8, v8, a0
1013 ; RV64I-NEXT: vmul.vx v8, v8, a0
1014 ; RV64I-NEXT: vsrl.vi v8, v8, 24
1020 ; CHECK-D-NEXT: vrsub.vi v12, v8, 0
1021 ; CHECK-D-NEXT: vand.vv v12, v8, v12
1030 ; CHECK-D-NEXT: vmseq.vi v0, v8, 0
1032 ; CHECK-D-NEXT: vmerge.vxm v8, v12, a0, v0
1044 ; RV32-NEXT: vsub.vx v16, v8, a0
1045 ; RV32-NEXT: vnot.v v8, v8
1046 ; RV32-NEXT: vand.vv v8, v8, v16
1047 ; RV32-NEXT: vsrl.vi v16, v8, 1
1051 ; RV32-NEXT: vsub.vv v8, v8, v16
1054 ; RV32-NEXT: vand.vx v16, v8, a0
1055 ; RV32-NEXT: vsrl.vi v8, v8, 2
1056 ; RV32-NEXT: vand.vx v8, v8, a0
1057 ; RV32-NEXT: vadd.vv v8, v16, v8
1058 ; RV32-NEXT: vsrl.vi v16, v8, 4
1059 ; RV32-NEXT: vadd.vv v8, v8, v16
1062 ; RV32-NEXT: vand.vx v8, v8, a0
1065 ; RV32-NEXT: vmul.vx v8, v8, a0
1066 ; RV32-NEXT: vsrl.vi v8, v8, 24
1073 ; RV64-NEXT: vsub.vx v16, v8, a0
1074 ; RV64-NEXT: vnot.v v8, v8
1075 ; RV64-NEXT: vand.vv v8, v8, v16
1076 ; RV64-NEXT: vsrl.vi v16, v8, 1
1080 ; RV64-NEXT: vsub.vv v8, v8, v16
1083 ; RV64-NEXT: vand.vx v16, v8, a0
1084 ; RV64-NEXT: vsrl.vi v8, v8, 2
1085 ; RV64-NEXT: vand.vx v8, v8, a0
1086 ; RV64-NEXT: vadd.vv v8, v16, v8
1087 ; RV64-NEXT: vsrl.vi v16, v8, 4
1088 ; RV64-NEXT: vadd.vv v8, v8, v16
1091 ; RV64-NEXT: vand.vx v8, v8, a0
1094 ; RV64-NEXT: vmul.vx v8, v8, a0
1095 ; RV64-NEXT: vsrl.vi v8, v8, 24
1125 ; RV32-NEXT: vsub.vx v9, v8, a0
1126 ; RV32-NEXT: vnot.v v8, v8
1129 ; RV32-NEXT: vand.vv v8, v8, v9
1131 ; RV32-NEXT: vsrl.vi v11, v8, 1
1133 ; RV32-NEXT: vsub.vv v8, v8, v10
1134 ; RV32-NEXT: vand.vv v10, v8, v9
1135 ; RV32-NEXT: vsrl.vi v8, v8, 2
1136 ; RV32-NEXT: vand.vv v8, v8, v9
1137 ; RV32-NEXT: vadd.vv v8, v10, v8
1140 ; RV32-NEXT: vsrl.vi v11, v8, 4
1141 ; RV32-NEXT: vadd.vv v8, v8, v11
1142 ; RV32-NEXT: vand.vv v8, v8, v9
1143 ; RV32-NEXT: vmul.vv v8, v8, v10
1145 ; RV32-NEXT: vsrl.vx v8, v8, a0
1153 ; RV64-NEXT: vsub.vx v9, v8, a0
1154 ; RV64-NEXT: vnot.v v8, v8
1155 ; RV64-NEXT: vand.vv v8, v8, v9
1160 ; RV64-NEXT: vsrl.vi v9, v8, 1
1162 ; RV64-NEXT: vsub.vv v8, v8, v9
1163 ; RV64-NEXT: vand.vx v9, v8, a1
1164 ; RV64-NEXT: vsrl.vi v8, v8, 2
1165 ; RV64-NEXT: vand.vx v8, v8, a1
1166 ; RV64-NEXT: vadd.vv v8, v9, v8
1171 ; RV64-NEXT: vsrl.vi v9, v8, 4
1172 ; RV64-NEXT: vadd.vv v8, v8, v9
1173 ; RV64-NEXT: vand.vx v8, v8, a0
1174 ; RV64-NEXT: vmul.vx v8, v8, a1
1176 ; RV64-NEXT: vsrl.vx v8, v8, a0
1206 ; RV32-NEXT: vsub.vx v10, v8, a0
1207 ; RV32-NEXT: vnot.v v8, v8
1210 ; RV32-NEXT: vand.vv v8, v8, v10
1212 ; RV32-NEXT: vsrl.vi v14, v8, 1
1214 ; RV32-NEXT: vsub.vv v8, v8, v12
1215 ; RV32-NEXT: vand.vv v12, v8, v10
1216 ; RV32-NEXT: vsrl.vi v8, v8, 2
1217 ; RV32-NEXT: vand.vv v8, v8, v10
1218 ; RV32-NEXT: vadd.vv v8, v12, v8
1221 ; RV32-NEXT: vsrl.vi v14, v8, 4
1222 ; RV32-NEXT: vadd.vv v8, v8, v14
1223 ; RV32-NEXT: vand.vv v8, v8, v10
1224 ; RV32-NEXT: vmul.vv v8, v8, v12
1226 ; RV32-NEXT: vsrl.vx v8, v8, a0
1234 ; RV64-NEXT: vsub.vx v10, v8, a0
1235 ; RV64-NEXT: vnot.v v8, v8
1236 ; RV64-NEXT: vand.vv v8, v8, v10
1241 ; RV64-NEXT: vsrl.vi v10, v8, 1
1243 ; RV64-NEXT: vsub.vv v8, v8, v10
1244 ; RV64-NEXT: vand.vx v10, v8, a1
1245 ; RV64-NEXT: vsrl.vi v8, v8, 2
1246 ; RV64-NEXT: vand.vx v8, v8, a1
1247 ; RV64-NEXT: vadd.vv v8, v10, v8
1252 ; RV64-NEXT: vsrl.vi v10, v8, 4
1253 ; RV64-NEXT: vadd.vv v8, v8, v10
1254 ; RV64-NEXT: vand.vx v8, v8, a0
1255 ; RV64-NEXT: vmul.vx v8, v8, a1
1257 ; RV64-NEXT: vsrl.vx v8, v8, a0
1287 ; RV32-NEXT: vsub.vx v12, v8, a0
1288 ; RV32-NEXT: vnot.v v8, v8
1291 ; RV32-NEXT: vand.vv v8, v8, v12
1293 ; RV32-NEXT: vsrl.vi v20, v8, 1
1295 ; RV32-NEXT: vsub.vv v8, v8, v16
1296 ; RV32-NEXT: vand.vv v16, v8, v12
1297 ; RV32-NEXT: vsrl.vi v8, v8, 2
1298 ; RV32-NEXT: vand.vv v8, v8, v12
1299 ; RV32-NEXT: vadd.vv v8, v16, v8
1302 ; RV32-NEXT: vsrl.vi v20, v8, 4
1303 ; RV32-NEXT: vadd.vv v8, v8, v20
1304 ; RV32-NEXT: vand.vv v8, v8, v12
1305 ; RV32-NEXT: vmul.vv v8, v8, v16
1307 ; RV32-NEXT: vsrl.vx v8, v8, a0
1315 ; RV64-NEXT: vsub.vx v12, v8, a0
1316 ; RV64-NEXT: vnot.v v8, v8
1317 ; RV64-NEXT: vand.vv v8, v8, v12
1322 ; RV64-NEXT: vsrl.vi v12, v8, 1
1324 ; RV64-NEXT: vsub.vv v8, v8, v12
1325 ; RV64-NEXT: vand.vx v12, v8, a1
1326 ; RV64-NEXT: vsrl.vi v8, v8, 2
1327 ; RV64-NEXT: vand.vx v8, v8, a1
1328 ; RV64-NEXT: vadd.vv v8, v12, v8
1333 ; RV64-NEXT: vsrl.vi v12, v8, 4
1334 ; RV64-NEXT: vadd.vv v8, v8, v12
1335 ; RV64-NEXT: vand.vx v8, v8, a0
1336 ; RV64-NEXT: vmul.vx v8, v8, a1
1338 ; RV64-NEXT: vsrl.vx v8, v8, a0
1368 ; RV32-NEXT: vsub.vx v16, v8, a0
1369 ; RV32-NEXT: vnot.v v8, v8
1372 ; RV32-NEXT: vand.vv v8, v8, v16
1374 ; RV32-NEXT: vsrl.vi v0, v8, 1
1376 ; RV32-NEXT: vsub.vv v8, v8, v24
1377 ; RV32-NEXT: vand.vv v24, v8, v16
1378 ; RV32-NEXT: vsrl.vi v8, v8, 2
1379 ; RV32-NEXT: vand.vv v8, v8, v16
1380 ; RV32-NEXT: vadd.vv v8, v24, v8
1383 ; RV32-NEXT: vsrl.vi v0, v8, 4
1384 ; RV32-NEXT: vadd.vv v8, v8, v0
1385 ; RV32-NEXT: vand.vv v8, v8, v16
1386 ; RV32-NEXT: vmul.vv v8, v8, v24
1388 ; RV32-NEXT: vsrl.vx v8, v8, a0
1396 ; RV64-NEXT: vsub.vx v16, v8, a0
1397 ; RV64-NEXT: vnot.v v8, v8
1398 ; RV64-NEXT: vand.vv v8, v8, v16
1403 ; RV64-NEXT: vsrl.vi v16, v8, 1
1405 ; RV64-NEXT: vsub.vv v8, v8, v16
1406 ; RV64-NEXT: vand.vx v16, v8, a1
1407 ; RV64-NEXT: vsrl.vi v8, v8, 2
1408 ; RV64-NEXT: vand.vx v8, v8, a1
1409 ; RV64-NEXT: vadd.vv v8, v16, v8
1414 ; RV64-NEXT: vsrl.vi v16, v8, 4
1415 ; RV64-NEXT: vadd.vv v8, v8, v16
1416 ; RV64-NEXT: vand.vx v8, v8, a0
1417 ; RV64-NEXT: vmul.vx v8, v8, a1
1419 ; RV64-NEXT: vsrl.vx v8, v8, a0
1431 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
1432 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
1433 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
1434 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
1437 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
1439 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
1440 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
1441 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
1442 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
1443 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
1444 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
1445 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
1451 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1452 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1454 ; CHECK-D-NEXT: vzext.vf4 v9, v8
1455 ; CHECK-D-NEXT: vfcvt.f.xu.v v8, v9
1457 ; CHECK-D-NEXT: vnsrl.wi v8, v8, 23
1459 ; CHECK-D-NEXT: vncvt.x.x.w v8, v8
1461 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1472 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
1473 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
1474 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
1475 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
1478 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
1480 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
1481 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
1482 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
1483 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
1484 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
1485 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
1486 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
1492 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1493 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1495 ; CHECK-D-NEXT: vzext.vf4 v9, v8
1496 ; CHECK-D-NEXT: vfcvt.f.xu.v v8, v9
1498 ; CHECK-D-NEXT: vnsrl.wi v8, v8, 23
1500 ; CHECK-D-NEXT: vncvt.x.x.w v8, v8
1502 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1513 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
1514 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
1515 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
1516 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
1519 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
1521 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
1522 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
1523 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
1524 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
1525 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
1526 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
1527 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
1533 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1534 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1536 ; CHECK-D-NEXT: vzext.vf4 v10, v8
1537 ; CHECK-D-NEXT: vfcvt.f.xu.v v8, v10
1539 ; CHECK-D-NEXT: vnsrl.wi v10, v8, 23
1541 ; CHECK-D-NEXT: vncvt.x.x.w v8, v10
1543 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1554 ; CHECK-ZVE64X-NEXT: vsub.vx v9, v8, a0
1555 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
1556 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v9
1557 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 1
1560 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v9
1562 ; CHECK-ZVE64X-NEXT: vand.vx v9, v8, a0
1563 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
1564 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
1565 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v9, v8
1566 ; CHECK-ZVE64X-NEXT: vsrl.vi v9, v8, 4
1567 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v9
1568 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
1574 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1575 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1577 ; CHECK-D-NEXT: vzext.vf4 v12, v8
1578 ; CHECK-D-NEXT: vfcvt.f.xu.v v8, v12
1580 ; CHECK-D-NEXT: vnsrl.wi v12, v8, 23
1582 ; CHECK-D-NEXT: vncvt.x.x.w v8, v12
1584 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1595 ; CHECK-ZVE64X-NEXT: vsub.vx v10, v8, a0
1596 ; CHECK-ZVE64X-NEXT: vnot.v v8, v8
1597 ; CHECK-ZVE64X-NEXT: vand.vv v8, v8, v10
1598 ; CHECK-ZVE64X-NEXT: vsrl.vi v10, v8, 1
1601 ; CHECK-ZVE64X-NEXT: vsub.vv v8, v8, v10
1603 ; CHECK-ZVE64X-NEXT: vand.vx v10, v8, a0
1604 ; CHECK-ZVE64X-NEXT: vsrl.vi v8, v8, 2
1605 ; CHECK-ZVE64X-NEXT: vand.vx v8, v8, a0
1606 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v10, v8
1607 ; CHECK-ZVE64X-NEXT: vsrl.vi v10, v8, 4
1608 ; CHECK-ZVE64X-NEXT: vadd.vv v8, v8, v10
1609 ; CHECK-ZVE64X-NEXT: vand.vi v8, v8, 15
1615 ; CHECK-D-NEXT: vrsub.vi v10, v8, 0
1616 ; CHECK-D-NEXT: vand.vv v8, v8, v10
1618 ; CHECK-D-NEXT: vzext.vf4 v16, v8
1619 ; CHECK-D-NEXT: vfcvt.f.xu.v v8, v16
1621 ; CHECK-D-NEXT: vnsrl.wi v16, v8, 23
1623 ; CHECK-D-NEXT: vncvt.x.x.w v8, v16
1625 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1636 ; CHECK-NEXT: vsub.vx v12, v8, a0
1637 ; CHECK-NEXT: vnot.v v8, v8
1638 ; CHECK-NEXT: vand.vv v8, v8, v12
1639 ; CHECK-NEXT: vsrl.vi v12, v8, 1
1642 ; CHECK-NEXT: vsub.vv v8, v8, v12
1644 ; CHECK-NEXT: vand.vx v12, v8, a0
1645 ; CHECK-NEXT: vsrl.vi v8, v8, 2
1646 ; CHECK-NEXT: vand.vx v8, v8, a0
1647 ; CHECK-NEXT: vadd.vv v8, v12, v8
1648 ; CHECK-NEXT: vsrl.vi v12, v8, 4
1649 ; CHECK-NEXT: vadd.vv v8, v8, v12
1650 ; CHECK-NEXT: vand.vi v8, v8, 15
1661 ; CHECK-NEXT: vsub.vx v16, v8, a0
1662 ; CHECK-NEXT: vnot.v v8, v8
1663 ; CHECK-NEXT: vand.vv v8, v8, v16
1664 ; CHECK-NEXT: vsrl.vi v16, v8, 1
1667 ; CHECK-NEXT: vsub.vv v8, v8, v16
1669 ; CHECK-NEXT: vand.vx v16, v8, a0
1670 ; CHECK-NEXT: vsrl.vi v8, v8, 2
1671 ; CHECK-NEXT: vand.vx v8, v8, a0
1672 ; CHECK-NEXT: vadd.vv v8, v16, v8
1673 ; CHECK-NEXT: vsrl.vi v16, v8, 4
1674 ; CHECK-NEXT: vadd.vv v8, v8, v16
1675 ; CHECK-NEXT: vand.vi v8, v8, 15
1686 ; RV32I-NEXT: vsub.vx v9, v8, a0
1687 ; RV32I-NEXT: vnot.v v8, v8
1688 ; RV32I-NEXT: vand.vv v8, v8, v9
1689 ; RV32I-NEXT: vsrl.vi v9, v8, 1
1693 ; RV32I-NEXT: vsub.vv v8, v8, v9
1696 ; RV32I-NEXT: vand.vx v9, v8, a0
1697 ; RV32I-NEXT: vsrl.vi v8, v8, 2
1698 ; RV32I-NEXT: vand.vx v8, v8, a0
1699 ; RV32I-NEXT: vadd.vv v8, v9, v8
1700 ; RV32I-NEXT: vsrl.vi v9, v8, 4
1701 ; RV32I-NEXT: vadd.vv v8, v8, v9
1704 ; RV32I-NEXT: vand.vx v8, v8, a0
1706 ; RV32I-NEXT: vmul.vx v8, v8, a0
1707 ; RV32I-NEXT: vsrl.vi v8, v8, 8
1714 ; RV64I-NEXT: vsub.vx v9, v8, a0
1715 ; RV64I-NEXT: vnot.v v8, v8
1716 ; RV64I-NEXT: vand.vv v8, v8, v9
1717 ; RV64I-NEXT: vsrl.vi v9, v8, 1
1721 ; RV64I-NEXT: vsub.vv v8, v8, v9
1724 ; RV64I-NEXT: vand.vx v9, v8, a0
1725 ; RV64I-NEXT: vsrl.vi v8, v8, 2
1726 ; RV64I-NEXT: vand.vx v8, v8, a0
1727 ; RV64I-NEXT: vadd.vv v8, v9, v8
1728 ; RV64I-NEXT: vsrl.vi v9, v8, 4
1729 ; RV64I-NEXT: vadd.vv v8, v8, v9
1732 ; RV64I-NEXT: vand.vx v8, v8, a0
1734 ; RV64I-NEXT: vmul.vx v8, v8, a0
1735 ; RV64I-NEXT: vsrl.vi v8, v8, 8
1741 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1742 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1743 ; CHECK-D-NEXT: vfwcvt.f.xu.v v9, v8
1744 ; CHECK-D-NEXT: vnsrl.wi v8, v9, 23
1746 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1757 ; RV32I-NEXT: vsub.vx v9, v8, a0
1758 ; RV32I-NEXT: vnot.v v8, v8
1759 ; RV32I-NEXT: vand.vv v8, v8, v9
1760 ; RV32I-NEXT: vsrl.vi v9, v8, 1
1764 ; RV32I-NEXT: vsub.vv v8, v8, v9
1767 ; RV32I-NEXT: vand.vx v9, v8, a0
1768 ; RV32I-NEXT: vsrl.vi v8, v8, 2
1769 ; RV32I-NEXT: vand.vx v8, v8, a0
1770 ; RV32I-NEXT: vadd.vv v8, v9, v8
1771 ; RV32I-NEXT: vsrl.vi v9, v8, 4
1772 ; RV32I-NEXT: vadd.vv v8, v8, v9
1775 ; RV32I-NEXT: vand.vx v8, v8, a0
1777 ; RV32I-NEXT: vmul.vx v8, v8, a0
1778 ; RV32I-NEXT: vsrl.vi v8, v8, 8
1785 ; RV64I-NEXT: vsub.vx v9, v8, a0
1786 ; RV64I-NEXT: vnot.v v8, v8
1787 ; RV64I-NEXT: vand.vv v8, v8, v9
1788 ; RV64I-NEXT: vsrl.vi v9, v8, 1
1792 ; RV64I-NEXT: vsub.vv v8, v8, v9
1795 ; RV64I-NEXT: vand.vx v9, v8, a0
1796 ; RV64I-NEXT: vsrl.vi v8, v8, 2
1797 ; RV64I-NEXT: vand.vx v8, v8, a0
1798 ; RV64I-NEXT: vadd.vv v8, v9, v8
1799 ; RV64I-NEXT: vsrl.vi v9, v8, 4
1800 ; RV64I-NEXT: vadd.vv v8, v8, v9
1803 ; RV64I-NEXT: vand.vx v8, v8, a0
1805 ; RV64I-NEXT: vmul.vx v8, v8, a0
1806 ; RV64I-NEXT: vsrl.vi v8, v8, 8
1812 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1813 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1814 ; CHECK-D-NEXT: vfwcvt.f.xu.v v9, v8
1815 ; CHECK-D-NEXT: vnsrl.wi v8, v9, 23
1817 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1828 ; RV32I-NEXT: vsub.vx v9, v8, a0
1829 ; RV32I-NEXT: vnot.v v8, v8
1830 ; RV32I-NEXT: vand.vv v8, v8, v9
1831 ; RV32I-NEXT: vsrl.vi v9, v8, 1
1835 ; RV32I-NEXT: vsub.vv v8, v8, v9
1838 ; RV32I-NEXT: vand.vx v9, v8, a0
1839 ; RV32I-NEXT: vsrl.vi v8, v8, 2
1840 ; RV32I-NEXT: vand.vx v8, v8, a0
1841 ; RV32I-NEXT: vadd.vv v8, v9, v8
1842 ; RV32I-NEXT: vsrl.vi v9, v8, 4
1843 ; RV32I-NEXT: vadd.vv v8, v8, v9
1846 ; RV32I-NEXT: vand.vx v8, v8, a0
1848 ; RV32I-NEXT: vmul.vx v8, v8, a0
1849 ; RV32I-NEXT: vsrl.vi v8, v8, 8
1856 ; RV64I-NEXT: vsub.vx v9, v8, a0
1857 ; RV64I-NEXT: vnot.v v8, v8
1858 ; RV64I-NEXT: vand.vv v8, v8, v9
1859 ; RV64I-NEXT: vsrl.vi v9, v8, 1
1863 ; RV64I-NEXT: vsub.vv v8, v8, v9
1866 ; RV64I-NEXT: vand.vx v9, v8, a0
1867 ; RV64I-NEXT: vsrl.vi v8, v8, 2
1868 ; RV64I-NEXT: vand.vx v8, v8, a0
1869 ; RV64I-NEXT: vadd.vv v8, v9, v8
1870 ; RV64I-NEXT: vsrl.vi v9, v8, 4
1871 ; RV64I-NEXT: vadd.vv v8, v8, v9
1874 ; RV64I-NEXT: vand.vx v8, v8, a0
1876 ; RV64I-NEXT: vmul.vx v8, v8, a0
1877 ; RV64I-NEXT: vsrl.vi v8, v8, 8
1883 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
1884 ; CHECK-D-NEXT: vand.vv v8, v8, v9
1885 ; CHECK-D-NEXT: vfwcvt.f.xu.v v10, v8
1886 ; CHECK-D-NEXT: vnsrl.wi v8, v10, 23
1888 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1899 ; RV32I-NEXT: vsub.vx v10, v8, a0
1900 ; RV32I-NEXT: vnot.v v8, v8
1901 ; RV32I-NEXT: vand.vv v8, v8, v10
1902 ; RV32I-NEXT: vsrl.vi v10, v8, 1
1906 ; RV32I-NEXT: vsub.vv v8, v8, v10
1909 ; RV32I-NEXT: vand.vx v10, v8, a0
1910 ; RV32I-NEXT: vsrl.vi v8, v8, 2
1911 ; RV32I-NEXT: vand.vx v8, v8, a0
1912 ; RV32I-NEXT: vadd.vv v8, v10, v8
1913 ; RV32I-NEXT: vsrl.vi v10, v8, 4
1914 ; RV32I-NEXT: vadd.vv v8, v8, v10
1917 ; RV32I-NEXT: vand.vx v8, v8, a0
1919 ; RV32I-NEXT: vmul.vx v8, v8, a0
1920 ; RV32I-NEXT: vsrl.vi v8, v8, 8
1927 ; RV64I-NEXT: vsub.vx v10, v8, a0
1928 ; RV64I-NEXT: vnot.v v8, v8
1929 ; RV64I-NEXT: vand.vv v8, v8, v10
1930 ; RV64I-NEXT: vsrl.vi v10, v8, 1
1934 ; RV64I-NEXT: vsub.vv v8, v8, v10
1937 ; RV64I-NEXT: vand.vx v10, v8, a0
1938 ; RV64I-NEXT: vsrl.vi v8, v8, 2
1939 ; RV64I-NEXT: vand.vx v8, v8, a0
1940 ; RV64I-NEXT: vadd.vv v8, v10, v8
1941 ; RV64I-NEXT: vsrl.vi v10, v8, 4
1942 ; RV64I-NEXT: vadd.vv v8, v8, v10
1945 ; RV64I-NEXT: vand.vx v8, v8, a0
1947 ; RV64I-NEXT: vmul.vx v8, v8, a0
1948 ; RV64I-NEXT: vsrl.vi v8, v8, 8
1954 ; CHECK-D-NEXT: vrsub.vi v10, v8, 0
1955 ; CHECK-D-NEXT: vand.vv v8, v8, v10
1956 ; CHECK-D-NEXT: vfwcvt.f.xu.v v12, v8
1957 ; CHECK-D-NEXT: vnsrl.wi v8, v12, 23
1959 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
1970 ; RV32I-NEXT: vsub.vx v12, v8, a0
1971 ; RV32I-NEXT: vnot.v v8, v8
1972 ; RV32I-NEXT: vand.vv v8, v8, v12
1973 ; RV32I-NEXT: vsrl.vi v12, v8, 1
1977 ; RV32I-NEXT: vsub.vv v8, v8, v12
1980 ; RV32I-NEXT: vand.vx v12, v8, a0
1981 ; RV32I-NEXT: vsrl.vi v8, v8, 2
1982 ; RV32I-NEXT: vand.vx v8, v8, a0
1983 ; RV32I-NEXT: vadd.vv v8, v12, v8
1984 ; RV32I-NEXT: vsrl.vi v12, v8, 4
1985 ; RV32I-NEXT: vadd.vv v8, v8, v12
1988 ; RV32I-NEXT: vand.vx v8, v8, a0
1990 ; RV32I-NEXT: vmul.vx v8, v8, a0
1991 ; RV32I-NEXT: vsrl.vi v8, v8, 8
1998 ; RV64I-NEXT: vsub.vx v12, v8, a0
1999 ; RV64I-NEXT: vnot.v v8, v8
2000 ; RV64I-NEXT: vand.vv v8, v8, v12
2001 ; RV64I-NEXT: vsrl.vi v12, v8, 1
2005 ; RV64I-NEXT: vsub.vv v8, v8, v12
2008 ; RV64I-NEXT: vand.vx v12, v8, a0
2009 ; RV64I-NEXT: vsrl.vi v8, v8, 2
2010 ; RV64I-NEXT: vand.vx v8, v8, a0
2011 ; RV64I-NEXT: vadd.vv v8, v12, v8
2012 ; RV64I-NEXT: vsrl.vi v12, v8, 4
2013 ; RV64I-NEXT: vadd.vv v8, v8, v12
2016 ; RV64I-NEXT: vand.vx v8, v8, a0
2018 ; RV64I-NEXT: vmul.vx v8, v8, a0
2019 ; RV64I-NEXT: vsrl.vi v8, v8, 8
2025 ; CHECK-D-NEXT: vrsub.vi v12, v8, 0
2026 ; CHECK-D-NEXT: vand.vv v8, v8, v12
2027 ; CHECK-D-NEXT: vfwcvt.f.xu.v v16, v8
2028 ; CHECK-D-NEXT: vnsrl.wi v8, v16, 23
2030 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
2041 ; RV32-NEXT: vsub.vx v16, v8, a0
2042 ; RV32-NEXT: vnot.v v8, v8
2043 ; RV32-NEXT: vand.vv v8, v8, v16
2044 ; RV32-NEXT: vsrl.vi v16, v8, 1
2048 ; RV32-NEXT: vsub.vv v8, v8, v16
2051 ; RV32-NEXT: vand.vx v16, v8, a0
2052 ; RV32-NEXT: vsrl.vi v8, v8, 2
2053 ; RV32-NEXT: vand.vx v8, v8, a0
2054 ; RV32-NEXT: vadd.vv v8, v16, v8
2055 ; RV32-NEXT: vsrl.vi v16, v8, 4
2056 ; RV32-NEXT: vadd.vv v8, v8, v16
2059 ; RV32-NEXT: vand.vx v8, v8, a0
2061 ; RV32-NEXT: vmul.vx v8, v8, a0
2062 ; RV32-NEXT: vsrl.vi v8, v8, 8
2069 ; RV64-NEXT: vsub.vx v16, v8, a0
2070 ; RV64-NEXT: vnot.v v8, v8
2071 ; RV64-NEXT: vand.vv v8, v8, v16
2072 ; RV64-NEXT: vsrl.vi v16, v8, 1
2076 ; RV64-NEXT: vsub.vv v8, v8, v16
2079 ; RV64-NEXT: vand.vx v16, v8, a0
2080 ; RV64-NEXT: vsrl.vi v8, v8, 2
2081 ; RV64-NEXT: vand.vx v8, v8, a0
2082 ; RV64-NEXT: vadd.vv v8, v16, v8
2083 ; RV64-NEXT: vsrl.vi v16, v8, 4
2084 ; RV64-NEXT: vadd.vv v8, v8, v16
2087 ; RV64-NEXT: vand.vx v8, v8, a0
2089 ; RV64-NEXT: vmul.vx v8, v8, a0
2090 ; RV64-NEXT: vsrl.vi v8, v8, 8
2101 ; RV32I-NEXT: vsub.vx v9, v8, a0
2102 ; RV32I-NEXT: vnot.v v8, v8
2103 ; RV32I-NEXT: vand.vv v8, v8, v9
2104 ; RV32I-NEXT: vsrl.vi v9, v8, 1
2108 ; RV32I-NEXT: vsub.vv v8, v8, v9
2111 ; RV32I-NEXT: vand.vx v9, v8, a0
2112 ; RV32I-NEXT: vsrl.vi v8, v8, 2
2113 ; RV32I-NEXT: vand.vx v8, v8, a0
2114 ; RV32I-NEXT: vadd.vv v8, v9, v8
2115 ; RV32I-NEXT: vsrl.vi v9, v8, 4
2116 ; RV32I-NEXT: vadd.vv v8, v8, v9
2119 ; RV32I-NEXT: vand.vx v8, v8, a0
2122 ; RV32I-NEXT: vmul.vx v8, v8, a0
2123 ; RV32I-NEXT: vsrl.vi v8, v8, 24
2130 ; RV64I-NEXT: vsub.vx v9, v8, a0
2131 ; RV64I-NEXT: vnot.v v8, v8
2132 ; RV64I-NEXT: vand.vv v8, v8, v9
2133 ; RV64I-NEXT: vsrl.vi v9, v8, 1
2137 ; RV64I-NEXT: vsub.vv v8, v8, v9
2140 ; RV64I-NEXT: vand.vx v9, v8, a0
2141 ; RV64I-NEXT: vsrl.vi v8, v8, 2
2142 ; RV64I-NEXT: vand.vx v8, v8, a0
2143 ; RV64I-NEXT: vadd.vv v8, v9, v8
2144 ; RV64I-NEXT: vsrl.vi v9, v8, 4
2145 ; RV64I-NEXT: vadd.vv v8, v8, v9
2148 ; RV64I-NEXT: vand.vx v8, v8, a0
2151 ; RV64I-NEXT: vmul.vx v8, v8, a0
2152 ; RV64I-NEXT: vsrl.vi v8, v8, 24
2158 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
2159 ; CHECK-D-NEXT: vand.vv v8, v8, v9
2160 ; CHECK-D-NEXT: vfwcvt.f.xu.v v9, v8
2163 ; CHECK-D-NEXT: vsrl.vx v8, v9, a0
2165 ; CHECK-D-NEXT: vncvt.x.x.w v8, v8
2167 ; CHECK-D-NEXT: vsub.vx v8, v8, a0
2178 ; RV32I-NEXT: vsub.vx v9, v8, a0
2179 ; RV32I-NEXT: vnot.v v8, v8
2180 ; RV32I-NEXT: vand.vv v8, v8, v9
2181 ; RV32I-NEXT: vsrl.vi v9, v8, 1
2185 ; RV32I-NEXT: vsub.vv v8, v8, v9
2188 ; RV32I-NEXT: vand.vx v9, v8, a0
2189 ; RV32I-NEXT: vsrl.vi v8, v8, 2
2190 ; RV32I-NEXT: vand.vx v8, v8, a0
2191 ; RV32I-NEXT: vadd.vv v8, v9, v8
2192 ; RV32I-NEXT: vsrl.vi v9, v8, 4
2193 ; RV32I-NEXT: vadd.vv v8, v8, v9
2196 ; RV32I-NEXT: vand.vx v8, v8, a0
2199 ; RV32I-NEXT: vmul.vx v8, v8, a0
2200 ; RV32I-NEXT: vsrl.vi v8, v8, 24
2207 ; RV64I-NEXT: vsub.vx v9, v8, a0
2208 ; RV64I-NEXT: vnot.v v8, v8
2209 ; RV64I-NEXT: vand.vv v8, v8, v9
2210 ; RV64I-NEXT: vsrl.vi v9, v8, 1
2214 ; RV64I-NEXT: vsub.vv v8, v8, v9
2217 ; RV64I-NEXT: vand.vx v9, v8, a0
2218 ; RV64I-NEXT: vsrl.vi v8, v8, 2
2219 ; RV64I-NEXT: vand.vx v8, v8, a0
2220 ; RV64I-NEXT: vadd.vv v8, v9, v8
2221 ; RV64I-NEXT: vsrl.vi v9, v8, 4
2222 ; RV64I-NEXT: vadd.vv v8, v8, v9
2225 ; RV64I-NEXT: vand.vx v8, v8, a0
2228 ; RV64I-NEXT: vmul.vx v8, v8, a0
2229 ; RV64I-NEXT: vsrl.vi v8, v8, 24
2235 ; CHECK-D-NEXT: vrsub.vi v9, v8, 0
2236 ; CHECK-D-NEXT: vand.vv v8, v8, v9
2237 ; CHECK-D-NEXT: vfwcvt.f.xu.v v10, v8
2240 ; CHECK-D-NEXT: vsrl.vx v8, v10, a0
2242 ; CHECK-D-NEXT: vncvt.x.x.w v10, v8
2244 ; CHECK-D-NEXT: vsub.vx v8, v10, a0
2255 ; RV32I-NEXT: vsub.vx v10, v8, a0
2256 ; RV32I-NEXT: vnot.v v8, v8
2257 ; RV32I-NEXT: vand.vv v8, v8, v10
2258 ; RV32I-NEXT: vsrl.vi v10, v8, 1
2262 ; RV32I-NEXT: vsub.vv v8, v8, v10
2265 ; RV32I-NEXT: vand.vx v10, v8, a0
2266 ; RV32I-NEXT: vsrl.vi v8, v8, 2
2267 ; RV32I-NEXT: vand.vx v8, v8, a0
2268 ; RV32I-NEXT: vadd.vv v8, v10, v8
2269 ; RV32I-NEXT: vsrl.vi v10, v8, 4
2270 ; RV32I-NEXT: vadd.vv v8, v8, v10
2273 ; RV32I-NEXT: vand.vx v8, v8, a0
2276 ; RV32I-NEXT: vmul.vx v8, v8, a0
2277 ; RV32I-NEXT: vsrl.vi v8, v8, 24
2284 ; RV64I-NEXT: vsub.vx v10, v8, a0
2285 ; RV64I-NEXT: vnot.v v8, v8
2286 ; RV64I-NEXT: vand.vv v8, v8, v10
2287 ; RV64I-NEXT: vsrl.vi v10, v8, 1
2291 ; RV64I-NEXT: vsub.vv v8, v8, v10
2294 ; RV64I-NEXT: vand.vx v10, v8, a0
2295 ; RV64I-NEXT: vsrl.vi v8, v8, 2
2296 ; RV64I-NEXT: vand.vx v8, v8, a0
2297 ; RV64I-NEXT: vadd.vv v8, v10, v8
2298 ; RV64I-NEXT: vsrl.vi v10, v8, 4
2299 ; RV64I-NEXT: vadd.vv v8, v8, v10
2302 ; RV64I-NEXT: vand.vx v8, v8, a0
2305 ; RV64I-NEXT: vmul.vx v8, v8, a0
2306 ; RV64I-NEXT: vsrl.vi v8, v8, 24
2312 ; CHECK-D-NEXT: vrsub.vi v10, v8, 0
2313 ; CHECK-D-NEXT: vand.vv v8, v8, v10
2314 ; CHECK-D-NEXT: vfwcvt.f.xu.v v12, v8
2317 ; CHECK-D-NEXT: vsrl.vx v8, v12, a0
2319 ; CHECK-D-NEXT: vncvt.x.x.w v12, v8
2321 ; CHECK-D-NEXT: vsub.vx v8, v12, a0
2332 ; RV32I-NEXT: vsub.vx v12, v8, a0
2333 ; RV32I-NEXT: vnot.v v8, v8
2334 ; RV32I-NEXT: vand.vv v8, v8, v12
2335 ; RV32I-NEXT: vsrl.vi v12, v8, 1
2339 ; RV32I-NEXT: vsub.vv v8, v8, v12
2342 ; RV32I-NEXT: vand.vx v12, v8, a0
2343 ; RV32I-NEXT: vsrl.vi v8, v8, 2
2344 ; RV32I-NEXT: vand.vx v8, v8, a0
2345 ; RV32I-NEXT: vadd.vv v8, v12, v8
2346 ; RV32I-NEXT: vsrl.vi v12, v8, 4
2347 ; RV32I-NEXT: vadd.vv v8, v8, v12
2350 ; RV32I-NEXT: vand.vx v8, v8, a0
2353 ; RV32I-NEXT: vmul.vx v8, v8, a0
2354 ; RV32I-NEXT: vsrl.vi v8, v8, 24
2361 ; RV64I-NEXT: vsub.vx v12, v8, a0
2362 ; RV64I-NEXT: vnot.v v8, v8
2363 ; RV64I-NEXT: vand.vv v8, v8, v12
2364 ; RV64I-NEXT: vsrl.vi v12, v8, 1
2368 ; RV64I-NEXT: vsub.vv v8, v8, v12
2371 ; RV64I-NEXT: vand.vx v12, v8, a0
2372 ; RV64I-NEXT: vsrl.vi v8, v8, 2
2373 ; RV64I-NEXT: vand.vx v8, v8, a0
2374 ; RV64I-NEXT: vadd.vv v8, v12, v8
2375 ; RV64I-NEXT: vsrl.vi v12, v8, 4
2376 ; RV64I-NEXT: vadd.vv v8, v8, v12
2379 ; RV64I-NEXT: vand.vx v8, v8, a0
2382 ; RV64I-NEXT: vmul.vx v8, v8, a0
2383 ; RV64I-NEXT: vsrl.vi v8, v8, 24
2389 ; CHECK-D-NEXT: vrsub.vi v12, v8, 0
2390 ; CHECK-D-NEXT: vand.vv v8, v8, v12
2391 ; CHECK-D-NEXT: vfwcvt.f.xu.v v16, v8
2394 ; CHECK-D-NEXT: vsrl.vx v8, v16, a0
2396 ; CHECK-D-NEXT: vncvt.x.x.w v16, v8
2398 ; CHECK-D-NEXT: vsub.vx v8, v16, a0
2409 ; RV32-NEXT: vsub.vx v16, v8, a0
2410 ; RV32-NEXT: vnot.v v8, v8
2411 ; RV32-NEXT: vand.vv v8, v8, v16
2412 ; RV32-NEXT: vsrl.vi v16, v8, 1
2416 ; RV32-NEXT: vsub.vv v8, v8, v16
2419 ; RV32-NEXT: vand.vx v16, v8, a0
2420 ; RV32-NEXT: vsrl.vi v8, v8, 2
2421 ; RV32-NEXT: vand.vx v8, v8, a0
2422 ; RV32-NEXT: vadd.vv v8, v16, v8
2423 ; RV32-NEXT: vsrl.vi v16, v8, 4
2424 ; RV32-NEXT: vadd.vv v8, v8, v16
2427 ; RV32-NEXT: vand.vx v8, v8, a0
2430 ; RV32-NEXT: vmul.vx v8, v8, a0
2431 ; RV32-NEXT: vsrl.vi v8, v8, 24
2438 ; RV64-NEXT: vsub.vx v16, v8, a0
2439 ; RV64-NEXT: vnot.v v8, v8
2440 ; RV64-NEXT: vand.vv v8, v8, v16
2441 ; RV64-NEXT: vsrl.vi v16, v8, 1
2445 ; RV64-NEXT: vsub.vv v8, v8, v16
2448 ; RV64-NEXT: vand.vx v16, v8, a0
2449 ; RV64-NEXT: vsrl.vi v8, v8, 2
2450 ; RV64-NEXT: vand.vx v8, v8, a0
2451 ; RV64-NEXT: vadd.vv v8, v16, v8
2452 ; RV64-NEXT: vsrl.vi v16, v8, 4
2453 ; RV64-NEXT: vadd.vv v8, v8, v16
2456 ; RV64-NEXT: vand.vx v8, v8, a0
2459 ; RV64-NEXT: vmul.vx v8, v8, a0
2460 ; RV64-NEXT: vsrl.vi v8, v8, 24
2489 ; RV32-NEXT: vsub.vx v9, v8, a0
2490 ; RV32-NEXT: vnot.v v8, v8
2493 ; RV32-NEXT: vand.vv v8, v8, v9
2495 ; RV32-NEXT: vsrl.vi v11, v8, 1
2497 ; RV32-NEXT: vsub.vv v8, v8, v10
2498 ; RV32-NEXT: vand.vv v10, v8, v9
2499 ; RV32-NEXT: vsrl.vi v8, v8, 2
2500 ; RV32-NEXT: vand.vv v8, v8, v9
2501 ; RV32-NEXT: vadd.vv v8, v10, v8
2504 ; RV32-NEXT: vsrl.vi v11, v8, 4
2505 ; RV32-NEXT: vadd.vv v8, v8, v11
2506 ; RV32-NEXT: vand.vv v8, v8, v9
2507 ; RV32-NEXT: vmul.vv v8, v8, v10
2509 ; RV32-NEXT: vsrl.vx v8, v8, a0
2517 ; RV64-NEXT: vsub.vx v9, v8, a0
2518 ; RV64-NEXT: vnot.v v8, v8
2519 ; RV64-NEXT: vand.vv v8, v8, v9
2524 ; RV64-NEXT: vsrl.vi v9, v8, 1
2526 ; RV64-NEXT: vsub.vv v8, v8, v9
2527 ; RV64-NEXT: vand.vx v9, v8, a1
2528 ; RV64-NEXT: vsrl.vi v8, v8, 2
2529 ; RV64-NEXT: vand.vx v8, v8, a1
2530 ; RV64-NEXT: vadd.vv v8, v9, v8
2535 ; RV64-NEXT: vsrl.vi v9, v8, 4
2536 ; RV64-NEXT: vadd.vv v8, v8, v9
2537 ; RV64-NEXT: vand.vx v8, v8, a0
2538 ; RV64-NEXT: vmul.vx v8, v8, a1
2540 ; RV64-NEXT: vsrl.vx v8, v8, a0
2569 ; RV32-NEXT: vsub.vx v10, v8, a0
2570 ; RV32-NEXT: vnot.v v8, v8
2573 ; RV32-NEXT: vand.vv v8, v8, v10
2575 ; RV32-NEXT: vsrl.vi v14, v8, 1
2577 ; RV32-NEXT: vsub.vv v8, v8, v12
2578 ; RV32-NEXT: vand.vv v12, v8, v10
2579 ; RV32-NEXT: vsrl.vi v8, v8, 2
2580 ; RV32-NEXT: vand.vv v8, v8, v10
2581 ; RV32-NEXT: vadd.vv v8, v12, v8
2584 ; RV32-NEXT: vsrl.vi v14, v8, 4
2585 ; RV32-NEXT: vadd.vv v8, v8, v14
2586 ; RV32-NEXT: vand.vv v8, v8, v10
2587 ; RV32-NEXT: vmul.vv v8, v8, v12
2589 ; RV32-NEXT: vsrl.vx v8, v8, a0
2597 ; RV64-NEXT: vsub.vx v10, v8, a0
2598 ; RV64-NEXT: vnot.v v8, v8
2599 ; RV64-NEXT: vand.vv v8, v8, v10
2604 ; RV64-NEXT: vsrl.vi v10, v8, 1
2606 ; RV64-NEXT: vsub.vv v8, v8, v10
2607 ; RV64-NEXT: vand.vx v10, v8, a1
2608 ; RV64-NEXT: vsrl.vi v8, v8, 2
2609 ; RV64-NEXT: vand.vx v8, v8, a1
2610 ; RV64-NEXT: vadd.vv v8, v10, v8
2615 ; RV64-NEXT: vsrl.vi v10, v8, 4
2616 ; RV64-NEXT: vadd.vv v8, v8, v10
2617 ; RV64-NEXT: vand.vx v8, v8, a0
2618 ; RV64-NEXT: vmul.vx v8, v8, a1
2620 ; RV64-NEXT: vsrl.vx v8, v8, a0
2649 ; RV32-NEXT: vsub.vx v12, v8, a0
2650 ; RV32-NEXT: vnot.v v8, v8
2653 ; RV32-NEXT: vand.vv v8, v8, v12
2655 ; RV32-NEXT: vsrl.vi v20, v8, 1
2657 ; RV32-NEXT: vsub.vv v8, v8, v16
2658 ; RV32-NEXT: vand.vv v16, v8, v12
2659 ; RV32-NEXT: vsrl.vi v8, v8, 2
2660 ; RV32-NEXT: vand.vv v8, v8, v12
2661 ; RV32-NEXT: vadd.vv v8, v16, v8
2664 ; RV32-NEXT: vsrl.vi v20, v8, 4
2665 ; RV32-NEXT: vadd.vv v8, v8, v20
2666 ; RV32-NEXT: vand.vv v8, v8, v12
2667 ; RV32-NEXT: vmul.vv v8, v8, v16
2669 ; RV32-NEXT: vsrl.vx v8, v8, a0
2677 ; RV64-NEXT: vsub.vx v12, v8, a0
2678 ; RV64-NEXT: vnot.v v8, v8
2679 ; RV64-NEXT: vand.vv v8, v8, v12
2684 ; RV64-NEXT: vsrl.vi v12, v8, 1
2686 ; RV64-NEXT: vsub.vv v8, v8, v12
2687 ; RV64-NEXT: vand.vx v12, v8, a1
2688 ; RV64-NEXT: vsrl.vi v8, v8, 2
2689 ; RV64-NEXT: vand.vx v8, v8, a1
2690 ; RV64-NEXT: vadd.vv v8, v12, v8
2695 ; RV64-NEXT: vsrl.vi v12, v8, 4
2696 ; RV64-NEXT: vadd.vv v8, v8, v12
2697 ; RV64-NEXT: vand.vx v8, v8, a0
2698 ; RV64-NEXT: vmul.vx v8, v8, a1
2700 ; RV64-NEXT: vsrl.vx v8, v8, a0
2729 ; RV32-NEXT: vsub.vx v16, v8, a0
2730 ; RV32-NEXT: vnot.v v8, v8
2733 ; RV32-NEXT: vand.vv v8, v8, v16
2735 ; RV32-NEXT: vsrl.vi v0, v8, 1
2737 ; RV32-NEXT: vsub.vv v8, v8, v24
2738 ; RV32-NEXT: vand.vv v24, v8, v16
2739 ; RV32-NEXT: vsrl.vi v8, v8, 2
2740 ; RV32-NEXT: vand.vv v8, v8, v16
2741 ; RV32-NEXT: vadd.vv v8, v24, v8
2744 ; RV32-NEXT: vsrl.vi v0, v8, 4
2745 ; RV32-NEXT: vadd.vv v8, v8, v0
2746 ; RV32-NEXT: vand.vv v8, v8, v16
2747 ; RV32-NEXT: vmul.vv v8, v8, v24
2749 ; RV32-NEXT: vsrl.vx v8, v8, a0
2757 ; RV64-NEXT: vsub.vx v16, v8, a0
2758 ; RV64-NEXT: vnot.v v8, v8
2759 ; RV64-NEXT: vand.vv v8, v8, v16
2764 ; RV64-NEXT: vsrl.vi v16, v8, 1
2766 ; RV64-NEXT: vsub.vv v8, v8, v16
2767 ; RV64-NEXT: vand.vx v16, v8, a1
2768 ; RV64-NEXT: vsrl.vi v8, v8, 2
2769 ; RV64-NEXT: vand.vx v8, v8, a1
2770 ; RV64-NEXT: vadd.vv v8, v16, v8
2775 ; RV64-NEXT: vsrl.vi v16, v8, 4
2776 ; RV64-NEXT: vadd.vv v8, v8, v16
2777 ; RV64-NEXT: vand.vx v8, v8, a0
2778 ; RV64-NEXT: vmul.vx v8, v8, a1
2780 ; RV64-NEXT: vsrl.vx v8, v8, a0