Lines Matching refs:RegClass

368                            vti.Log2SEW, vti.LMul, vti.RegClass, vti.RegClass>;
371 vti.Log2SEW, vti.LMul, vti.RegClass, SplatPat, GPR>;
381 vti.Log2SEW, vti.LMul, vti.RegClass,
393 vti.Log2SEW, vti.LMul, vti.RegClass, vti.RegClass>;
396 vti.Log2SEW, vti.LMul, vti.RegClass, SplatPat, GPR>;
407 vti.Log2SEW, vti.LMul, wti.RegClass, vti.RegClass>;
410 vti.Log2SEW, vti.LMul, wti.RegClass, SplatPat, GPR>;
438 vti.Log2SEW, vti.LMul, vti.RegClass, vti.RegClass>;
441 vti.LMul, vti.RegClass, vti.ScalarRegClass>;
448 fvti.RegClass:$rs1,
453 fvti.RegClass:$rs1, fvti.ScalarRegClass:$rs2,
460 def : Pat<(vti.Mask (riscv_setcc_vl (vti.Vector vti.RegClass:$rs1),
461 vti.RegClass:$rs2, cc,
466 vti.RegClass:$rs1,
467 vti.RegClass:$rs2,
475 def : Pat<(vti.Mask (riscv_setcc_vl (vti.Vector vti.RegClass:$rs2),
476 vti.RegClass:$rs1, invcc,
480 (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
481 vti.RegClass:$rs2, (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
487 def : Pat<(vti.Mask (riscv_setcc_vl (vti.Vector vti.RegClass:$rs1),
491 (instruction_masked (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
494 (vti.Vector vti.RegClass:$rs1), invcc,
497 (instruction_masked (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
504 def : Pat<(vti.Mask (riscv_setcc_vl (vti.Vector vti.RegClass:$rs1),
508 (instruction_masked (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
514 (vti.Vector vti.RegClass:$rs1), invcc,
517 (instruction_masked (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
527 def : Pat<(vti.Mask (riscv_setcc_vl (vti.Vector vti.RegClass:$rs1),
531 (instruction_masked (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
537 (vti.Vector vti.RegClass:$rs1), invcc,
540 (instruction_masked (vti.Mask (IMPLICIT_DEF)), vti.RegClass:$rs1,
549 def : Pat<(fvti.Mask (riscv_setcc_vl (fvti.Vector fvti.RegClass:$rs1),
550 fvti.RegClass:$rs2,
555 (fvti.Mask (IMPLICIT_DEF)), fvti.RegClass:$rs1,
556 fvti.RegClass:$rs2, (fvti.Mask V0),
558 def : Pat<(fvti.Mask (riscv_setcc_vl (fvti.Vector fvti.RegClass:$rs1),
564 (fvti.Mask (IMPLICIT_DEF)), fvti.RegClass:$rs1,
568 (fvti.Vector fvti.RegClass:$rs1),
573 (fvti.Mask (IMPLICIT_DEF)), fvti.RegClass:$rs1,
584 def : Pat<(vti.Vector (vop (fti.Vector fti.RegClass:$rs2),
588 fti.RegClass:$rs2,
596 def : Pat<(ivti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
600 (ivti.Vector (IMPLICIT_DEF)), fvti.RegClass:$rs1,
608 def : Pat<(fvti.Vector (vop (ivti.Vector ivti.RegClass:$rs1),
612 (fvti.Vector (IMPLICIT_DEF)), ivti.RegClass:$rs1,
621 def : Pat<(iwti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
625 (iwti.Vector (IMPLICIT_DEF)), fvti.RegClass:$rs1,
634 def : Pat<(fwti.Vector (vop (ivti.Vector ivti.RegClass:$rs1),
638 (fwti.Vector (IMPLICIT_DEF)), ivti.RegClass:$rs1,
647 def : Pat<(vti.Vector (vop (fwti.Vector fwti.RegClass:$rs1),
651 (vti.Vector (IMPLICIT_DEF)), fwti.RegClass:$rs1,
660 def : Pat<(fvti.Vector (vop (iwti.Vector iwti.RegClass:$rs1),
664 (fvti.Vector (IMPLICIT_DEF)), iwti.RegClass:$rs1,
672 def: Pat<(vti_m1.Vector (vop (vti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1), VR:$rs2,
677 (vti.Vector vti.RegClass:$rs1),
681 def: Pat<(vti_m1.Vector (vop (vti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1), VR:$rs2,
685 (vti.Vector vti.RegClass:$rs1),
698 (op (wti.Vector wti.RegClass:$rs2),
699 (wti.Vector (extop (vti.Vector vti.RegClass:$rs1)))),
703 wti.RegClass:$rs2, vti.RegClass:$rs1, GPR:$vl, vti.Log2SEW)>;
707 (op (wti.Vector wti.RegClass:$rs2),
712 wti.RegClass:$rs2, GPR:$rs1, GPR:$vl, vti.Log2SEW)>;
725 (op (wti.Vector wti.RegClass:$rs2),
729 wti.RegClass:$rs2, uimm5:$rs1, GPR:$vl, vti.Log2SEW)>;
739 (wti.Vector (extop (vti.Vector vti.RegClass:$rs1))),
742 (wti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1),
745 (wti.Vector (extop (vti.Vector vti.RegClass:$rs1))),
748 (wti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1),
759 … (wti.Vector (extop (vti.Vector vti.RegClass:$rs1), (vti.Mask true_mask), VLOpFrag)),
762 (wti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1),
765 … (wti.Vector (extop (vti.Vector vti.RegClass:$rs1), (vti.Mask true_mask), VLOpFrag)),
768 (wti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1),
777 def : Pat<(fwti.Vector (op (fwti.Vector (extop (fvti.Vector fvti.RegClass:$rs2),
779 (fwti.Vector (extop (fvti.Vector fvti.RegClass:$rs1),
783 fvti.RegClass:$rs2, fvti.RegClass:$rs1,
785 def : Pat<(fwti.Vector (op (fwti.Vector (extop (fvti.Vector fvti.RegClass:$rs2),
791 fvti.RegClass:$rs2, fvti.ScalarRegClass:$rs1,
800 def : Pat<(fwti.Vector (op (fwti.Vector fwti.RegClass:$rs2),
801 (fwti.Vector (extop (fvti.Vector fvti.RegClass:$rs1),
805 fwti.RegClass:$rs2, fvti.RegClass:$rs1,
807 def : Pat<(fwti.Vector (op (fwti.Vector fwti.RegClass:$rs2),
812 fwti.RegClass:$rs2, fvti.ScalarRegClass:$rs1,
829 (op (wti.Vector wti.RegClass:$rs2),
835 wti.RegClass:$rs2, GPR:$rs1, GPR:$vl, vti.Log2SEW)>;
845 (op vti.RegClass:$rs2,
846 (riscv_mul_vl_oneuse vti.RegClass:$rs1,
847 vti.RegClass:$rd,
851 vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
856 (op vti.RegClass:$rs2,
858 vti.RegClass:$rd,
862 vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
872 (riscv_add_vl wti.RegClass:$rd,
873 (op1 vti.RegClass:$rs1,
874 (vti.Vector vti.RegClass:$rs2),
878 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
881 (riscv_add_vl wti.RegClass:$rd,
883 (vti.Vector vti.RegClass:$rs2),
887 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
897 (wti.Vector (op wti.RegClass:$rs1, (SplatPat XLenVT:$rs2),
900 wti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
902 (wti.Vector (op wti.RegClass:$rs1, (SplatPat_uimm5 uimm5:$rs2),
905 wti.RegClass:$rs1, uimm5:$rs2, GPR:$vl, vti.Log2SEW)>;
912 def : Pat<(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rd,
913 vti.RegClass:$rs2, (vti.Mask true_mask),
916 vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
918 def : Pat<(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rd,
919 vti.RegClass:$rs2, (vti.Mask V0),
922 vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
926 vti.RegClass:$rd, vti.RegClass:$rs2,
930 vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
933 vti.RegClass:$rd, vti.RegClass:$rs2,
937 vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
948 (vti.Vector vti.RegClass:$rs1),
951 (vti.Vector vti.RegClass:$rs2),
953 (wti.Vector wti.RegClass:$rd), (vti.Mask true_mask),
956 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
963 (vti.Vector vti.RegClass:$rs2),
965 (wti.Vector wti.RegClass:$rd), (vti.Mask true_mask),
968 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
986 (vti.Vector vti.RegClass:$rs1), (vti.Mask V0),
989 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, GPR:$rs2,
992 (vti.Vector vti.RegClass:$rs1), (vti.Mask V0),
995 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, simm5:$rs2,
1031 def : Pat<(riscv_shl_vl (vti.Vector vti.RegClass:$rs1),
1036 vti.RegClass:$rs1, vti.RegClass:$rs1, GPR:$vl, vti.Log2SEW)>;
1053 def : Pat<(vti.Vector (riscv_trunc_vector_vl (wti.Vector wti.RegClass:$rs1),
1057 (vti.Vector (IMPLICIT_DEF)), wti.RegClass:$rs1, X0,
1132 (riscv_add_vl wti.RegClass:$rd,
1133 (riscv_vwmulsu_vl_oneuse (vti.Vector vti.RegClass:$rs1),
1138 wti.RegClass:$rd, vti.ScalarRegClass:$rs2, vti.RegClass:$rs1,
1145 vti.RegClass:$rs1,
1146 vti.RegClass:$rs2,
1149 vti.RegClass:$rs2, vti.RegClass:$rs1, (vti.Mask V0),
1154 vti.RegClass:$rs2,
1157 vti.RegClass:$rs2, GPR:$rs1, (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
1161 vti.RegClass:$rs2,
1164 vti.RegClass:$rs2, simm5:$rs1, (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
1167 vti.RegClass:$rs1,
1168 vti.RegClass:$rs2,
1171 vti.RegClass:$rs2, vti.RegClass:$rs2, vti.RegClass:$rs1,
1176 vti.RegClass:$rs2,
1179 vti.RegClass:$rs2, vti.RegClass:$rs2, GPR:$rs1,
1184 vti.RegClass:$rs2,
1187 vti.RegClass:$rs2, vti.RegClass:$rs2, simm5:$rs1,
1301 def : Pat<(riscv_fsqrt_vl (vti.Vector vti.RegClass:$rs2), (vti.Mask true_mask),
1304 vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1307 def : Pat<(riscv_fabs_vl (vti.Vector vti.RegClass:$rs), (vti.Mask true_mask),
1310 vti.RegClass:$rs, vti.RegClass:$rs, GPR:$vl, vti.Log2SEW)>;
1312 def : Pat<(riscv_fneg_vl (vti.Vector vti.RegClass:$rs), (vti.Mask V0),
1315 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs,
1316 vti.RegClass:$rs, (vti.Mask V0), GPR:$vl, vti.Log2SEW,
1319 def : Pat<(riscv_fcopysign_vl (vti.Vector vti.RegClass:$rs1),
1320 (vti.Vector vti.RegClass:$rs2),
1324 vti.RegClass:$rs1, vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1325 def : Pat<(riscv_fcopysign_vl (vti.Vector vti.RegClass:$rs1),
1326 (riscv_fneg_vl vti.RegClass:$rs2,
1332 vti.RegClass:$rs1, vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1334 def : Pat<(riscv_fcopysign_vl (vti.Vector vti.RegClass:$rs1),
1339 vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1347 fvti.RegClass:$rs1,
1348 fvti.RegClass:$rs2,
1351 fvti.RegClass:$rs2, fvti.RegClass:$rs1, (fvti.Mask V0),
1356 fvti.RegClass:$rs2,
1359 fvti.RegClass:$rs2,
1365 fvti.RegClass:$rs2,
1368 fvti.RegClass:$rs2, 0, (fvti.Mask V0), GPR:$vl, fvti.Log2SEW)>;
1371 fvti.RegClass:$rs1,
1372 fvti.RegClass:$rs2,
1375 fvti.RegClass:$rs2, fvti.RegClass:$rs2, fvti.RegClass:$rs1, (fvti.Mask V0),
1380 fvti.RegClass:$rs2,
1383 fvti.RegClass:$rs2, fvti.RegClass:$rs2,
1389 fvti.RegClass:$rs2,
1392 fvti.RegClass:$rs2, fvti.RegClass:$rs2, 0, (fvti.Mask V0),
1433 def : Pat<(fwti.Vector (riscv_fpextend_vl (fvti.Vector fvti.RegClass:$rs1),
1437 (fwti.Vector (IMPLICIT_DEF)), fvti.RegClass:$rs1,
1449 def : Pat<(fvti.Vector (riscv_fpround_vl (fwti.Vector fwti.RegClass:$rs1),
1453 (fvti.Vector (IMPLICIT_DEF)), fwti.RegClass:$rs1,
1456 def : Pat<(fvti.Vector (riscv_fncvt_rod_vl (fwti.Vector fwti.RegClass:$rs1),
1460 (fvti.Vector (IMPLICIT_DEF)), fwti.RegClass:$rs1,
1541 def : Pat<(vti.Vector (riscv_vmv_s_x_vl (vti.Vector vti.RegClass:$merge),
1545 vti.RegClass:$merge,
1548 def : Pat<(vti.Vector (riscv_vrgather_vv_vl vti.RegClass:$rs2,
1549 vti.RegClass:$rs1,
1551 vti.RegClass:$merge,
1554 vti.RegClass:$merge, vti.RegClass:$rs2, vti.RegClass:$rs1,
1556 def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$rs2, GPR:$rs1,
1558 vti.RegClass:$merge,
1561 vti.RegClass:$merge, vti.RegClass:$rs2, GPR:$rs1,
1563 def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$rs2,
1566 vti.RegClass:$merge,
1569 vti.RegClass:$merge, vti.RegClass:$rs2, uimm5:$imm,
1582 (riscv_vrgatherei16_vv_vl vti.RegClass:$rs2,
1583 (ivti.Vector ivti.RegClass:$rs1),
1585 vti.RegClass:$merge,
1588 vti.RegClass:$merge, vti.RegClass:$rs2, ivti.RegClass:$rs1,
1599 def : Pat<(vti.Vector (riscv_vfmv_s_f_vl (vti.Vector vti.RegClass:$merge),
1603 vti.RegClass:$merge, X0, GPR:$vl, vti.Log2SEW)>;
1604 def : Pat<(vti.Vector (riscv_vfmv_s_f_vl (vti.Vector vti.RegClass:$merge),
1608 vti.RegClass:$merge,
1613 (riscv_vrgather_vv_vl vti.RegClass:$rs2,
1614 (ivti.Vector vti.RegClass:$rs1),
1616 vti.RegClass:$merge,
1619 vti.RegClass:$merge, vti.RegClass:$rs2, vti.RegClass:$rs1,
1621 def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$rs2, GPR:$rs1,
1623 vti.RegClass:$merge,
1626 vti.RegClass:$merge, vti.RegClass:$rs2, GPR:$rs1,
1629 (riscv_vrgather_vx_vl vti.RegClass:$rs2,
1632 vti.RegClass:$merge,
1635 vti.RegClass:$merge, vti.RegClass:$rs2, uimm5:$imm,
1647 (riscv_vrgatherei16_vv_vl vti.RegClass:$rs2,
1648 (ivti.Vector ivti.RegClass:$rs1),
1650 vti.RegClass:$merge,
1653 vti.RegClass:$merge, vti.RegClass:$rs2, ivti.RegClass:$rs1,
1691 (vti.Vector vti.RegClass:$rs1),
1695 vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1696 def : Pat<(vti.Vector (riscv_slide1up_vl (vti.Vector vti.RegClass:$rd),
1697 (vti.Vector vti.RegClass:$rs1),
1701 vti.RegClass:$rd, vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1703 (vti.Vector vti.RegClass:$rs1),
1707 vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1708 def : Pat<(vti.Vector (riscv_slide1down_vl (vti.Vector vti.RegClass:$rd),
1709 (vti.Vector vti.RegClass:$rs1),
1713 vti.RegClass:$rd, vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1717 def : Pat<(vti.Vector (riscv_slideup_vl (vti.Vector vti.RegClass:$rs3),
1718 (vti.Vector vti.RegClass:$rs1),
1722 vti.RegClass:$rs3, vti.RegClass:$rs1, uimm5:$rs2,
1725 def : Pat<(vti.Vector (riscv_slideup_vl (vti.Vector vti.RegClass:$rs3),
1726 (vti.Vector vti.RegClass:$rs1),
1730 vti.RegClass:$rs3, vti.RegClass:$rs1, GPR:$rs2,
1733 def : Pat<(vti.Vector (riscv_slidedown_vl (vti.Vector vti.RegClass:$rs3),
1734 (vti.Vector vti.RegClass:$rs1),
1738 vti.RegClass:$rs3, vti.RegClass:$rs1, uimm5:$rs2,
1741 (vti.Vector vti.RegClass:$rs1),
1745 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, uimm5:$rs2,
1748 def : Pat<(vti.Vector (riscv_slidedown_vl (vti.Vector vti.RegClass:$rs3),
1749 (vti.Vector vti.RegClass:$rs1),
1753 vti.RegClass:$rs3, vti.RegClass:$rs1, GPR:$rs2,
1756 (vti.Vector vti.RegClass:$rs1),
1760 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, GPR:$rs2,