Skip to content

Commit 1b310c4

Browse files
[RISCV] Split PseudoVFMIN, PseudoVFMAX PseudoVFSGNJ, PseudoVFSGNJN, and PseudoVFSGNJX by SEW
1 parent 469493f commit 1b310c4

File tree

6 files changed

+79
-62
lines changed

6 files changed

+79
-62
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2894,32 +2894,34 @@ multiclass VPseudoVALU_VV_VX {
28942894

28952895
multiclass VPseudoVSGNJ_VV_VF {
28962896
foreach m = MxListF in {
2897-
defm "" : VPseudoBinaryFV_VV<m>,
2897+
foreach e = SchedSEWSet<m.MX, isF=1>.val in
2898+
defm "" : VPseudoBinaryFV_VV<m, sew=e>,
28982899
SchedBinary<"WriteVFSgnjV", "ReadVFSgnjV", "ReadVFSgnjV", m.MX,
2899-
forceMergeOpRead=true>;
2900+
e, forceMergeOpRead=true>;
29002901
}
29012902

29022903
foreach f = FPList in {
29032904
foreach m = f.MxList in {
2904-
defm "" : VPseudoBinaryV_VF<m, f>,
2905+
defm "" : VPseudoBinaryV_VF<m, f, sew=f.SEW>,
29052906
SchedBinary<"WriteVFSgnjF", "ReadVFSgnjV", "ReadVFSgnjF", m.MX,
2906-
forceMergeOpRead=true>;
2907+
f.SEW, forceMergeOpRead=true>;
29072908
}
29082909
}
29092910
}
29102911

29112912
multiclass VPseudoVMAX_VV_VF {
29122913
foreach m = MxListF in {
2913-
defm "" : VPseudoBinaryFV_VV<m>,
2914-
SchedBinary<"WriteVFMinMaxV", "ReadVFMinMaxV", "ReadVFMinMaxV", m.MX,
2915-
forceMergeOpRead=true>;
2914+
foreach e = SchedSEWSet<m.MX, isF=1>.val in
2915+
defm "" : VPseudoBinaryFV_VV<m, sew=e>,
2916+
SchedBinary<"WriteVFMinMaxV", "ReadVFMinMaxV", "ReadVFMinMaxV",
2917+
m.MX, e, forceMergeOpRead=true>;
29162918
}
29172919

29182920
foreach f = FPList in {
29192921
foreach m = f.MxList in {
2920-
defm "" : VPseudoBinaryV_VF<m, f>,
2921-
SchedBinary<"WriteVFMinMaxF", "ReadVFMinMaxV", "ReadVFMinMaxF", m.MX,
2922-
forceMergeOpRead=true>;
2922+
defm "" : VPseudoBinaryV_VF<m, f, sew=f.SEW>,
2923+
SchedBinary<"WriteVFMinMaxF", "ReadVFMinMaxV", "ReadVFMinMaxF",
2924+
m.MX, f.SEW, forceMergeOpRead=true>;
29232925
}
29242926
}
29252927
}
@@ -7236,15 +7238,20 @@ defm : VPatUnaryV_V_RM<"int_riscv_vfrec7", "PseudoVFREC7", AllFloatVectors, isSE
72367238
//===----------------------------------------------------------------------===//
72377239
// 13.11. Vector Floating-Point Min/Max Instructions
72387240
//===----------------------------------------------------------------------===//
7239-
defm : VPatBinaryV_VV_VX<"int_riscv_vfmin", "PseudoVFMIN", AllFloatVectors>;
7240-
defm : VPatBinaryV_VV_VX<"int_riscv_vfmax", "PseudoVFMAX", AllFloatVectors>;
7241+
defm : VPatBinaryV_VV_VX<"int_riscv_vfmin", "PseudoVFMIN", AllFloatVectors,
7242+
isSEWAware=1>;
7243+
defm : VPatBinaryV_VV_VX<"int_riscv_vfmax", "PseudoVFMAX", AllFloatVectors,
7244+
isSEWAware=1>;
72417245

72427246
//===----------------------------------------------------------------------===//
72437247
// 13.12. Vector Floating-Point Sign-Injection Instructions
72447248
//===----------------------------------------------------------------------===//
7245-
defm : VPatBinaryV_VV_VX<"int_riscv_vfsgnj", "PseudoVFSGNJ", AllFloatVectors>;
7246-
defm : VPatBinaryV_VV_VX<"int_riscv_vfsgnjn", "PseudoVFSGNJN", AllFloatVectors>;
7247-
defm : VPatBinaryV_VV_VX<"int_riscv_vfsgnjx", "PseudoVFSGNJX", AllFloatVectors>;
7249+
defm : VPatBinaryV_VV_VX<"int_riscv_vfsgnj", "PseudoVFSGNJ", AllFloatVectors,
7250+
isSEWAware=1>;
7251+
defm : VPatBinaryV_VV_VX<"int_riscv_vfsgnjn", "PseudoVFSGNJN", AllFloatVectors,
7252+
isSEWAware=1>;
7253+
defm : VPatBinaryV_VV_VX<"int_riscv_vfsgnjx", "PseudoVFSGNJX", AllFloatVectors,
7254+
isSEWAware=1>;
72487255

72497256
//===----------------------------------------------------------------------===//
72507257
// 13.13. Vector Floating-Point Compare Instructions

llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1339,42 +1339,42 @@ foreach vti = AllFloatVectors in {
13391339

13401340
// 13.12. Vector Floating-Point Sign-Injection Instructions
13411341
def : Pat<(fabs (vti.Vector vti.RegClass:$rs)),
1342-
(!cast<Instruction>("PseudoVFSGNJX_VV_"# vti.LMul.MX)
1342+
(!cast<Instruction>("PseudoVFSGNJX_VV_"# vti.LMul.MX#"_E"#vti.SEW)
13431343
(vti.Vector (IMPLICIT_DEF)),
13441344
vti.RegClass:$rs, vti.RegClass:$rs, vti.AVL, vti.Log2SEW, TA_MA)>;
13451345
// Handle fneg with VFSGNJN using the same input for both operands.
13461346
def : Pat<(fneg (vti.Vector vti.RegClass:$rs)),
1347-
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX)
1347+
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX#"_E"#vti.SEW)
13481348
(vti.Vector (IMPLICIT_DEF)),
13491349
vti.RegClass:$rs, vti.RegClass:$rs, vti.AVL, vti.Log2SEW, TA_MA)>;
13501350

13511351
def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
13521352
(vti.Vector vti.RegClass:$rs2))),
1353-
(!cast<Instruction>("PseudoVFSGNJ_VV_"# vti.LMul.MX)
1353+
(!cast<Instruction>("PseudoVFSGNJ_VV_"# vti.LMul.MX#"_E"#vti.SEW)
13541354
(vti.Vector (IMPLICIT_DEF)),
13551355
vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
13561356
def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
13571357
(vti.Vector (SplatFPOp vti.ScalarRegClass:$rs2)))),
1358-
(!cast<Instruction>("PseudoVFSGNJ_V"#vti.ScalarSuffix#"_"#vti.LMul.MX)
1358+
(!cast<Instruction>("PseudoVFSGNJ_V"#vti.ScalarSuffix#"_"#vti.LMul.MX#"_E"#vti.SEW)
13591359
(vti.Vector (IMPLICIT_DEF)),
13601360
vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
13611361

13621362
def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
13631363
(vti.Vector (fneg vti.RegClass:$rs2)))),
1364-
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX)
1364+
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX#"_E"#vti.SEW)
13651365
(vti.Vector (IMPLICIT_DEF)),
13661366
vti.RegClass:$rs1, vti.RegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
13671367
def : Pat<(vti.Vector (fcopysign (vti.Vector vti.RegClass:$rs1),
13681368
(vti.Vector (fneg (SplatFPOp vti.ScalarRegClass:$rs2))))),
1369-
(!cast<Instruction>("PseudoVFSGNJN_V"#vti.ScalarSuffix#"_"#vti.LMul.MX)
1369+
(!cast<Instruction>("PseudoVFSGNJN_V"#vti.ScalarSuffix#"_"#vti.LMul.MX#"_E"#vti.SEW)
13701370
(vti.Vector (IMPLICIT_DEF)),
13711371
vti.RegClass:$rs1, vti.ScalarRegClass:$rs2, vti.AVL, vti.Log2SEW, TA_MA)>;
13721372
}
13731373
}
13741374

13751375
// 13.11. Vector Floating-Point MIN/MAX Instructions
1376-
defm : VPatBinaryFPSDNode_VV_VF<fminnum, "PseudoVFMIN">;
1377-
defm : VPatBinaryFPSDNode_VV_VF<fmaxnum, "PseudoVFMAX">;
1376+
defm : VPatBinaryFPSDNode_VV_VF<fminnum, "PseudoVFMIN", isSEWAware=1>;
1377+
defm : VPatBinaryFPSDNode_VV_VF<fmaxnum, "PseudoVFMAX", isSEWAware=1>;
13781378

13791379
// 13.13. Vector Floating-Point Compare Instructions
13801380
defm : VPatFPSetCCSDNode_VV_VF_FV<SETEQ, "PseudoVMFEQ", "PseudoVMFEQ">;

llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2468,8 +2468,8 @@ defm : VPatWidenFPMulAccVL_VV_VF_RM<riscv_vfwmsub_vl, "PseudoVFWMSAC">;
24682468
defm : VPatWidenFPMulAccVL_VV_VF_RM<riscv_vfwnmsub_vl, "PseudoVFWNMSAC">;
24692469

24702470
// 13.11. Vector Floating-Point MIN/MAX Instructions
2471-
defm : VPatBinaryFPVL_VV_VF<riscv_vfmin_vl, "PseudoVFMIN">;
2472-
defm : VPatBinaryFPVL_VV_VF<riscv_vfmax_vl, "PseudoVFMAX">;
2471+
defm : VPatBinaryFPVL_VV_VF<riscv_vfmin_vl, "PseudoVFMIN", isSEWAware=1>;
2472+
defm : VPatBinaryFPVL_VV_VF<riscv_vfmax_vl, "PseudoVFMAX", isSEWAware=1>;
24732473

24742474
// 13.13. Vector Floating-Point Compare Instructions
24752475
defm : VPatFPSetCCVL_VV_VF_FV<any_riscv_fsetcc_vl, SETEQ,
@@ -2505,14 +2505,14 @@ foreach vti = AllFloatVectors in {
25052505
// 13.12. Vector Floating-Point Sign-Injection Instructions
25062506
def : Pat<(riscv_fabs_vl (vti.Vector vti.RegClass:$rs), (vti.Mask V0),
25072507
VLOpFrag),
2508-
(!cast<Instruction>("PseudoVFSGNJX_VV_"# vti.LMul.MX #"_MASK")
2508+
(!cast<Instruction>("PseudoVFSGNJX_VV_"# vti.LMul.MX #"_E"#vti.SEW#"_MASK")
25092509
(vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs,
25102510
vti.RegClass:$rs, (vti.Mask V0), GPR:$vl, vti.Log2SEW,
25112511
TA_MA)>;
25122512
// Handle fneg with VFSGNJN using the same input for both operands.
25132513
def : Pat<(riscv_fneg_vl (vti.Vector vti.RegClass:$rs), (vti.Mask V0),
25142514
VLOpFrag),
2515-
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX #"_MASK")
2515+
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX#"_E"#vti.SEW #"_MASK")
25162516
(vti.Vector (IMPLICIT_DEF)), vti.RegClass:$rs,
25172517
vti.RegClass:$rs, (vti.Mask V0), GPR:$vl, vti.Log2SEW,
25182518
TA_MA)>;
@@ -2522,7 +2522,7 @@ foreach vti = AllFloatVectors in {
25222522
vti.RegClass:$merge,
25232523
(vti.Mask V0),
25242524
VLOpFrag),
2525-
(!cast<Instruction>("PseudoVFSGNJ_VV_"# vti.LMul.MX#"_MASK")
2525+
(!cast<Instruction>("PseudoVFSGNJ_VV_"# vti.LMul.MX#"_E"#vti.SEW#"_MASK")
25262526
vti.RegClass:$merge, vti.RegClass:$rs1,
25272527
vti.RegClass:$rs2, (vti.Mask V0), GPR:$vl, vti.Log2SEW,
25282528
TAIL_AGNOSTIC)>;
@@ -2534,7 +2534,7 @@ foreach vti = AllFloatVectors in {
25342534
srcvalue,
25352535
(vti.Mask true_mask),
25362536
VLOpFrag),
2537-
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX)
2537+
(!cast<Instruction>("PseudoVFSGNJN_VV_"# vti.LMul.MX#"_E"#vti.SEW)
25382538
(vti.Vector (IMPLICIT_DEF)),
25392539
vti.RegClass:$rs1, vti.RegClass:$rs2, GPR:$vl, vti.Log2SEW, TA_MA)>;
25402540

@@ -2543,7 +2543,7 @@ foreach vti = AllFloatVectors in {
25432543
vti.RegClass:$merge,
25442544
(vti.Mask V0),
25452545
VLOpFrag),
2546-
(!cast<Instruction>("PseudoVFSGNJ_V"#vti.ScalarSuffix#"_"# vti.LMul.MX#"_MASK")
2546+
(!cast<Instruction>("PseudoVFSGNJ_V"#vti.ScalarSuffix#"_"# vti.LMul.MX#"_E"#vti.SEW#"_MASK")
25472547
vti.RegClass:$merge, vti.RegClass:$rs1,
25482548
vti.ScalarRegClass:$rs2, (vti.Mask V0), GPR:$vl, vti.Log2SEW,
25492549
TAIL_AGNOSTIC)>;

llvm/lib/Target/RISCV/RISCVSchedSiFive7.td

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,12 @@ foreach mx = SchedMxListF in {
746746
defm "" : LMULSEWWriteResMXSEW<"WriteVFRecpV", [SiFive7VCQ, SiFive7VA], mx, sew, IsWorstCase>;
747747
defm "" : LMULSEWWriteResMXSEW<"WriteVFCvtIToFV", [SiFive7VCQ, SiFive7VA], mx, sew, IsWorstCase>;
748748
}
749+
let Latency = 4, AcquireAtCycles = [0, 1], ReleaseAtCycles = [1, !add(1, Cycles)] in {
750+
defm "" : LMULSEWWriteResMXSEW<"WriteVFMinMaxV", [SiFive7VCQ, SiFive7VA], mx, sew, IsWorstCase>;
751+
defm "" : LMULSEWWriteResMXSEW<"WriteVFMinMaxF", [SiFive7VCQ, SiFive7VA], mx, sew, IsWorstCase>;
752+
defm "" : LMULSEWWriteResMXSEW<"WriteVFSgnjV", [SiFive7VCQ, SiFive7VA], mx, sew, IsWorstCase>;
753+
defm "" : LMULSEWWriteResMXSEW<"WriteVFSgnjF", [SiFive7VCQ, SiFive7VA], mx, sew, IsWorstCase>;
754+
}
749755
}
750756
}
751757
foreach mx = SchedMxList in {
@@ -755,10 +761,6 @@ foreach mx = SchedMxList in {
755761
defm "" : LMULWriteResMX<"WriteVFCvtFToIV", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
756762
}
757763
let Latency = 4, AcquireAtCycles = [0, 1], ReleaseAtCycles = [1, !add(1, Cycles)] in {
758-
defm "" : LMULWriteResMX<"WriteVFSgnjV", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
759-
defm "" : LMULWriteResMX<"WriteVFSgnjF", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
760-
defm "" : LMULWriteResMX<"WriteVFMinMaxV", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
761-
defm "" : LMULWriteResMX<"WriteVFMinMaxF", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
762764
defm "" : LMULWriteResMX<"WriteVFClassV", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
763765
defm "" : LMULWriteResMX<"WriteVFMergeV", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
764766
defm "" : LMULWriteResMX<"WriteVFMovV", [SiFive7VCQ, SiFive7VA], mx, IsWorstCase>;
@@ -1169,10 +1171,10 @@ defm "" : LMULSEWReadAdvanceFW<"ReadVFWMulAddV", 0>;
11691171
defm "" : LMULSEWReadAdvanceFW<"ReadVFWMulAddF", 0>;
11701172
defm "" : LMULSEWReadAdvanceF<"ReadVFSqrtV", 0>;
11711173
defm "" : LMULSEWReadAdvanceF<"ReadVFRecpV", 0>;
1172-
defm "" : LMULReadAdvance<"ReadVFMinMaxV", 0>;
1173-
defm "" : LMULReadAdvance<"ReadVFMinMaxF", 0>;
1174-
defm "" : LMULReadAdvance<"ReadVFSgnjV", 0>;
1175-
defm "" : LMULReadAdvance<"ReadVFSgnjF", 0>;
1174+
defm "" : LMULSEWReadAdvanceF<"ReadVFMinMaxV", 0>;
1175+
defm "" : LMULSEWReadAdvanceF<"ReadVFMinMaxF", 0>;
1176+
defm "" : LMULSEWReadAdvanceF<"ReadVFSgnjV", 0>;
1177+
defm "" : LMULSEWReadAdvanceF<"ReadVFSgnjF", 0>;
11761178
defm "" : LMULReadAdvance<"ReadVFCmpV", 0>;
11771179
defm "" : LMULReadAdvance<"ReadVFCmpF", 0>;
11781180
defm "" : LMULReadAdvance<"ReadVFClassV", 0>;

llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,18 @@ foreach mx = SchedMxListF in {
504504
defm "" : LMULSEWWriteResMXSEW<"WriteVFCvtIToFV", [SiFiveP600VectorArith], mx, sew, IsWorstCase>;
505505
}
506506
}
507+
foreach mx = SchedMxListF in {
508+
foreach sew = SchedSEWSet<mx, isF=1>.val in {
509+
defvar LMulLat = SiFiveP600GetLMulCycles<mx>.c;
510+
defvar IsWorstCase = SiFiveP600IsWorstCaseMXSEW<mx, sew, SchedMxList, isF=1>.c;
511+
let Latency = 1, ReleaseAtCycles = [LMulLat] in {
512+
defm "" : LMULSEWWriteResMXSEW<"WriteVFMinMaxV", [SiFiveP600VectorArith], mx, sew, IsWorstCase>;
513+
defm "" : LMULSEWWriteResMXSEW<"WriteVFMinMaxF", [SiFiveP600VectorArith], mx, sew, IsWorstCase>;
514+
defm "" : LMULSEWWriteResMXSEW<"WriteVFSgnjV", [SiFiveP600VectorArith], mx, sew, IsWorstCase>;
515+
defm "" : LMULSEWWriteResMXSEW<"WriteVFSgnjF", [SiFiveP600VectorArith], mx, sew, IsWorstCase>;
516+
}
517+
}
518+
}
507519
foreach mx = SchedMxList in {
508520
defvar LMulLat = SiFiveP600GetLMulCycles<mx>.c;
509521
defvar IsWorstCase = SiFiveP600IsWorstCaseMX<mx, SchedMxList>.c;
@@ -514,10 +526,6 @@ foreach mx = SchedMxList in {
514526
defm "" : LMULWriteResMX<"WriteVFCmpF", [SiFiveP600VectorArith], mx, IsWorstCase>;
515527
}
516528
let Latency = 1, ReleaseAtCycles = [LMulLat] in {
517-
defm "" : LMULWriteResMX<"WriteVFSgnjV", [SiFiveP600VectorArith], mx, IsWorstCase>;
518-
defm "" : LMULWriteResMX<"WriteVFSgnjF", [SiFiveP600VectorArith], mx, IsWorstCase>;
519-
defm "" : LMULWriteResMX<"WriteVFMinMaxV", [SiFiveP600VectorArith], mx, IsWorstCase>;
520-
defm "" : LMULWriteResMX<"WriteVFMinMaxF", [SiFiveP600VectorArith], mx, IsWorstCase>;
521529
defm "" : LMULWriteResMX<"WriteVFClassV", [SiFiveP600VectorArith], mx, IsWorstCase>;
522530
defm "" : LMULWriteResMX<"WriteVFMergeV", [SiFiveP600VectorArith], mx, IsWorstCase>;
523531
defm "" : LMULWriteResMX<"WriteVFMovV", [SiFiveP600VectorArith], mx, IsWorstCase>;
@@ -954,10 +962,10 @@ defm "" : LMULSEWReadAdvanceF<"ReadVFSqrtV", 0>;
954962
defm "" : LMULSEWReadAdvance<"ReadVFRecpV", 0>;
955963
defm "" : LMULReadAdvance<"ReadVFCmpV", 0>;
956964
defm "" : LMULReadAdvance<"ReadVFCmpF", 0>;
957-
defm "" : LMULReadAdvance<"ReadVFMinMaxV", 0>;
958-
defm "" : LMULReadAdvance<"ReadVFMinMaxF", 0>;
959-
defm "" : LMULReadAdvance<"ReadVFSgnjV", 0>;
960-
defm "" : LMULReadAdvance<"ReadVFSgnjF", 0>;
965+
defm "" : LMULSEWReadAdvanceF<"ReadVFMinMaxV", 0>;
966+
defm "" : LMULSEWReadAdvanceF<"ReadVFMinMaxF", 0>;
967+
defm "" : LMULSEWReadAdvanceF<"ReadVFSgnjV", 0>;
968+
defm "" : LMULSEWReadAdvanceF<"ReadVFSgnjF", 0>;
961969
defm "" : LMULReadAdvance<"ReadVFClassV", 0>;
962970
defm "" : LMULReadAdvance<"ReadVFMergeV", 0>;
963971
defm "" : LMULReadAdvance<"ReadVFMergeF", 0>;

llvm/lib/Target/RISCV/RISCVScheduleV.td

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -446,11 +446,11 @@ defm "" : LMULSEWSchedWritesF<"WriteVFSqrtV">;
446446
// 13.10. Vector Floating-Point Reciprocal Estimate Instruction
447447
defm "" : LMULSEWSchedWritesF<"WriteVFRecpV">;
448448
// 13.11. Vector Floating-Point MIN/MAX Instructions
449-
defm "" : LMULSchedWrites<"WriteVFMinMaxV">;
450-
defm "" : LMULSchedWrites<"WriteVFMinMaxF">;
449+
defm "" : LMULSEWSchedWritesF<"WriteVFMinMaxV">;
450+
defm "" : LMULSEWSchedWritesF<"WriteVFMinMaxF">;
451451
// 13.12. Vector Floating-Point Sign-Injection Instructions
452-
defm "" : LMULSchedWrites<"WriteVFSgnjV">;
453-
defm "" : LMULSchedWrites<"WriteVFSgnjF">;
452+
defm "" : LMULSEWSchedWritesF<"WriteVFSgnjV">;
453+
defm "" : LMULSEWSchedWritesF<"WriteVFSgnjF">;
454454
// 13.13. Vector Floating-Point Compare Instructions
455455
defm "" : LMULSchedWrites<"WriteVFCmpV">;
456456
defm "" : LMULSchedWrites<"WriteVFCmpF">;
@@ -671,11 +671,11 @@ defm "" : LMULSEWSchedReadsF<"ReadVFSqrtV">;
671671
// 13.10. Vector Floating-Point Reciprocal Estimate Instruction
672672
defm "" : LMULSEWSchedReadsF<"ReadVFRecpV">;
673673
// 13.11. Vector Floating-Point MIN/MAX Instructions
674-
defm "" : LMULSchedReads<"ReadVFMinMaxV">;
675-
defm "" : LMULSchedReads<"ReadVFMinMaxF">;
674+
defm "" : LMULSEWSchedReadsF<"ReadVFMinMaxV">;
675+
defm "" : LMULSEWSchedReadsF<"ReadVFMinMaxF">;
676676
// 13.12. Vector Floating-Point Sign-Injection Instructions
677-
defm "" : LMULSchedReads<"ReadVFSgnjV">;
678-
defm "" : LMULSchedReads<"ReadVFSgnjF">;
677+
defm "" : LMULSEWSchedReadsF<"ReadVFSgnjV">;
678+
defm "" : LMULSEWSchedReadsF<"ReadVFSgnjF">;
679679
// 13.13. Vector Floating-Point Compare Instructions
680680
defm "" : LMULSchedReads<"ReadVFCmpV">;
681681
defm "" : LMULSchedReads<"ReadVFCmpF">;
@@ -908,10 +908,10 @@ defm "" : LMULSEWWriteResFW<"WriteVFWMulAddV", []>;
908908
defm "" : LMULSEWWriteResFW<"WriteVFWMulAddF", []>;
909909
defm "" : LMULSEWWriteResF<"WriteVFSqrtV", []>;
910910
defm "" : LMULSEWWriteResF<"WriteVFRecpV", []>;
911-
defm "" : LMULWriteRes<"WriteVFMinMaxV", []>;
912-
defm "" : LMULWriteRes<"WriteVFMinMaxF", []>;
913-
defm "" : LMULWriteRes<"WriteVFSgnjV", []>;
914-
defm "" : LMULWriteRes<"WriteVFSgnjF", []>;
911+
defm "" : LMULSEWWriteResF<"WriteVFMinMaxV", []>;
912+
defm "" : LMULSEWWriteResF<"WriteVFMinMaxF", []>;
913+
defm "" : LMULSEWWriteResF<"WriteVFSgnjV", []>;
914+
defm "" : LMULSEWWriteResF<"WriteVFSgnjF", []>;
915915
defm "" : LMULWriteRes<"WriteVFCmpV", []>;
916916
defm "" : LMULWriteRes<"WriteVFCmpF", []>;
917917
defm "" : LMULWriteRes<"WriteVFClassV", []>;
@@ -1064,10 +1064,10 @@ defm "" : LMULSEWReadAdvanceFW<"ReadVFWMulAddV", 0>;
10641064
defm "" : LMULSEWReadAdvanceFW<"ReadVFWMulAddF", 0>;
10651065
defm "" : LMULSEWReadAdvanceF<"ReadVFSqrtV", 0>;
10661066
defm "" : LMULSEWReadAdvanceF<"ReadVFRecpV", 0>;
1067-
defm "" : LMULReadAdvance<"ReadVFMinMaxV", 0>;
1068-
defm "" : LMULReadAdvance<"ReadVFMinMaxF", 0>;
1069-
defm "" : LMULReadAdvance<"ReadVFSgnjV", 0>;
1070-
defm "" : LMULReadAdvance<"ReadVFSgnjF", 0>;
1067+
defm "" : LMULSEWReadAdvanceF<"ReadVFMinMaxV", 0>;
1068+
defm "" : LMULSEWReadAdvanceF<"ReadVFMinMaxF", 0>;
1069+
defm "" : LMULSEWReadAdvanceF<"ReadVFSgnjV", 0>;
1070+
defm "" : LMULSEWReadAdvanceF<"ReadVFSgnjF", 0>;
10711071
defm "" : LMULReadAdvance<"ReadVFCmpV", 0>;
10721072
defm "" : LMULReadAdvance<"ReadVFCmpF", 0>;
10731073
defm "" : LMULReadAdvance<"ReadVFClassV", 0>;

0 commit comments

Comments
 (0)