Lines Matching refs:RV64
5 ; RUN: | FileCheck %s -check-prefixes=CHECK,RV64,RV64I
9 ; RUN: | FileCheck %s -check-prefixes=CHECK,ZBS,RV64,RV64ZBS
68 ; RV64-LABEL: bittest_31_i32:
69 ; RV64: # %bb.0:
70 ; RV64-NEXT: not a0, a0
71 ; RV64-NEXT: srliw a0, a0, 31
72 ; RV64-NEXT: ret
87 ; RV64-LABEL: bittest_7_i64:
88 ; RV64: # %bb.0:
89 ; RV64-NEXT: andi a0, a0, 128
90 ; RV64-NEXT: seqz a0, a0
91 ; RV64-NEXT: ret
106 ; RV64-LABEL: bittest_10_i64:
107 ; RV64: # %bb.0:
108 ; RV64-NEXT: andi a0, a0, 1024
109 ; RV64-NEXT: seqz a0, a0
110 ; RV64-NEXT: ret
159 ; RV64-LABEL: bittest_31_i64:
160 ; RV64: # %bb.0:
161 ; RV64-NEXT: not a0, a0
162 ; RV64-NEXT: srliw a0, a0, 31
163 ; RV64-NEXT: ret
204 ; RV64-LABEL: bittest_63_i64:
205 ; RV64: # %bb.0:
206 ; RV64-NEXT: not a0, a0
207 ; RV64-NEXT: srli a0, a0, 63
208 ; RV64-NEXT: ret
467 ; RV64-LABEL: bit_10_nz_select_i32:
468 ; RV64: # %bb.0:
469 ; RV64-NEXT: slli a3, a0, 53
470 ; RV64-NEXT: mv a0, a1
471 ; RV64-NEXT: bltz a3, .LBB16_2
472 ; RV64-NEXT: # %bb.1:
473 ; RV64-NEXT: mv a0, a2
474 ; RV64-NEXT: .LBB16_2:
475 ; RV64-NEXT: ret
493 ; RV64-LABEL: bit_11_z_select_i32:
494 ; RV64: # %bb.0:
495 ; RV64-NEXT: slli a3, a0, 52
496 ; RV64-NEXT: mv a0, a1
497 ; RV64-NEXT: bgez a3, .LBB17_2
498 ; RV64-NEXT: # %bb.1:
499 ; RV64-NEXT: mv a0, a2
500 ; RV64-NEXT: .LBB17_2:
501 ; RV64-NEXT: ret
519 ; RV64-LABEL: bit_11_nz_select_i32:
520 ; RV64: # %bb.0:
521 ; RV64-NEXT: slli a3, a0, 52
522 ; RV64-NEXT: mv a0, a1
523 ; RV64-NEXT: bltz a3, .LBB18_2
524 ; RV64-NEXT: # %bb.1:
525 ; RV64-NEXT: mv a0, a2
526 ; RV64-NEXT: .LBB18_2:
527 ; RV64-NEXT: ret
545 ; RV64-LABEL: bit_20_z_select_i32:
546 ; RV64: # %bb.0:
547 ; RV64-NEXT: slli a3, a0, 43
548 ; RV64-NEXT: mv a0, a1
549 ; RV64-NEXT: bgez a3, .LBB19_2
550 ; RV64-NEXT: # %bb.1:
551 ; RV64-NEXT: mv a0, a2
552 ; RV64-NEXT: .LBB19_2:
553 ; RV64-NEXT: ret
571 ; RV64-LABEL: bit_20_nz_select_i32:
572 ; RV64: # %bb.0:
573 ; RV64-NEXT: slli a3, a0, 43
574 ; RV64-NEXT: mv a0, a1
575 ; RV64-NEXT: bltz a3, .LBB20_2
576 ; RV64-NEXT: # %bb.1:
577 ; RV64-NEXT: mv a0, a2
578 ; RV64-NEXT: .LBB20_2:
579 ; RV64-NEXT: ret
596 ; RV64-LABEL: bit_31_z_select_i32:
597 ; RV64: # %bb.0:
598 ; RV64-NEXT: lui a3, 524288
599 ; RV64-NEXT: and a3, a0, a3
600 ; RV64-NEXT: mv a0, a1
601 ; RV64-NEXT: beqz a3, .LBB21_2
602 ; RV64-NEXT: # %bb.1:
603 ; RV64-NEXT: mv a0, a2
604 ; RV64-NEXT: .LBB21_2:
605 ; RV64-NEXT: ret
623 ; RV64-LABEL: bit_31_nz_select_i32:
624 ; RV64: # %bb.0:
625 ; RV64-NEXT: lui a3, 524288
626 ; RV64-NEXT: and a3, a0, a3
627 ; RV64-NEXT: mv a0, a1
628 ; RV64-NEXT: bnez a3, .LBB22_2
629 ; RV64-NEXT: # %bb.1:
630 ; RV64-NEXT: mv a0, a2
631 ; RV64-NEXT: .LBB22_2:
632 ; RV64-NEXT: ret
652 ; RV64-LABEL: bit_10_z_select_i64:
653 ; RV64: # %bb.0:
654 ; RV64-NEXT: andi a3, a0, 1024
655 ; RV64-NEXT: mv a0, a1
656 ; RV64-NEXT: beqz a3, .LBB23_2
657 ; RV64-NEXT: # %bb.1:
658 ; RV64-NEXT: mv a0, a2
659 ; RV64-NEXT: .LBB23_2:
660 ; RV64-NEXT: ret
681 ; RV64-LABEL: bit_10_nz_select_i64:
682 ; RV64: # %bb.0:
683 ; RV64-NEXT: slli a3, a0, 53
684 ; RV64-NEXT: mv a0, a1
685 ; RV64-NEXT: bltz a3, .LBB24_2
686 ; RV64-NEXT: # %bb.1:
687 ; RV64-NEXT: mv a0, a2
688 ; RV64-NEXT: .LBB24_2:
689 ; RV64-NEXT: ret
721 ; RV64-LABEL: bit_11_z_select_i64:
722 ; RV64: # %bb.0:
723 ; RV64-NEXT: slli a3, a0, 52
724 ; RV64-NEXT: mv a0, a1
725 ; RV64-NEXT: bgez a3, .LBB25_2
726 ; RV64-NEXT: # %bb.1:
727 ; RV64-NEXT: mv a0, a2
728 ; RV64-NEXT: .LBB25_2:
729 ; RV64-NEXT: ret
750 ; RV64-LABEL: bit_11_nz_select_i64:
751 ; RV64: # %bb.0:
752 ; RV64-NEXT: slli a3, a0, 52
753 ; RV64-NEXT: mv a0, a1
754 ; RV64-NEXT: bltz a3, .LBB26_2
755 ; RV64-NEXT: # %bb.1:
756 ; RV64-NEXT: mv a0, a2
757 ; RV64-NEXT: .LBB26_2:
758 ; RV64-NEXT: ret
790 ; RV64-LABEL: bit_20_z_select_i64:
791 ; RV64: # %bb.0:
792 ; RV64-NEXT: slli a3, a0, 43
793 ; RV64-NEXT: mv a0, a1
794 ; RV64-NEXT: bgez a3, .LBB27_2
795 ; RV64-NEXT: # %bb.1:
796 ; RV64-NEXT: mv a0, a2
797 ; RV64-NEXT: .LBB27_2:
798 ; RV64-NEXT: ret
819 ; RV64-LABEL: bit_20_nz_select_i64:
820 ; RV64: # %bb.0:
821 ; RV64-NEXT: slli a3, a0, 43
822 ; RV64-NEXT: mv a0, a1
823 ; RV64-NEXT: bltz a3, .LBB28_2
824 ; RV64-NEXT: # %bb.1:
825 ; RV64-NEXT: mv a0, a2
826 ; RV64-NEXT: .LBB28_2:
827 ; RV64-NEXT: ret
858 ; RV64-LABEL: bit_31_z_select_i64:
859 ; RV64: # %bb.0:
860 ; RV64-NEXT: slli a3, a0, 32
861 ; RV64-NEXT: mv a0, a1
862 ; RV64-NEXT: bgez a3, .LBB29_2
863 ; RV64-NEXT: # %bb.1:
864 ; RV64-NEXT: mv a0, a2
865 ; RV64-NEXT: .LBB29_2:
866 ; RV64-NEXT: ret
886 ; RV64-LABEL: bit_31_nz_select_i64:
887 ; RV64: # %bb.0:
888 ; RV64-NEXT: slli a3, a0, 32
889 ; RV64-NEXT: mv a0, a1
890 ; RV64-NEXT: bltz a3, .LBB30_2
891 ; RV64-NEXT: # %bb.1:
892 ; RV64-NEXT: mv a0, a2
893 ; RV64-NEXT: .LBB30_2:
894 ; RV64-NEXT: ret
914 ; RV64-LABEL: bit_32_z_select_i64:
915 ; RV64: # %bb.0:
916 ; RV64-NEXT: slli a3, a0, 31
917 ; RV64-NEXT: mv a0, a1
918 ; RV64-NEXT: bgez a3, .LBB31_2
919 ; RV64-NEXT: # %bb.1:
920 ; RV64-NEXT: mv a0, a2
921 ; RV64-NEXT: .LBB31_2:
922 ; RV64-NEXT: ret
942 ; RV64-LABEL: bit_32_nz_select_i64:
943 ; RV64: # %bb.0:
944 ; RV64-NEXT: slli a3, a0, 31
945 ; RV64-NEXT: mv a0, a1
946 ; RV64-NEXT: bltz a3, .LBB32_2
947 ; RV64-NEXT: # %bb.1:
948 ; RV64-NEXT: mv a0, a2
949 ; RV64-NEXT: .LBB32_2:
950 ; RV64-NEXT: ret
970 ; RV64-LABEL: bit_55_z_select_i64:
971 ; RV64: # %bb.0:
972 ; RV64-NEXT: slli a3, a0, 8
973 ; RV64-NEXT: mv a0, a1
974 ; RV64-NEXT: bgez a3, .LBB33_2
975 ; RV64-NEXT: # %bb.1:
976 ; RV64-NEXT: mv a0, a2
977 ; RV64-NEXT: .LBB33_2:
978 ; RV64-NEXT: ret
999 ; RV64-LABEL: bit_55_nz_select_i64:
1000 ; RV64: # %bb.0:
1001 ; RV64-NEXT: slli a3, a0, 8
1002 ; RV64-NEXT: mv a0, a1
1003 ; RV64-NEXT: bltz a3, .LBB34_2
1004 ; RV64-NEXT: # %bb.1:
1005 ; RV64-NEXT: mv a0, a2
1006 ; RV64-NEXT: .LBB34_2:
1007 ; RV64-NEXT: ret
1038 ; RV64-LABEL: bit_63_z_select_i64:
1039 ; RV64: # %bb.0:
1040 ; RV64-NEXT: bgez a0, .LBB35_2
1041 ; RV64-NEXT: # %bb.1:
1042 ; RV64-NEXT: mv a1, a2
1043 ; RV64-NEXT: .LBB35_2:
1044 ; RV64-NEXT: mv a0, a1
1045 ; RV64-NEXT: ret
1065 ; RV64-LABEL: bit_63_nz_select_i64:
1066 ; RV64: # %bb.0:
1067 ; RV64-NEXT: srli a3, a0, 63
1068 ; RV64-NEXT: mv a0, a1
1069 ; RV64-NEXT: bnez a3, .LBB36_2
1070 ; RV64-NEXT: # %bb.1:
1071 ; RV64-NEXT: mv a0, a2
1072 ; RV64-NEXT: .LBB36_2:
1073 ; RV64-NEXT: ret
1132 ; RV64-LABEL: bit_11_z_branch_i32:
1133 ; RV64: # %bb.0:
1134 ; RV64-NEXT: slli a0, a0, 52
1135 ; RV64-NEXT: bltz a0, .LBB39_2
1136 ; RV64-NEXT: # %bb.1:
1137 ; RV64-NEXT: tail bar@plt
1138 ; RV64-NEXT: .LBB39_2:
1139 ; RV64-NEXT: ret
1162 ; RV64-LABEL: bit_11_nz_branch_i32:
1163 ; RV64: # %bb.0:
1164 ; RV64-NEXT: slli a0, a0, 52
1165 ; RV64-NEXT: bgez a0, .LBB40_2
1166 ; RV64-NEXT: # %bb.1:
1167 ; RV64-NEXT: tail bar@plt
1168 ; RV64-NEXT: .LBB40_2:
1169 ; RV64-NEXT: ret
1192 ; RV64-LABEL: bit_24_z_branch_i32:
1193 ; RV64: # %bb.0:
1194 ; RV64-NEXT: slli a0, a0, 39
1195 ; RV64-NEXT: bltz a0, .LBB41_2
1196 ; RV64-NEXT: # %bb.1:
1197 ; RV64-NEXT: tail bar@plt
1198 ; RV64-NEXT: .LBB41_2:
1199 ; RV64-NEXT: ret
1222 ; RV64-LABEL: bit_24_nz_branch_i32:
1223 ; RV64: # %bb.0:
1224 ; RV64-NEXT: slli a0, a0, 39
1225 ; RV64-NEXT: bgez a0, .LBB42_2
1226 ; RV64-NEXT: # %bb.1:
1227 ; RV64-NEXT: tail bar@plt
1228 ; RV64-NEXT: .LBB42_2:
1229 ; RV64-NEXT: ret
1251 ; RV64-LABEL: bit_31_z_branch_i32:
1252 ; RV64: # %bb.0:
1253 ; RV64-NEXT: lui a1, 524288
1254 ; RV64-NEXT: and a0, a0, a1
1255 ; RV64-NEXT: bnez a0, .LBB43_2
1256 ; RV64-NEXT: # %bb.1:
1257 ; RV64-NEXT: tail bar@plt
1258 ; RV64-NEXT: .LBB43_2:
1259 ; RV64-NEXT: ret
1281 ; RV64-LABEL: bit_31_nz_branch_i32:
1282 ; RV64: # %bb.0:
1283 ; RV64-NEXT: lui a1, 524288
1284 ; RV64-NEXT: and a0, a0, a1
1285 ; RV64-NEXT: beqz a0, .LBB44_2
1286 ; RV64-NEXT: # %bb.1:
1287 ; RV64-NEXT: tail bar@plt
1288 ; RV64-NEXT: .LBB44_2:
1289 ; RV64-NEXT: ret
1354 ; RV64-LABEL: bit_11_z_branch_i64:
1355 ; RV64: # %bb.0:
1356 ; RV64-NEXT: slli a0, a0, 52
1357 ; RV64-NEXT: bltz a0, .LBB47_2
1358 ; RV64-NEXT: # %bb.1:
1359 ; RV64-NEXT: tail bar@plt
1360 ; RV64-NEXT: .LBB47_2:
1361 ; RV64-NEXT: ret
1384 ; RV64-LABEL: bit_11_nz_branch_i64:
1385 ; RV64: # %bb.0:
1386 ; RV64-NEXT: slli a0, a0, 52
1387 ; RV64-NEXT: bgez a0, .LBB48_2
1388 ; RV64-NEXT: # %bb.1:
1389 ; RV64-NEXT: tail bar@plt
1390 ; RV64-NEXT: .LBB48_2:
1391 ; RV64-NEXT: ret
1414 ; RV64-LABEL: bit_24_z_branch_i64:
1415 ; RV64: # %bb.0:
1416 ; RV64-NEXT: slli a0, a0, 39
1417 ; RV64-NEXT: bltz a0, .LBB49_2
1418 ; RV64-NEXT: # %bb.1:
1419 ; RV64-NEXT: tail bar@plt
1420 ; RV64-NEXT: .LBB49_2:
1421 ; RV64-NEXT: ret
1444 ; RV64-LABEL: bit_24_nz_branch_i64:
1445 ; RV64: # %bb.0:
1446 ; RV64-NEXT: slli a0, a0, 39
1447 ; RV64-NEXT: bgez a0, .LBB50_2
1448 ; RV64-NEXT: # %bb.1:
1449 ; RV64-NEXT: tail bar@plt
1450 ; RV64-NEXT: .LBB50_2:
1451 ; RV64-NEXT: ret
1473 ; RV64-LABEL: bit_31_z_branch_i64:
1474 ; RV64: # %bb.0:
1475 ; RV64-NEXT: slli a0, a0, 32
1476 ; RV64-NEXT: bltz a0, .LBB51_2
1477 ; RV64-NEXT: # %bb.1:
1478 ; RV64-NEXT: tail bar@plt
1479 ; RV64-NEXT: .LBB51_2:
1480 ; RV64-NEXT: ret
1502 ; RV64-LABEL: bit_31_nz_branch_i64:
1503 ; RV64: # %bb.0:
1504 ; RV64-NEXT: slli a0, a0, 32
1505 ; RV64-NEXT: bgez a0, .LBB52_2
1506 ; RV64-NEXT: # %bb.1:
1507 ; RV64-NEXT: tail bar@plt
1508 ; RV64-NEXT: .LBB52_2:
1509 ; RV64-NEXT: ret
1532 ; RV64-LABEL: bit_32_z_branch_i64:
1533 ; RV64: # %bb.0:
1534 ; RV64-NEXT: slli a0, a0, 31
1535 ; RV64-NEXT: bltz a0, .LBB53_2
1536 ; RV64-NEXT: # %bb.1:
1537 ; RV64-NEXT: tail bar@plt
1538 ; RV64-NEXT: .LBB53_2:
1539 ; RV64-NEXT: ret
1562 ; RV64-LABEL: bit_32_nz_branch_i64:
1563 ; RV64: # %bb.0:
1564 ; RV64-NEXT: slli a0, a0, 31
1565 ; RV64-NEXT: bgez a0, .LBB54_2
1566 ; RV64-NEXT: # %bb.1:
1567 ; RV64-NEXT: tail bar@plt
1568 ; RV64-NEXT: .LBB54_2:
1569 ; RV64-NEXT: ret
1592 ; RV64-LABEL: bit_62_z_branch_i64:
1593 ; RV64: # %bb.0:
1594 ; RV64-NEXT: slli a0, a0, 1
1595 ; RV64-NEXT: bltz a0, .LBB55_2
1596 ; RV64-NEXT: # %bb.1:
1597 ; RV64-NEXT: tail bar@plt
1598 ; RV64-NEXT: .LBB55_2:
1599 ; RV64-NEXT: ret
1622 ; RV64-LABEL: bit_62_nz_branch_i64:
1623 ; RV64: # %bb.0:
1624 ; RV64-NEXT: slli a0, a0, 1
1625 ; RV64-NEXT: bgez a0, .LBB56_2
1626 ; RV64-NEXT: # %bb.1:
1627 ; RV64-NEXT: tail bar@plt
1628 ; RV64-NEXT: .LBB56_2:
1629 ; RV64-NEXT: ret
1651 ; RV64-LABEL: bit_63_z_branch_i64:
1652 ; RV64: # %bb.0:
1653 ; RV64-NEXT: bltz a0, .LBB57_2
1654 ; RV64-NEXT: # %bb.1:
1655 ; RV64-NEXT: tail bar@plt
1656 ; RV64-NEXT: .LBB57_2:
1657 ; RV64-NEXT: ret
1679 ; RV64-LABEL: bit_63_nz_branch_i64:
1680 ; RV64: # %bb.0:
1681 ; RV64-NEXT: bgez a0, .LBB58_2
1682 ; RV64-NEXT: # %bb.1:
1683 ; RV64-NEXT: tail bar@plt
1684 ; RV64-NEXT: .LBB58_2:
1685 ; RV64-NEXT: ret