Lines Matching refs:rs2
330 (op2_type op2_reg_class:$rs2),
336 op2_reg_class:$rs2,
354 (vop2_type (SplatPatKind (XLenVT xop_kind:$rs2))),
360 xop_kind:$rs2,
424 (vop_type (SplatFPOp scalar_reg_class:$rs2)),
430 scalar_reg_class:$rs2,
447 def : Pat<(fvti.Vector (vop (SplatFPOp fvti.ScalarRegClass:$rs2),
453 fvti.RegClass:$rs1, fvti.ScalarRegClass:$rs2,
461 vti.RegClass:$rs2, cc,
467 vti.RegClass:$rs2,
475 def : Pat<(vti.Mask (riscv_setcc_vl (vti.Vector vti.RegClass:$rs2),
481 vti.RegClass:$rs2, (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
488 (SplatPat (XLenVT GPR:$rs2)), cc,
492 GPR:$rs2, (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
493 def : Pat<(vti.Mask (riscv_setcc_vl (SplatPat (XLenVT GPR:$rs2)),
498 GPR:$rs2, (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
505 (SplatPat_simm5 simm5:$rs2), cc,
509 XLenVT:$rs2, (vti.Mask V0), GPR:$vl,
513 def : Pat<(vti.Mask (riscv_setcc_vl (SplatPat_simm5 simm5:$rs2),
518 simm5:$rs2, (vti.Mask V0), GPR:$vl,
528 (splatpat_kind simm5:$rs2), cc,
532 (DecImm simm5:$rs2), (vti.Mask V0), GPR:$vl,
536 def : Pat<(vti.Mask (riscv_setcc_vl (splatpat_kind simm5:$rs2),
541 (DecImm simm5:$rs2), (vti.Mask V0), GPR:$vl,
550 fvti.RegClass:$rs2,
556 fvti.RegClass:$rs2, (fvti.Mask V0),
559 (SplatFPOp fvti.ScalarRegClass:$rs2),
565 fvti.ScalarRegClass:$rs2, (fvti.Mask V0),
567 def : Pat<(fvti.Mask (riscv_setcc_vl (SplatFPOp fvti.ScalarRegClass:$rs2),
574 fvti.ScalarRegClass:$rs2, (fvti.Mask V0),
584 def : Pat<(vti.Vector (vop (fti.Vector fti.RegClass:$rs2),
588 fti.RegClass:$rs2,
672 def: Pat<(vti_m1.Vector (vop (vti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1), VR:$rs2,
678 (vti_m1.Vector VR:$rs2),
681 def: Pat<(vti_m1.Vector (vop (vti_m1.Vector VR:$merge), (vti.Vector vti.RegClass:$rs1), VR:$rs2,
686 (vti_m1.Vector VR:$rs2),
698 (op (wti.Vector wti.RegClass:$rs2),
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)>;
740 VR:$rs2, (vti.Mask true_mask), VLOpFrag)),
743 (wti_m1.Vector VR:$rs2), GPR:$vl, vti.Log2SEW)>;
746 VR:$rs2, (vti.Mask V0), VLOpFrag)),
749 (wti_m1.Vector VR:$rs2), (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
760 VR:$rs2, (vti.Mask true_mask), VLOpFrag)),
763 (wti_m1.Vector VR:$rs2), GPR:$vl, vti.Log2SEW)>;
766 VR:$rs2, (vti.Mask V0), VLOpFrag)),
769 (wti_m1.Vector VR:$rs2), (vti.Mask V0), GPR:$vl, vti.Log2SEW)>;
777 def : Pat<(fwti.Vector (op (fwti.Vector (extop (fvti.Vector fvti.RegClass:$rs2),
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),
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,
851 vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
856 (op vti.RegClass:$rs2,
862 vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
874 (vti.Vector vti.RegClass:$rs2),
878 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
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)>;
913 vti.RegClass:$rs2, (vti.Mask true_mask),
916 vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
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,
951 (vti.Vector vti.RegClass:$rs2),
956 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
963 (vti.Vector vti.RegClass:$rs2),
968 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
985 def : Pat<(riscv_sub_vl (vti.Vector (SplatPat (XLenVT GPR:$rs2))),
989 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, GPR:$rs2,
991 def : Pat<(riscv_sub_vl (vti.Vector (SplatPat_simm5 simm5:$rs2)),
995 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, simm5:$rs2,
1134 (SplatPat XLenVT:$rs2),
1138 wti.RegClass:$rd, vti.ScalarRegClass:$rs2, 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)>;
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,
1193 def : Pat<(vti.Vector (riscv_vmv_v_x_vl (vti.Vector undef), GPR:$rs2, VLOpFrag)),
1195 $rs2, GPR:$vl, vti.Log2SEW)>;
1196 def : Pat<(vti.Vector (riscv_vmv_v_x_vl vti.Vector:$passthru, GPR:$rs2, VLOpFrag)),
1198 $passthru, $rs2, GPR:$vl, vti.Log2SEW)>;
1301 def : Pat<(riscv_fsqrt_vl (vti.Vector vti.RegClass:$rs2), (vti.Mask true_mask),
1304 vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1320 (vti.Vector vti.RegClass:$rs2),
1324 vti.RegClass:$rs1, vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1326 (riscv_fneg_vl vti.RegClass:$rs2,
1332 vti.RegClass:$rs1, vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
1335 (SplatFPOp vti.ScalarRegClass:$rs2),
1339 vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, GPR:$vl, vti.Log2SEW)>;
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)>;
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),
1407 (fvti.Vector undef), (fvti.Scalar fvti.ScalarRegClass:$rs2), VLOpFrag)),
1410 (fvti.Scalar fvti.ScalarRegClass:$rs2),
1413 fvti.Vector:$passthru, (fvti.Scalar fvti.ScalarRegClass:$rs2), VLOpFrag)),
1416 $passthru, (fvti.Scalar fvti.ScalarRegClass:$rs2),
1476 def : Pat<(mti.Mask (riscv_vmand_vl VR:$rs1, VR:$rs2, VLOpFrag)),
1478 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1479 def : Pat<(mti.Mask (riscv_vmor_vl VR:$rs1, VR:$rs2, VLOpFrag)),
1481 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1482 def : Pat<(mti.Mask (riscv_vmxor_vl VR:$rs1, VR:$rs2, VLOpFrag)),
1484 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1487 (riscv_vmnot_vl VR:$rs2, VLOpFrag),
1490 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1492 (riscv_vmnot_vl VR:$rs2, VLOpFrag),
1495 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1499 VR:$rs2, VLOpFrag)),
1501 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1503 def : Pat<(mti.Mask (riscv_vmnot_vl (riscv_vmand_vl VR:$rs1, VR:$rs2,
1507 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1508 def : Pat<(mti.Mask (riscv_vmnot_vl (riscv_vmor_vl VR:$rs1, VR:$rs2,
1512 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1513 def : Pat<(mti.Mask (riscv_vmnot_vl (riscv_vmxor_vl VR:$rs1, VR:$rs2,
1517 VR:$rs1, VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1525 def : Pat<(XLenVT (riscv_vcpop_vl (mti.Mask VR:$rs2), (mti.Mask true_mask),
1528 VR:$rs2, GPR:$vl, mti.Log2SEW)>;
1529 def : Pat<(XLenVT (riscv_vcpop_vl (mti.Mask VR:$rs2), (mti.Mask V0),
1532 VR:$rs2, (mti.Mask V0), GPR:$vl, mti.Log2SEW)>;
1548 def : Pat<(vti.Vector (riscv_vrgather_vv_vl vti.RegClass:$rs2,
1554 vti.RegClass:$merge, vti.RegClass:$rs2, vti.RegClass:$rs1,
1556 def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$rs2, GPR:$rs1,
1561 vti.RegClass:$merge, vti.RegClass:$rs2, GPR:$rs1,
1563 def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$rs2,
1569 vti.RegClass:$merge, vti.RegClass:$rs2, uimm5:$imm,
1582 (riscv_vrgatherei16_vv_vl vti.RegClass:$rs2,
1588 vti.RegClass:$merge, vti.RegClass:$rs2, ivti.RegClass:$rs1,
1613 (riscv_vrgather_vv_vl vti.RegClass:$rs2,
1619 vti.RegClass:$merge, vti.RegClass:$rs2, vti.RegClass:$rs1,
1621 def : Pat<(vti.Vector (riscv_vrgather_vx_vl vti.RegClass:$rs2, GPR:$rs1,
1626 vti.RegClass:$merge, vti.RegClass:$rs2, GPR:$rs1,
1629 (riscv_vrgather_vx_vl vti.RegClass:$rs2,
1635 vti.RegClass:$merge, vti.RegClass:$rs2, uimm5:$imm,
1647 (riscv_vrgatherei16_vv_vl vti.RegClass:$rs2,
1653 vti.RegClass:$merge, vti.RegClass:$rs2, ivti.RegClass:$rs1,
1692 GPR:$rs2, (vti.Mask true_mask),
1695 vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1698 GPR:$rs2, (vti.Mask true_mask),
1701 vti.RegClass:$rd, vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1704 GPR:$rs2, (vti.Mask true_mask),
1707 vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1710 GPR:$rs2, (vti.Mask true_mask),
1713 vti.RegClass:$rd, vti.RegClass:$rs1, GPR:$rs2, GPR:$vl, vti.Log2SEW)>;
1719 uimm5:$rs2, (vti.Mask true_mask),
1722 vti.RegClass:$rs3, vti.RegClass:$rs1, uimm5:$rs2,
1727 GPR:$rs2, (vti.Mask true_mask),
1730 vti.RegClass:$rs3, vti.RegClass:$rs1, GPR:$rs2,
1735 uimm5:$rs2, (vti.Mask true_mask),
1738 vti.RegClass:$rs3, vti.RegClass:$rs1, uimm5:$rs2,
1742 uimm5:$rs2, (vti.Mask true_mask),
1745 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, uimm5:$rs2,
1750 GPR:$rs2, (vti.Mask true_mask),
1753 vti.RegClass:$rs3, vti.RegClass:$rs1, GPR:$rs2,
1757 GPR:$rs2, (vti.Mask true_mask),
1760 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, GPR:$rs2,