Lines Matching full:rs1
36 def : Pat<(type (load GPR:$rs1)),
37 (load_instr (type (IMPLICIT_DEF)), GPR:$rs1, avl,
40 def : Pat<(store type:$rs2, GPR:$rs1),
41 (store_instr reg_class:$rs2, GPR:$rs1, avl, log2sew)>;
55 def : Pat<(type (load GPR:$rs1)),
56 (load_instr GPR:$rs1)>;
58 def : Pat<(store type:$rs2, GPR:$rs1),
59 (store_instr reg_class:$rs2, GPR:$rs1)>;
66 def : Pat<(m.Mask (load GPR:$rs1)),
67 (load_instr (m.Mask (IMPLICIT_DEF)), GPR:$rs1, m.AVL,
70 def : Pat<(store m.Mask:$rs2, GPR:$rs1),
71 (store_instr VR:$rs2, GPR:$rs1, m.AVL, m.Log2SEW)>;
84 (op_type op_reg_class:$rs1),
91 op_reg_class:$rs1,
105 (op_type op_reg_class:$rs1),
112 op_reg_class:$rs1,
132 (vop_type vop_reg_class:$rs1),
139 vop_reg_class:$rs1,
183 Pat<(result_type (vop (vop_type vop_reg_class:$rs1),
190 vop_reg_class:$rs1,
205 Pat<(result_type (vop (vop_type vop_reg_class:$rs1),
212 vop_reg_class:$rs1,
254 (fvti.Vector fvti.RegClass:$rs1))),
260 fvti.RegClass:$rs1,
270 (fvti.Vector fvti.RegClass:$rs1))),
276 fvti.RegClass:$rs1,
289 def : Pat<(vti.Mask (setcc (vti.Vector vti.RegClass:$rs1),
291 (instruction vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL,
303 (vti.Vector vti.RegClass:$rs1), invcc)),
304 (instruction vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL,
317 def : Pat<(vti.Mask (setcc (vti.Vector vti.RegClass:$rs1),
319 (instruction vti.RegClass:$rs1, xop_kind:$rs2, vti.AVL, vti.Log2SEW)>;
321 (vti.Vector vti.RegClass:$rs1), invcc)),
322 (instruction vti.RegClass:$rs1, xop_kind:$rs2, vti.AVL, vti.Log2SEW)>;
343 def : Pat<(vti.Mask (setcc (vti.Vector vti.RegClass:$rs1),
346 (instruction vti.RegClass:$rs1, (DecImm simm5:$rs2),
349 (vti.Vector vti.RegClass:$rs1),
351 (instruction vti.RegClass:$rs1, (DecImm simm5:$rs2),
362 def : Pat<(fvti.Mask (setcc (fvti.Vector fvti.RegClass:$rs1),
366 fvti.RegClass:$rs1, fvti.RegClass:$rs2, fvti.AVL, fvti.Log2SEW)>;
367 def : Pat<(fvti.Mask (setcc (fvti.Vector fvti.RegClass:$rs1),
371 fvti.RegClass:$rs1, fvti.ScalarRegClass:$rs2,
374 (fvti.Vector fvti.RegClass:$rs1),
377 fvti.RegClass:$rs1, fvti.ScalarRegClass:$rs2,
404 def : Pat<(fvti.Vector (vop (ivti.Vector ivti.RegClass:$rs1))),
407 ivti.RegClass:$rs1,
421 def : Pat<(ivti.Vector (vop (fvti.Vector fvti.RegClass:$rs1))),
424 fvti.RegClass:$rs1, ivti.AVL, ivti.Log2SEW, TA_MA)>;
435 def : Pat<(fwti.Vector (vop (ivti.Vector ivti.RegClass:$rs1))),
438 ivti.RegClass:$rs1,
450 def : Pat<(iwti.Vector (vop (fvti.Vector fvti.RegClass:$rs1))),
453 fvti.RegClass:$rs1, fvti.AVL, fvti.Log2SEW, TA_MA)>;
464 def : Pat<(fvti.Vector (vop (iwti.Vector iwti.RegClass:$rs1))),
467 iwti.RegClass:$rs1,
482 def : Pat<(vti.Vector (vop (fwti.Vector fwti.RegClass:$rs1))),
485 fwti.RegClass:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
497 (wti.Vector (extop2 (vti.Vector vti.RegClass:$rs1)))),
500 vti.RegClass:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
502 (wti.Vector (extop2 (vti.Vector (SplatPat (XLenVT GPR:$rs1)))))),
505 GPR:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
518 (wti.Vector (extop (vti.Vector vti.RegClass:$rs1)))),
520 wti.RegClass:$rs2, vti.RegClass:$rs1, vti.AVL, vti.Log2SEW,
523 (wti.Vector (extop (vti.Vector (SplatPat (XLenVT GPR:$rs1)))))),
525 (wti.Vector (IMPLICIT_DEF)), wti.RegClass:$rs2, GPR:$rs1,
544 (mul_oneuse (wti.Vector (extop1 (vti.Vector vti.RegClass:$rs1))),
547 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
560 (mul_oneuse (wti.Vector (extop1 (vti.Vector (SplatPat (XLenVT GPR:$rs1))))),
563 wti.RegClass:$rd, GPR:$rs1, vti.RegClass:$rs2,
579 (vti.Vector vti.RegClass:$rs1),
583 vti.RegClass:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
588 (vti.Vector (SplatFPOp vti.ScalarRegClass:$rs1)),
592 vti.ScalarRegClass:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
596 (wti.Vector (SplatFPOp (fpext_oneuse vti.ScalarRegClass:$rs1)))),
599 vti.ScalarRegClass:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
614 (vti.Vector vti.RegClass:$rs1),
618 vti.RegClass:$rs1,
627 (vti.Vector (SplatFPOp (vti.Scalar vti.ScalarRegClass:$rs1))),
631 vti.ScalarRegClass:$rs1,
639 (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1))))),
642 vti.ScalarRegClass:$rs1,
659 (vti.Vector vti.RegClass:$rs1),
662 wti.RegClass:$rs2, vti.RegClass:$rs1,
670 (vti.Vector (SplatFPOp vti.ScalarRegClass:$rs1)),
674 vti.ScalarRegClass:$rs1,
680 (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1))))),
683 vti.ScalarRegClass:$rs1,
705 (vti.Vector vti.RegClass:$rs1),
712 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
718 (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1)))),
724 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
741 (vti.Vector vti.RegClass:$rs1),
747 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
752 def : Pat<(fma (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1))),
758 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
763 …def : Pat<(fma (fneg (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1))))),
768 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
785 (vti.Vector vti.RegClass:$rs1),
791 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
796 def : Pat<(fma (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1)))),
801 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
818 (vti.Vector vti.RegClass:$rs1),
824 wti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
829 def : Pat<(fma (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1)))),
835 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
840 …def : Pat<(fma (fneg (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1))))),
845 wti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
861 (mul_oneuse vti.RegClass:$rs1, vti.RegClass:$rd))),
863 vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
868 (mul_oneuse (SplatPat XLenVT:$rs1), vti.RegClass:$rd))),
870 vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
879 def : Pat<(vop (vti.Vector vti.RegClass:$rs1),
882 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, vti.RegClass:$rs2,
884 def : Pat<(vop (vti.Vector vti.RegClass:$rs1),
887 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, GPR:$rs2,
933 (vti.Vector vti.RegClass:$rs1)),
935 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, GPR:$rs2,
938 (vti.Vector vti.RegClass:$rs1)),
940 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1,
960 def : Pat<(shl (wti.Vector (sext_oneuse (vti.Vector vti.RegClass:$rs1))),
963 (wti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, vti.RegClass:$rs1,
965 def : Pat<(shl (wti.Vector (zext_oneuse (vti.Vector vti.RegClass:$rs1))),
968 (wti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, vti.RegClass:$rs1,
970 def : Pat<(shl (wti.Vector (anyext_oneuse (vti.Vector vti.RegClass:$rs1))),
973 (wti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, vti.RegClass:$rs1,
975 …def : Pat<(shl (wti.Vector (riscv_sext_vl_oneuse (vti.Vector vti.RegClass:$rs1), (vti.Mask V0), VL…
978 (wti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, vti.RegClass:$rs1,
980 …def : Pat<(shl (wti.Vector (riscv_zext_vl_oneuse (vti.Vector vti.RegClass:$rs1), (vti.Mask V0), VL…
983 (wti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1, vti.RegClass:$rs1,
1015 def : Pat<(shl (vti.Vector vti.RegClass:$rs1),
1018 (vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs1,
1019 vti.RegClass:$rs1, vti.AVL, vti.Log2SEW, TA_MA)>;
1089 (srem (wti.Vector (sext_oneuse (vti.Vector vti.RegClass:$rs1))),
1094 vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
1128 def : Pat<(vti.Vector (vselect (vti.Mask V0), vti.RegClass:$rs1,
1132 vti.RegClass:$rs2, vti.RegClass:$rs1, (vti.Mask V0),
1135 def : Pat<(vti.Vector (vselect (vti.Mask V0), (SplatPat XLenVT:$rs1),
1139 vti.RegClass:$rs2, GPR:$rs1, (vti.Mask V0), vti.AVL, vti.Log2SEW)>;
1141 def : Pat<(vti.Vector (vselect (vti.Mask V0), (SplatPat_simm5 simm5:$rs1),
1145 vti.RegClass:$rs2, simm5:$rs1, (vti.Mask V0), vti.AVL, vti.Log2SEW)>;
1168 def : Pat<(mti.Mask (and VR:$rs1, VR:$rs2)),
1170 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1171 def : Pat<(mti.Mask (or VR:$rs1, VR:$rs2)),
1173 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1174 def : Pat<(mti.Mask (xor VR:$rs1, VR:$rs2)),
1176 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1178 def : Pat<(mti.Mask (rvv_vnot (and VR:$rs1, VR:$rs2))),
1180 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1181 def : Pat<(mti.Mask (rvv_vnot (or VR:$rs1, VR:$rs2))),
1183 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1184 def : Pat<(mti.Mask (rvv_vnot (xor VR:$rs1, VR:$rs2))),
1186 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1188 def : Pat<(mti.Mask (and VR:$rs1, (rvv_vnot VR:$rs2))),
1190 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1191 def : Pat<(mti.Mask (or VR:$rs1, (rvv_vnot VR:$rs2))),
1193 VR:$rs1, VR:$rs2, mti.AVL, mti.Log2SEW)>;
1227 def : Pat<(fvti.Vector (any_fma fvti.RegClass:$rs1, fvti.RegClass:$rd,
1230 fvti.RegClass:$rd, fvti.RegClass:$rs1, fvti.RegClass:$rs2,
1235 def : Pat<(fvti.Vector (any_fma fvti.RegClass:$rs1, fvti.RegClass:$rd,
1238 fvti.RegClass:$rd, fvti.RegClass:$rs1, fvti.RegClass:$rs2,
1243 def : Pat<(fvti.Vector (any_fma (fneg fvti.RegClass:$rs1), fvti.RegClass:$rd,
1246 fvti.RegClass:$rd, fvti.RegClass:$rs1, fvti.RegClass:$rs2,
1251 def : Pat<(fvti.Vector (any_fma (fneg fvti.RegClass:$rs1), fvti.RegClass:$rd,
1254 fvti.RegClass:$rd, fvti.RegClass:$rs1, fvti.RegClass:$rs2,
1262 def : Pat<(fvti.Vector (any_fma (SplatFPOp fvti.ScalarRegClass:$rs1),
1265 fvti.RegClass:$rd, fvti.ScalarRegClass:$rs1, fvti.RegClass:$rs2,
1270 def : Pat<(fvti.Vector (any_fma (SplatFPOp fvti.ScalarRegClass:$rs1),
1273 fvti.RegClass:$rd, fvti.ScalarRegClass:$rs1, fvti.RegClass:$rs2,
1279 def : Pat<(fvti.Vector (any_fma (SplatFPOp fvti.ScalarRegClass:$rs1),
1282 fvti.RegClass:$rd, fvti.ScalarRegClass:$rs1, fvti.RegClass:$rs2,
1287 def : Pat<(fvti.Vector (any_fma (SplatFPOp fvti.ScalarRegClass:$rs1),
1290 fvti.RegClass:$rd, fvti.ScalarRegClass:$rs1, fvti.RegClass:$rs2,
1297 def : Pat<(fvti.Vector (any_fma (fneg (SplatFPOp fvti.ScalarRegClass:$rs1)),
1300 fvti.RegClass:$rd, fvti.ScalarRegClass:$rs1, fvti.RegClass:$rs2,
1305 def : Pat<(fvti.Vector (any_fma (fneg (SplatFPOp fvti.ScalarRegClass:$rs1)),
1308 fvti.RegClass:$rd, fvti.ScalarRegClass:$rs1, fvti.RegClass:$rs2,
1345 def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
1349 vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
1350 def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
1354 vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
1356 def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
1360 vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
1361 def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
1365 vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
1392 def : Pat<(fvti.Vector (vselect (fvti.Mask V0), fvti.RegClass:$rs1,
1396 fvti.RegClass:$rs2, fvti.RegClass:$rs1, (fvti.Mask V0),
1418 (SplatFPOp fvti.ScalarRegClass:$rs1),
1423 (fvti.Scalar fvti.ScalarRegClass:$rs1),
1450 def : Pat<(fvti.Vector (fpround (fwti.Vector fwti.RegClass:$rs1))),
1453 fwti.RegClass:$rs1,
1464 def : Pat<(fvti.Vector (fpround (fwti.Vector fwti.RegClass:$rs1))),
1467 fwti.RegClass:$rs1,