@@ -1459,26 +1459,13 @@ multiclass VPatNarrowShiftSplat_WX_WI<SDNode op, string instruction_name> {
1459
1459
multiclass VPatFPMulAddVL_VV_VF<SDPatternOperator vop, string instruction_name> {
1460
1460
foreach vti = AllFloatVectors in {
1461
1461
defvar suffix = vti.LMul.MX;
1462
- def : Pat<(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rd,
1463
- vti.RegClass:$rs2, (vti.Mask true_mask),
1464
- VLOpFrag)),
1465
- (!cast<Instruction>(instruction_name#"_VV_"# suffix)
1466
- vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
1467
- GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
1468
1462
def : Pat<(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rd,
1469
1463
vti.RegClass:$rs2, (vti.Mask V0),
1470
1464
VLOpFrag)),
1471
1465
(!cast<Instruction>(instruction_name#"_VV_"# suffix #"_MASK")
1472
1466
vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
1473
1467
(vti.Mask V0), GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
1474
1468
1475
- def : Pat<(vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1),
1476
- vti.RegClass:$rd, vti.RegClass:$rs2,
1477
- (vti.Mask true_mask),
1478
- VLOpFrag)),
1479
- (!cast<Instruction>(instruction_name#"_V" # vti.ScalarSuffix # "_" # suffix)
1480
- vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
1481
- GPR:$vl, vti.Log2SEW, TAIL_AGNOSTIC)>;
1482
1469
def : Pat<(vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1),
1483
1470
vti.RegClass:$rd, vti.RegClass:$rs2,
1484
1471
(vti.Mask V0),
@@ -1492,27 +1479,13 @@ multiclass VPatFPMulAddVL_VV_VF<SDPatternOperator vop, string instruction_name>
1492
1479
multiclass VPatFPMulAccVL_VV_VF<PatFrag vop, string instruction_name> {
1493
1480
foreach vti = AllFloatVectors in {
1494
1481
defvar suffix = vti.LMul.MX;
1495
- def : Pat<(riscv_vp_merge_vl (vti.Mask true_mask),
1496
- (vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rs2,
1497
- vti.RegClass:$rd, (vti.Mask true_mask), VLOpFrag)),
1498
- vti.RegClass:$rd, VLOpFrag),
1499
- (!cast<Instruction>(instruction_name#"_VV_"# suffix)
1500
- vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
1501
- GPR:$vl, vti.Log2SEW, TAIL_UNDISTURBED_MASK_UNDISTURBED)>;
1502
1482
def : Pat<(riscv_vp_merge_vl (vti.Mask V0),
1503
1483
(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rs2,
1504
1484
vti.RegClass:$rd, (vti.Mask true_mask), VLOpFrag)),
1505
1485
vti.RegClass:$rd, VLOpFrag),
1506
1486
(!cast<Instruction>(instruction_name#"_VV_"# suffix #"_MASK")
1507
1487
vti.RegClass:$rd, vti.RegClass:$rs1, vti.RegClass:$rs2,
1508
1488
(vti.Mask V0), GPR:$vl, vti.Log2SEW, TAIL_UNDISTURBED_MASK_UNDISTURBED)>;
1509
- def : Pat<(riscv_vp_merge_vl (vti.Mask true_mask),
1510
- (vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1), vti.RegClass:$rs2,
1511
- vti.RegClass:$rd, (vti.Mask true_mask), VLOpFrag)),
1512
- vti.RegClass:$rd, VLOpFrag),
1513
- (!cast<Instruction>(instruction_name#"_V" # vti.ScalarSuffix # "_" # suffix)
1514
- vti.RegClass:$rd, vti.ScalarRegClass:$rs1, vti.RegClass:$rs2,
1515
- GPR:$vl, vti.Log2SEW, TAIL_UNDISTURBED_MASK_UNDISTURBED)>;
1516
1489
def : Pat<(riscv_vp_merge_vl (vti.Mask V0),
1517
1490
(vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1), vti.RegClass:$rs2,
1518
1491
vti.RegClass:$rd, (vti.Mask true_mask), VLOpFrag)),
0 commit comments