Lines Matching refs:a0

30 ; RV32I-NEXT:    slli a1, a0, 8
31 ; RV32I-NEXT: slli a0, a0, 16
32 ; RV32I-NEXT: srli a0, a0, 24
33 ; RV32I-NEXT: or a0, a1, a0
38 ; RV64I-NEXT: slli a1, a0, 8
39 ; RV64I-NEXT: slli a0, a0, 48
40 ; RV64I-NEXT: srli a0, a0, 56
41 ; RV64I-NEXT: or a0, a1, a0
46 ; RV32ZB-NEXT: rev8 a0, a0
47 ; RV32ZB-NEXT: srli a0, a0, 16
52 ; RV64ZB-NEXT: rev8 a0, a0
53 ; RV64ZB-NEXT: srli a0, a0, 48
58 ; RV32ZBP-NEXT: rev8.h a0, a0
63 ; RV64ZBP-NEXT: rev8.h a0, a0
72 ; RV32I-NEXT: srli a1, a0, 8
76 ; RV32I-NEXT: srli a2, a0, 24
78 ; RV32I-NEXT: slli a2, a0, 8
81 ; RV32I-NEXT: slli a0, a0, 24
82 ; RV32I-NEXT: or a0, a0, a2
83 ; RV32I-NEXT: or a0, a0, a1
88 ; RV64I-NEXT: srliw a1, a0, 8
92 ; RV64I-NEXT: srliw a2, a0, 24
94 ; RV64I-NEXT: slli a2, a0, 8
97 ; RV64I-NEXT: slliw a0, a0, 24
98 ; RV64I-NEXT: or a0, a0, a2
99 ; RV64I-NEXT: or a0, a0, a1
104 ; RV32ZB-NEXT: rev8 a0, a0
109 ; RV64ZB-NEXT: rev8 a0, a0
110 ; RV64ZB-NEXT: srli a0, a0, 32
115 ; RV32ZBP-NEXT: rev8 a0, a0
120 ; RV64ZBP-NEXT: rev8.w a0, a0
141 ; RV32I-NEXT: srli a1, a0, 8
143 ; RV32I-NEXT: srli a3, a0, 24
145 ; RV32I-NEXT: slli a3, a0, 8
147 ; RV32I-NEXT: slli a0, a0, 24
148 ; RV32I-NEXT: or a0, a0, a3
149 ; RV32I-NEXT: or a1, a0, a1
150 ; RV32I-NEXT: mv a0, a2
155 ; RV64I-NEXT: srli a1, a0, 24
158 ; RV64I-NEXT: srli a2, a0, 8
163 ; RV64I-NEXT: srli a2, a0, 40
167 ; RV64I-NEXT: srli a4, a0, 56
170 ; RV64I-NEXT: slli a2, a0, 24
173 ; RV64I-NEXT: srliw a4, a0, 24
176 ; RV64I-NEXT: slli a4, a0, 40
179 ; RV64I-NEXT: slli a0, a0, 56
180 ; RV64I-NEXT: or a0, a0, a3
181 ; RV64I-NEXT: or a0, a0, a2
182 ; RV64I-NEXT: or a0, a0, a1
188 ; RV32ZB-NEXT: rev8 a1, a0
189 ; RV32ZB-NEXT: mv a0, a2
194 ; RV64ZB-NEXT: rev8 a0, a0
200 ; RV32ZBP-NEXT: rev8 a1, a0
201 ; RV32ZBP-NEXT: mv a0, a2
206 ; RV64ZBP-NEXT: rev8 a0, a0
215 ; RV32I-NEXT: andi a1, a0, 15
217 ; RV32I-NEXT: slli a0, a0, 24
218 ; RV32I-NEXT: srli a0, a0, 28
219 ; RV32I-NEXT: or a0, a0, a1
220 ; RV32I-NEXT: andi a1, a0, 51
222 ; RV32I-NEXT: srli a0, a0, 2
223 ; RV32I-NEXT: andi a0, a0, 51
224 ; RV32I-NEXT: or a0, a0, a1
225 ; RV32I-NEXT: andi a1, a0, 85
227 ; RV32I-NEXT: srli a0, a0, 1
228 ; RV32I-NEXT: andi a0, a0, 85
229 ; RV32I-NEXT: or a0, a0, a1
234 ; RV64I-NEXT: andi a1, a0, 15
236 ; RV64I-NEXT: slli a0, a0, 56
237 ; RV64I-NEXT: srli a0, a0, 60
238 ; RV64I-NEXT: or a0, a0, a1
239 ; RV64I-NEXT: andi a1, a0, 51
241 ; RV64I-NEXT: srli a0, a0, 2
242 ; RV64I-NEXT: andi a0, a0, 51
243 ; RV64I-NEXT: or a0, a0, a1
244 ; RV64I-NEXT: andi a1, a0, 85
246 ; RV64I-NEXT: srli a0, a0, 1
247 ; RV64I-NEXT: andi a0, a0, 85
248 ; RV64I-NEXT: or a0, a0, a1
253 ; RV32ZBB-NEXT: andi a1, a0, 15
255 ; RV32ZBB-NEXT: slli a0, a0, 24
256 ; RV32ZBB-NEXT: srli a0, a0, 28
257 ; RV32ZBB-NEXT: or a0, a0, a1
258 ; RV32ZBB-NEXT: andi a1, a0, 51
260 ; RV32ZBB-NEXT: srli a0, a0, 2
261 ; RV32ZBB-NEXT: andi a0, a0, 51
262 ; RV32ZBB-NEXT: or a0, a0, a1
263 ; RV32ZBB-NEXT: andi a1, a0, 85
265 ; RV32ZBB-NEXT: srli a0, a0, 1
266 ; RV32ZBB-NEXT: andi a0, a0, 85
267 ; RV32ZBB-NEXT: or a0, a0, a1
272 ; RV64ZBB-NEXT: andi a1, a0, 15
274 ; RV64ZBB-NEXT: slli a0, a0, 56
275 ; RV64ZBB-NEXT: srli a0, a0, 60
276 ; RV64ZBB-NEXT: or a0, a0, a1
277 ; RV64ZBB-NEXT: andi a1, a0, 51
279 ; RV64ZBB-NEXT: srli a0, a0, 2
280 ; RV64ZBB-NEXT: andi a0, a0, 51
281 ; RV64ZBB-NEXT: or a0, a0, a1
282 ; RV64ZBB-NEXT: andi a1, a0, 85
284 ; RV64ZBB-NEXT: srli a0, a0, 1
285 ; RV64ZBB-NEXT: andi a0, a0, 85
286 ; RV64ZBB-NEXT: or a0, a0, a1
291 ; RV32ZBKB-NEXT: rev8 a0, a0
292 ; RV32ZBKB-NEXT: brev8 a0, a0
293 ; RV32ZBKB-NEXT: srli a0, a0, 24
298 ; RV64ZBKB-NEXT: rev8 a0, a0
299 ; RV64ZBKB-NEXT: brev8 a0, a0
300 ; RV64ZBKB-NEXT: srli a0, a0, 56
305 ; RV32ZBP-NEXT: rev.b a0, a0
310 ; RV64ZBP-NEXT: rev.b a0, a0
319 ; RV32I-NEXT: slli a1, a0, 8
320 ; RV32I-NEXT: slli a0, a0, 16
321 ; RV32I-NEXT: srli a0, a0, 24
322 ; RV32I-NEXT: or a0, a1, a0
323 ; RV32I-NEXT: srli a1, a0, 4
327 ; RV32I-NEXT: and a0, a0, a2
328 ; RV32I-NEXT: slli a0, a0, 4
329 ; RV32I-NEXT: or a0, a1, a0
330 ; RV32I-NEXT: srli a1, a0, 2
334 ; RV32I-NEXT: and a0, a0, a2
335 ; RV32I-NEXT: slli a0, a0, 2
336 ; RV32I-NEXT: or a0, a1, a0
337 ; RV32I-NEXT: srli a1, a0, 1
341 ; RV32I-NEXT: and a0, a0, a2
342 ; RV32I-NEXT: slli a0, a0, 1
343 ; RV32I-NEXT: or a0, a1, a0
348 ; RV64I-NEXT: slli a1, a0, 8
349 ; RV64I-NEXT: slli a0, a0, 48
350 ; RV64I-NEXT: srli a0, a0, 56
351 ; RV64I-NEXT: or a0, a1, a0
352 ; RV64I-NEXT: srli a1, a0, 4
356 ; RV64I-NEXT: and a0, a0, a2
357 ; RV64I-NEXT: slli a0, a0, 4
358 ; RV64I-NEXT: or a0, a1, a0
359 ; RV64I-NEXT: srli a1, a0, 2
363 ; RV64I-NEXT: and a0, a0, a2
364 ; RV64I-NEXT: slli a0, a0, 2
365 ; RV64I-NEXT: or a0, a1, a0
366 ; RV64I-NEXT: srli a1, a0, 1
370 ; RV64I-NEXT: and a0, a0, a2
371 ; RV64I-NEXT: slli a0, a0, 1
372 ; RV64I-NEXT: or a0, a1, a0
377 ; RV32ZBB-NEXT: rev8 a0, a0
378 ; RV32ZBB-NEXT: srli a1, a0, 12
382 ; RV32ZBB-NEXT: srli a0, a0, 20
383 ; RV32ZBB-NEXT: andi a0, a0, -241
384 ; RV32ZBB-NEXT: or a0, a0, a1
385 ; RV32ZBB-NEXT: srli a1, a0, 2
389 ; RV32ZBB-NEXT: and a0, a0, a2
390 ; RV32ZBB-NEXT: slli a0, a0, 2
391 ; RV32ZBB-NEXT: or a0, a1, a0
392 ; RV32ZBB-NEXT: srli a1, a0, 1
396 ; RV32ZBB-NEXT: and a0, a0, a2
397 ; RV32ZBB-NEXT: slli a0, a0, 1
398 ; RV32ZBB-NEXT: or a0, a1, a0
403 ; RV64ZBB-NEXT: rev8 a0, a0
404 ; RV64ZBB-NEXT: srli a1, a0, 44
408 ; RV64ZBB-NEXT: srli a0, a0, 52
409 ; RV64ZBB-NEXT: andi a0, a0, -241
410 ; RV64ZBB-NEXT: or a0, a0, a1
411 ; RV64ZBB-NEXT: srli a1, a0, 2
415 ; RV64ZBB-NEXT: and a0, a0, a2
416 ; RV64ZBB-NEXT: slli a0, a0, 2
417 ; RV64ZBB-NEXT: or a0, a1, a0
418 ; RV64ZBB-NEXT: srli a1, a0, 1
422 ; RV64ZBB-NEXT: and a0, a0, a2
423 ; RV64ZBB-NEXT: slli a0, a0, 1
424 ; RV64ZBB-NEXT: or a0, a1, a0
429 ; RV32ZBKB-NEXT: rev8 a0, a0
430 ; RV32ZBKB-NEXT: brev8 a0, a0
431 ; RV32ZBKB-NEXT: srli a0, a0, 16
436 ; RV64ZBKB-NEXT: rev8 a0, a0
437 ; RV64ZBKB-NEXT: brev8 a0, a0
438 ; RV64ZBKB-NEXT: srli a0, a0, 48
443 ; RV32ZBP-NEXT: rev.h a0, a0
448 ; RV64ZBP-NEXT: rev.h a0, a0
457 ; RV32I-NEXT: srli a1, a0, 8
461 ; RV32I-NEXT: srli a2, a0, 24
463 ; RV32I-NEXT: slli a2, a0, 8
466 ; RV32I-NEXT: slli a0, a0, 24
467 ; RV32I-NEXT: or a0, a0, a2
468 ; RV32I-NEXT: or a0, a0, a1
469 ; RV32I-NEXT: srli a1, a0, 4
473 ; RV32I-NEXT: and a0, a0, a2
474 ; RV32I-NEXT: slli a0, a0, 4
475 ; RV32I-NEXT: or a0, a1, a0
476 ; RV32I-NEXT: srli a1, a0, 2
480 ; RV32I-NEXT: and a0, a0, a2
481 ; RV32I-NEXT: slli a0, a0, 2
482 ; RV32I-NEXT: or a0, a1, a0
483 ; RV32I-NEXT: srli a1, a0, 1
487 ; RV32I-NEXT: and a0, a0, a2
488 ; RV32I-NEXT: slli a0, a0, 1
489 ; RV32I-NEXT: or a0, a1, a0
494 ; RV64I-NEXT: srliw a1, a0, 8
498 ; RV64I-NEXT: srliw a2, a0, 24
500 ; RV64I-NEXT: slli a2, a0, 8
503 ; RV64I-NEXT: slliw a0, a0, 24
504 ; RV64I-NEXT: or a0, a0, a2
505 ; RV64I-NEXT: or a0, a0, a1
506 ; RV64I-NEXT: srli a1, a0, 4
510 ; RV64I-NEXT: and a0, a0, a2
511 ; RV64I-NEXT: slliw a0, a0, 4
512 ; RV64I-NEXT: or a0, a1, a0
513 ; RV64I-NEXT: srli a1, a0, 2
517 ; RV64I-NEXT: and a0, a0, a2
518 ; RV64I-NEXT: slliw a0, a0, 2
519 ; RV64I-NEXT: or a0, a1, a0
520 ; RV64I-NEXT: srli a1, a0, 1
524 ; RV64I-NEXT: and a0, a0, a2
525 ; RV64I-NEXT: slliw a0, a0, 1
526 ; RV64I-NEXT: or a0, a1, a0
531 ; RV32ZBB-NEXT: rev8 a0, a0
532 ; RV32ZBB-NEXT: srli a1, a0, 4
536 ; RV32ZBB-NEXT: and a0, a0, a2
537 ; RV32ZBB-NEXT: slli a0, a0, 4
538 ; RV32ZBB-NEXT: or a0, a1, a0
539 ; RV32ZBB-NEXT: srli a1, a0, 2
543 ; RV32ZBB-NEXT: and a0, a0, a2
544 ; RV32ZBB-NEXT: slli a0, a0, 2
545 ; RV32ZBB-NEXT: or a0, a1, a0
546 ; RV32ZBB-NEXT: srli a1, a0, 1
550 ; RV32ZBB-NEXT: and a0, a0, a2
551 ; RV32ZBB-NEXT: slli a0, a0, 1
552 ; RV32ZBB-NEXT: or a0, a1, a0
557 ; RV64ZBB-NEXT: rev8 a0, a0
558 ; RV64ZBB-NEXT: srli a1, a0, 36
562 ; RV64ZBB-NEXT: srli a0, a0, 28
565 ; RV64ZBB-NEXT: and a0, a0, a2
566 ; RV64ZBB-NEXT: sext.w a0, a0
567 ; RV64ZBB-NEXT: or a0, a1, a0
568 ; RV64ZBB-NEXT: srli a1, a0, 2
572 ; RV64ZBB-NEXT: and a0, a0, a2
573 ; RV64ZBB-NEXT: slliw a0, a0, 2
574 ; RV64ZBB-NEXT: or a0, a1, a0
575 ; RV64ZBB-NEXT: srli a1, a0, 1
579 ; RV64ZBB-NEXT: and a0, a0, a2
580 ; RV64ZBB-NEXT: slliw a0, a0, 1
581 ; RV64ZBB-NEXT: or a0, a1, a0
586 ; RV32ZBKB-NEXT: rev8 a0, a0
587 ; RV32ZBKB-NEXT: brev8 a0, a0
592 ; RV64ZBKB-NEXT: rev8 a0, a0
593 ; RV64ZBKB-NEXT: brev8 a0, a0
594 ; RV64ZBKB-NEXT: srli a0, a0, 32
599 ; RV32ZBP-NEXT: rev a0, a0
604 ; RV64ZBP-NEXT: rev.w a0, a0
646 ; RV32I-NEXT: srli a1, a0, 8
648 ; RV32I-NEXT: srli a3, a0, 24
650 ; RV32I-NEXT: slli a3, a0, 8
652 ; RV32I-NEXT: slli a0, a0, 24
653 ; RV32I-NEXT: or a0, a0, a3
654 ; RV32I-NEXT: or a0, a0, a1
655 ; RV32I-NEXT: srli a1, a0, 4
657 ; RV32I-NEXT: and a0, a0, a4
658 ; RV32I-NEXT: slli a0, a0, 4
659 ; RV32I-NEXT: or a0, a1, a0
660 ; RV32I-NEXT: srli a1, a0, 2
662 ; RV32I-NEXT: and a0, a0, a6
663 ; RV32I-NEXT: slli a0, a0, 2
664 ; RV32I-NEXT: or a0, a1, a0
665 ; RV32I-NEXT: srli a1, a0, 1
667 ; RV32I-NEXT: and a0, a0, a7
668 ; RV32I-NEXT: slli a0, a0, 1
669 ; RV32I-NEXT: or a1, a1, a0
670 ; RV32I-NEXT: mv a0, a2
675 ; RV64I-NEXT: srli a1, a0, 24
678 ; RV64I-NEXT: srli a2, a0, 8
683 ; RV64I-NEXT: srli a2, a0, 40
687 ; RV64I-NEXT: srli a4, a0, 56
690 ; RV64I-NEXT: slli a2, a0, 24
693 ; RV64I-NEXT: srliw a4, a0, 24
696 ; RV64I-NEXT: slli a4, a0, 40
699 ; RV64I-NEXT: slli a0, a0, 56
700 ; RV64I-NEXT: or a0, a0, a3
703 ; RV64I-NEXT: or a0, a0, a2
704 ; RV64I-NEXT: or a0, a0, a1
705 ; RV64I-NEXT: srli a1, a0, 4
707 ; RV64I-NEXT: and a0, a0, a3
710 ; RV64I-NEXT: slli a0, a0, 4
711 ; RV64I-NEXT: or a0, a1, a0
712 ; RV64I-NEXT: srli a1, a0, 2
714 ; RV64I-NEXT: and a0, a0, a2
717 ; RV64I-NEXT: slli a0, a0, 2
718 ; RV64I-NEXT: or a0, a1, a0
719 ; RV64I-NEXT: srli a1, a0, 1
721 ; RV64I-NEXT: and a0, a0, a2
722 ; RV64I-NEXT: slli a0, a0, 1
723 ; RV64I-NEXT: or a0, a1, a0
750 ; RV32ZBB-NEXT: rev8 a0, a0
751 ; RV32ZBB-NEXT: srli a1, a0, 4
753 ; RV32ZBB-NEXT: and a0, a0, a3
754 ; RV32ZBB-NEXT: slli a0, a0, 4
755 ; RV32ZBB-NEXT: or a0, a1, a0
756 ; RV32ZBB-NEXT: srli a1, a0, 2
758 ; RV32ZBB-NEXT: and a0, a0, a4
759 ; RV32ZBB-NEXT: slli a0, a0, 2
760 ; RV32ZBB-NEXT: or a0, a1, a0
761 ; RV32ZBB-NEXT: srli a1, a0, 1
763 ; RV32ZBB-NEXT: and a0, a0, a5
764 ; RV32ZBB-NEXT: slli a0, a0, 1
765 ; RV32ZBB-NEXT: or a1, a1, a0
766 ; RV32ZBB-NEXT: mv a0, a2
773 ; RV64ZBB-NEXT: rev8 a0, a0
774 ; RV64ZBB-NEXT: srli a2, a0, 4
776 ; RV64ZBB-NEXT: and a0, a0, a1
779 ; RV64ZBB-NEXT: slli a0, a0, 4
780 ; RV64ZBB-NEXT: or a0, a2, a0
781 ; RV64ZBB-NEXT: srli a2, a0, 2
783 ; RV64ZBB-NEXT: and a0, a0, a1
786 ; RV64ZBB-NEXT: slli a0, a0, 2
787 ; RV64ZBB-NEXT: or a0, a2, a0
788 ; RV64ZBB-NEXT: srli a2, a0, 1
790 ; RV64ZBB-NEXT: and a0, a0, a1
791 ; RV64ZBB-NEXT: slli a0, a0, 1
792 ; RV64ZBB-NEXT: or a0, a2, a0
799 ; RV32ZBKB-NEXT: rev8 a0, a0
800 ; RV32ZBKB-NEXT: brev8 a1, a0
801 ; RV32ZBKB-NEXT: mv a0, a2
806 ; RV64ZBKB-NEXT: rev8 a0, a0
807 ; RV64ZBKB-NEXT: brev8 a0, a0
813 ; RV32ZBP-NEXT: rev a1, a0
814 ; RV32ZBP-NEXT: mv a0, a2
819 ; RV64ZBP-NEXT: rev a0, a0
828 ; RV32I-NEXT: srli a1, a0, 4
832 ; RV32I-NEXT: and a0, a0, a2
833 ; RV32I-NEXT: slli a0, a0, 4
834 ; RV32I-NEXT: or a0, a1, a0
835 ; RV32I-NEXT: srli a1, a0, 2
839 ; RV32I-NEXT: and a0, a0, a2
840 ; RV32I-NEXT: slli a0, a0, 2
841 ; RV32I-NEXT: or a0, a1, a0
842 ; RV32I-NEXT: srli a1, a0, 1
846 ; RV32I-NEXT: and a0, a0, a2
847 ; RV32I-NEXT: slli a0, a0, 1
848 ; RV32I-NEXT: or a0, a1, a0
853 ; RV64I-NEXT: srli a1, a0, 4
857 ; RV64I-NEXT: and a0, a0, a2
858 ; RV64I-NEXT: slli a0, a0, 4
859 ; RV64I-NEXT: or a0, a1, a0
860 ; RV64I-NEXT: srli a1, a0, 2
864 ; RV64I-NEXT: and a0, a0, a2
865 ; RV64I-NEXT: slli a0, a0, 2
866 ; RV64I-NEXT: or a0, a1, a0
867 ; RV64I-NEXT: srli a1, a0, 1
871 ; RV64I-NEXT: and a0, a0, a2
872 ; RV64I-NEXT: slli a0, a0, 1
873 ; RV64I-NEXT: or a0, a1, a0
878 ; RV32ZBB-NEXT: srli a1, a0, 4
882 ; RV32ZBB-NEXT: and a0, a0, a2
883 ; RV32ZBB-NEXT: slli a0, a0, 4
884 ; RV32ZBB-NEXT: or a0, a1, a0
885 ; RV32ZBB-NEXT: srli a1, a0, 2
889 ; RV32ZBB-NEXT: and a0, a0, a2
890 ; RV32ZBB-NEXT: slli a0, a0, 2
891 ; RV32ZBB-NEXT: or a0, a1, a0
892 ; RV32ZBB-NEXT: srli a1, a0, 1
896 ; RV32ZBB-NEXT: and a0, a0, a2
897 ; RV32ZBB-NEXT: slli a0, a0, 1
898 ; RV32ZBB-NEXT: or a0, a1, a0
903 ; RV64ZBB-NEXT: srli a1, a0, 4
907 ; RV64ZBB-NEXT: and a0, a0, a2
908 ; RV64ZBB-NEXT: slli a0, a0, 4
909 ; RV64ZBB-NEXT: or a0, a1, a0
910 ; RV64ZBB-NEXT: srli a1, a0, 2
914 ; RV64ZBB-NEXT: and a0, a0, a2
915 ; RV64ZBB-NEXT: slli a0, a0, 2
916 ; RV64ZBB-NEXT: or a0, a1, a0
917 ; RV64ZBB-NEXT: srli a1, a0, 1
921 ; RV64ZBB-NEXT: and a0, a0, a2
922 ; RV64ZBB-NEXT: slli a0, a0, 1
923 ; RV64ZBB-NEXT: or a0, a1, a0
928 ; RV32ZBKB-NEXT: brev8 a0, a0
933 ; RV64ZBKB-NEXT: brev8 a0, a0
938 ; RV32ZBP-NEXT: rev.b a0, a0
943 ; RV64ZBP-NEXT: rev.b a0, a0
953 ; RV32I-NEXT: srli a1, a0, 4
957 ; RV32I-NEXT: and a0, a0, a2
958 ; RV32I-NEXT: slli a0, a0, 4
959 ; RV32I-NEXT: or a0, a1, a0
960 ; RV32I-NEXT: srli a1, a0, 2
964 ; RV32I-NEXT: and a0, a0, a2
965 ; RV32I-NEXT: slli a0, a0, 2
966 ; RV32I-NEXT: or a0, a1, a0
967 ; RV32I-NEXT: srli a1, a0, 1
971 ; RV32I-NEXT: and a0, a0, a2
972 ; RV32I-NEXT: slli a0, a0, 1
973 ; RV32I-NEXT: or a0, a1, a0
978 ; RV64I-NEXT: srli a1, a0, 4
982 ; RV64I-NEXT: and a0, a0, a2
983 ; RV64I-NEXT: slliw a0, a0, 4
984 ; RV64I-NEXT: or a0, a1, a0
985 ; RV64I-NEXT: srli a1, a0, 2
989 ; RV64I-NEXT: and a0, a0, a2
990 ; RV64I-NEXT: slliw a0, a0, 2
991 ; RV64I-NEXT: or a0, a1, a0
992 ; RV64I-NEXT: srli a1, a0, 1
996 ; RV64I-NEXT: and a0, a0, a2
997 ; RV64I-NEXT: slliw a0, a0, 1
998 ; RV64I-NEXT: or a0, a1, a0
1003 ; RV32ZBB-NEXT: srli a1, a0, 4
1007 ; RV32ZBB-NEXT: and a0, a0, a2
1008 ; RV32ZBB-NEXT: slli a0, a0, 4
1009 ; RV32ZBB-NEXT: or a0, a1, a0
1010 ; RV32ZBB-NEXT: srli a1, a0, 2
1014 ; RV32ZBB-NEXT: and a0, a0, a2
1015 ; RV32ZBB-NEXT: slli a0, a0, 2
1016 ; RV32ZBB-NEXT: or a0, a1, a0
1017 ; RV32ZBB-NEXT: srli a1, a0, 1
1021 ; RV32ZBB-NEXT: and a0, a0, a2
1022 ; RV32ZBB-NEXT: slli a0, a0, 1
1023 ; RV32ZBB-NEXT: or a0, a1, a0
1028 ; RV64ZBB-NEXT: srli a1, a0, 4
1032 ; RV64ZBB-NEXT: and a0, a0, a2
1033 ; RV64ZBB-NEXT: slliw a0, a0, 4
1034 ; RV64ZBB-NEXT: or a0, a1, a0
1035 ; RV64ZBB-NEXT: srli a1, a0, 2
1039 ; RV64ZBB-NEXT: and a0, a0, a2
1040 ; RV64ZBB-NEXT: slliw a0, a0, 2
1041 ; RV64ZBB-NEXT: or a0, a1, a0
1042 ; RV64ZBB-NEXT: srli a1, a0, 1
1046 ; RV64ZBB-NEXT: and a0, a0, a2
1047 ; RV64ZBB-NEXT: slliw a0, a0, 1
1048 ; RV64ZBB-NEXT: or a0, a1, a0
1053 ; RV32ZBKB-NEXT: brev8 a0, a0
1058 ; RV64ZBKB-NEXT: brev8 a0, a0
1063 ; RV32ZBP-NEXT: rev.b a0, a0
1068 ; RV64ZBP-NEXT: rev.b a0, a0
1078 ; RV32I-NEXT: srli a2, a0, 4
1082 ; RV32I-NEXT: and a0, a0, a3
1083 ; RV32I-NEXT: slli a0, a0, 4
1084 ; RV32I-NEXT: or a0, a2, a0
1085 ; RV32I-NEXT: srli a2, a0, 2
1089 ; RV32I-NEXT: and a0, a0, a4
1090 ; RV32I-NEXT: slli a0, a0, 2
1091 ; RV32I-NEXT: or a0, a2, a0
1092 ; RV32I-NEXT: srli a2, a0, 1
1096 ; RV32I-NEXT: and a0, a0, a5
1097 ; RV32I-NEXT: slli a0, a0, 1
1098 ; RV32I-NEXT: or a0, a2, a0
1120 ; RV64I-NEXT: srli a2, a0, 4
1122 ; RV64I-NEXT: and a0, a0, a1
1125 ; RV64I-NEXT: slli a0, a0, 4
1126 ; RV64I-NEXT: or a0, a2, a0
1127 ; RV64I-NEXT: srli a2, a0, 2
1129 ; RV64I-NEXT: and a0, a0, a1
1132 ; RV64I-NEXT: slli a0, a0, 2
1133 ; RV64I-NEXT: or a0, a2, a0
1134 ; RV64I-NEXT: srli a2, a0, 1
1136 ; RV64I-NEXT: and a0, a0, a1
1137 ; RV64I-NEXT: slli a0, a0, 1
1138 ; RV64I-NEXT: or a0, a2, a0
1143 ; RV32ZBB-NEXT: srli a2, a0, 4
1147 ; RV32ZBB-NEXT: and a0, a0, a3
1148 ; RV32ZBB-NEXT: slli a0, a0, 4
1149 ; RV32ZBB-NEXT: or a0, a2, a0
1150 ; RV32ZBB-NEXT: srli a2, a0, 2
1154 ; RV32ZBB-NEXT: and a0, a0, a4
1155 ; RV32ZBB-NEXT: slli a0, a0, 2
1156 ; RV32ZBB-NEXT: or a0, a2, a0
1157 ; RV32ZBB-NEXT: srli a2, a0, 1
1161 ; RV32ZBB-NEXT: and a0, a0, a5
1162 ; RV32ZBB-NEXT: slli a0, a0, 1
1163 ; RV32ZBB-NEXT: or a0, a2, a0
1185 ; RV64ZBB-NEXT: srli a2, a0, 4
1187 ; RV64ZBB-NEXT: and a0, a0, a1
1190 ; RV64ZBB-NEXT: slli a0, a0, 4
1191 ; RV64ZBB-NEXT: or a0, a2, a0
1192 ; RV64ZBB-NEXT: srli a2, a0, 2
1194 ; RV64ZBB-NEXT: and a0, a0, a1
1197 ; RV64ZBB-NEXT: slli a0, a0, 2
1198 ; RV64ZBB-NEXT: or a0, a2, a0
1199 ; RV64ZBB-NEXT: srli a2, a0, 1
1201 ; RV64ZBB-NEXT: and a0, a0, a1
1202 ; RV64ZBB-NEXT: slli a0, a0, 1
1203 ; RV64ZBB-NEXT: or a0, a2, a0
1208 ; RV32ZBKB-NEXT: brev8 a0, a0
1214 ; RV64ZBKB-NEXT: brev8 a0, a0
1219 ; RV32ZBP-NEXT: rev.b a0, a0
1225 ; RV64ZBP-NEXT: rev.b a0, a0
1235 ; RV32I-NEXT: srli a1, a0, 4
1239 ; RV32I-NEXT: and a0, a0, a2
1240 ; RV32I-NEXT: slli a0, a0, 4
1241 ; RV32I-NEXT: or a0, a1, a0
1242 ; RV32I-NEXT: srli a1, a0, 2
1246 ; RV32I-NEXT: and a0, a0, a2
1247 ; RV32I-NEXT: slli a0, a0, 2
1248 ; RV32I-NEXT: or a0, a1, a0
1249 ; RV32I-NEXT: srli a1, a0, 1
1253 ; RV32I-NEXT: and a0, a0, a2
1254 ; RV32I-NEXT: slli a0, a0, 1
1255 ; RV32I-NEXT: or a0, a1, a0
1260 ; RV64I-NEXT: srli a1, a0, 4
1264 ; RV64I-NEXT: and a0, a0, a2
1265 ; RV64I-NEXT: slli a0, a0, 4
1266 ; RV64I-NEXT: or a0, a1, a0
1267 ; RV64I-NEXT: srli a1, a0, 2
1271 ; RV64I-NEXT: and a0, a0, a2
1272 ; RV64I-NEXT: slli a0, a0, 2
1273 ; RV64I-NEXT: or a0, a1, a0
1274 ; RV64I-NEXT: srli a1, a0, 1
1278 ; RV64I-NEXT: and a0, a0, a2
1279 ; RV64I-NEXT: slli a0, a0, 1
1280 ; RV64I-NEXT: or a0, a1, a0
1285 ; RV32ZBB-NEXT: srli a1, a0, 4
1289 ; RV32ZBB-NEXT: and a0, a0, a2
1290 ; RV32ZBB-NEXT: slli a0, a0, 4
1291 ; RV32ZBB-NEXT: or a0, a1, a0
1292 ; RV32ZBB-NEXT: srli a1, a0, 2
1296 ; RV32ZBB-NEXT: and a0, a0, a2
1297 ; RV32ZBB-NEXT: slli a0, a0, 2
1298 ; RV32ZBB-NEXT: or a0, a1, a0
1299 ; RV32ZBB-NEXT: srli a1, a0, 1
1303 ; RV32ZBB-NEXT: and a0, a0, a2
1304 ; RV32ZBB-NEXT: slli a0, a0, 1
1305 ; RV32ZBB-NEXT: or a0, a1, a0
1310 ; RV64ZBB-NEXT: srli a1, a0, 4
1314 ; RV64ZBB-NEXT: and a0, a0, a2
1315 ; RV64ZBB-NEXT: slli a0, a0, 4
1316 ; RV64ZBB-NEXT: or a0, a1, a0
1317 ; RV64ZBB-NEXT: srli a1, a0, 2
1321 ; RV64ZBB-NEXT: and a0, a0, a2
1322 ; RV64ZBB-NEXT: slli a0, a0, 2
1323 ; RV64ZBB-NEXT: or a0, a1, a0
1324 ; RV64ZBB-NEXT: srli a1, a0, 1
1328 ; RV64ZBB-NEXT: and a0, a0, a2
1329 ; RV64ZBB-NEXT: slli a0, a0, 1
1330 ; RV64ZBB-NEXT: or a0, a1, a0
1335 ; RV32ZBKB-NEXT: brev8 a0, a0
1340 ; RV64ZBKB-NEXT: brev8 a0, a0
1345 ; RV32ZBP-NEXT: rev.b a0, a0
1350 ; RV64ZBP-NEXT: rev.b a0, a0
1360 ; RV32I-NEXT: srli a1, a0, 4
1364 ; RV32I-NEXT: and a0, a0, a2
1365 ; RV32I-NEXT: slli a0, a0, 4
1366 ; RV32I-NEXT: or a0, a1, a0
1367 ; RV32I-NEXT: srli a1, a0, 2
1371 ; RV32I-NEXT: and a0, a0, a2
1372 ; RV32I-NEXT: slli a0, a0, 2
1373 ; RV32I-NEXT: or a0, a1, a0
1374 ; RV32I-NEXT: srli a1, a0, 1
1378 ; RV32I-NEXT: and a0, a0, a2
1379 ; RV32I-NEXT: slli a0, a0, 1
1380 ; RV32I-NEXT: or a0, a1, a0
1385 ; RV64I-NEXT: srli a1, a0, 4
1389 ; RV64I-NEXT: and a0, a0, a2
1390 ; RV64I-NEXT: slliw a0, a0, 4
1391 ; RV64I-NEXT: or a0, a1, a0
1392 ; RV64I-NEXT: srli a1, a0, 2
1396 ; RV64I-NEXT: and a0, a0, a2
1397 ; RV64I-NEXT: slliw a0, a0, 2
1398 ; RV64I-NEXT: or a0, a1, a0
1399 ; RV64I-NEXT: srli a1, a0, 1
1403 ; RV64I-NEXT: and a0, a0, a2
1404 ; RV64I-NEXT: slliw a0, a0, 1
1405 ; RV64I-NEXT: or a0, a1, a0
1410 ; RV32ZBB-NEXT: srli a1, a0, 4
1414 ; RV32ZBB-NEXT: and a0, a0, a2
1415 ; RV32ZBB-NEXT: slli a0, a0, 4
1416 ; RV32ZBB-NEXT: or a0, a1, a0
1417 ; RV32ZBB-NEXT: srli a1, a0, 2
1421 ; RV32ZBB-NEXT: and a0, a0, a2
1422 ; RV32ZBB-NEXT: slli a0, a0, 2
1423 ; RV32ZBB-NEXT: or a0, a1, a0
1424 ; RV32ZBB-NEXT: srli a1, a0, 1
1428 ; RV32ZBB-NEXT: and a0, a0, a2
1429 ; RV32ZBB-NEXT: slli a0, a0, 1
1430 ; RV32ZBB-NEXT: or a0, a1, a0
1435 ; RV64ZBB-NEXT: srli a1, a0, 4
1439 ; RV64ZBB-NEXT: and a0, a0, a2
1440 ; RV64ZBB-NEXT: slliw a0, a0, 4
1441 ; RV64ZBB-NEXT: or a0, a1, a0
1442 ; RV64ZBB-NEXT: srli a1, a0, 2
1446 ; RV64ZBB-NEXT: and a0, a0, a2
1447 ; RV64ZBB-NEXT: slliw a0, a0, 2
1448 ; RV64ZBB-NEXT: or a0, a1, a0
1449 ; RV64ZBB-NEXT: srli a1, a0, 1
1453 ; RV64ZBB-NEXT: and a0, a0, a2
1454 ; RV64ZBB-NEXT: slliw a0, a0, 1
1455 ; RV64ZBB-NEXT: or a0, a1, a0
1460 ; RV32ZBKB-NEXT: brev8 a0, a0
1465 ; RV64ZBKB-NEXT: brev8 a0, a0
1470 ; RV32ZBP-NEXT: rev.b a0, a0
1475 ; RV64ZBP-NEXT: rev.b a0, a0
1485 ; RV32I-NEXT: srli a2, a0, 4
1489 ; RV32I-NEXT: and a0, a0, a3
1490 ; RV32I-NEXT: slli a0, a0, 4
1491 ; RV32I-NEXT: or a0, a2, a0
1492 ; RV32I-NEXT: srli a2, a0, 2
1496 ; RV32I-NEXT: and a0, a0, a4
1497 ; RV32I-NEXT: slli a0, a0, 2
1498 ; RV32I-NEXT: or a0, a2, a0
1499 ; RV32I-NEXT: srli a2, a0, 1
1503 ; RV32I-NEXT: and a0, a0, a5
1504 ; RV32I-NEXT: slli a0, a0, 1
1505 ; RV32I-NEXT: or a0, a2, a0
1527 ; RV64I-NEXT: srli a2, a0, 4
1529 ; RV64I-NEXT: and a0, a0, a1
1532 ; RV64I-NEXT: slli a0, a0, 4
1533 ; RV64I-NEXT: or a0, a2, a0
1534 ; RV64I-NEXT: srli a2, a0, 2
1536 ; RV64I-NEXT: and a0, a0, a1
1539 ; RV64I-NEXT: slli a0, a0, 2
1540 ; RV64I-NEXT: or a0, a2, a0
1541 ; RV64I-NEXT: srli a2, a0, 1
1543 ; RV64I-NEXT: and a0, a0, a1
1544 ; RV64I-NEXT: slli a0, a0, 1
1545 ; RV64I-NEXT: or a0, a2, a0
1550 ; RV32ZBB-NEXT: srli a2, a0, 4
1554 ; RV32ZBB-NEXT: and a0, a0, a3
1555 ; RV32ZBB-NEXT: slli a0, a0, 4
1556 ; RV32ZBB-NEXT: or a0, a2, a0
1557 ; RV32ZBB-NEXT: srli a2, a0, 2
1561 ; RV32ZBB-NEXT: and a0, a0, a4
1562 ; RV32ZBB-NEXT: slli a0, a0, 2
1563 ; RV32ZBB-NEXT: or a0, a2, a0
1564 ; RV32ZBB-NEXT: srli a2, a0, 1
1568 ; RV32ZBB-NEXT: and a0, a0, a5
1569 ; RV32ZBB-NEXT: slli a0, a0, 1
1570 ; RV32ZBB-NEXT: or a0, a2, a0
1592 ; RV64ZBB-NEXT: srli a2, a0, 4
1594 ; RV64ZBB-NEXT: and a0, a0, a1
1597 ; RV64ZBB-NEXT: slli a0, a0, 4
1598 ; RV64ZBB-NEXT: or a0, a2, a0
1599 ; RV64ZBB-NEXT: srli a2, a0, 2
1601 ; RV64ZBB-NEXT: and a0, a0, a1
1604 ; RV64ZBB-NEXT: slli a0, a0, 2
1605 ; RV64ZBB-NEXT: or a0, a2, a0
1606 ; RV64ZBB-NEXT: srli a2, a0, 1
1608 ; RV64ZBB-NEXT: and a0, a0, a1
1609 ; RV64ZBB-NEXT: slli a0, a0, 1
1610 ; RV64ZBB-NEXT: or a0, a2, a0
1615 ; RV32ZBKB-NEXT: brev8 a0, a0
1621 ; RV64ZBKB-NEXT: brev8 a0, a0
1626 ; RV32ZBP-NEXT: rev.b a0, a0
1632 ; RV64ZBP-NEXT: rev.b a0, a0
1642 ; RV32I-NEXT: srli a1, a0, 8
1643 ; RV32I-NEXT: slli a0, a0, 8
1644 ; RV32I-NEXT: or a0, a1, a0
1645 ; RV32I-NEXT: slli a0, a0, 16
1646 ; RV32I-NEXT: srai a0, a0, 16
1651 ; RV64I-NEXT: srli a1, a0, 8
1652 ; RV64I-NEXT: slli a0, a0, 8
1653 ; RV64I-NEXT: or a0, a1, a0
1654 ; RV64I-NEXT: slli a0, a0, 48
1655 ; RV64I-NEXT: srai a0, a0, 48
1660 ; RV32ZBB-NEXT: srli a1, a0, 8
1661 ; RV32ZBB-NEXT: slli a0, a0, 8
1662 ; RV32ZBB-NEXT: or a0, a1, a0
1663 ; RV32ZBB-NEXT: sext.h a0, a0
1668 ; RV64ZBB-NEXT: srli a1, a0, 8
1669 ; RV64ZBB-NEXT: slli a0, a0, 8
1670 ; RV64ZBB-NEXT: or a0, a1, a0
1671 ; RV64ZBB-NEXT: sext.h a0, a0
1676 ; RV32ZBKB-NEXT: srli a1, a0, 8
1677 ; RV32ZBKB-NEXT: slli a0, a0, 8
1678 ; RV32ZBKB-NEXT: or a0, a1, a0
1679 ; RV32ZBKB-NEXT: slli a0, a0, 16
1680 ; RV32ZBKB-NEXT: srai a0, a0, 16
1685 ; RV64ZBKB-NEXT: srli a1, a0, 8
1686 ; RV64ZBKB-NEXT: slli a0, a0, 8
1687 ; RV64ZBKB-NEXT: or a0, a1, a0
1688 ; RV64ZBKB-NEXT: slli a0, a0, 48
1689 ; RV64ZBKB-NEXT: srai a0, a0, 48
1694 ; RV32ZBP-NEXT: srli a1, a0, 8
1695 ; RV32ZBP-NEXT: slli a0, a0, 8
1696 ; RV32ZBP-NEXT: or a0, a1, a0
1697 ; RV32ZBP-NEXT: slli a0, a0, 16
1698 ; RV32ZBP-NEXT: srai a0, a0, 16
1703 ; RV64ZBP-NEXT: srli a1, a0, 8
1704 ; RV64ZBP-NEXT: slli a0, a0, 8
1705 ; RV64ZBP-NEXT: or a0, a1, a0
1706 ; RV64ZBP-NEXT: slli a0, a0, 48
1707 ; RV64ZBP-NEXT: srai a0, a0, 48