Skip to content

Commit 6762cfe

Browse files
authored
[RISCV] Remove duplicate Zvfbfmin patterns that use base Zve instructions. (#164110)
These patterns already exist in our other V extension files using AllFloatAndBF16Vectors without Zvfbfmin predicate. Which is good because we need them for Zvfbfa without depending on Zvfbfmin.
1 parent aa70f66 commit 6762cfe

File tree

1 file changed

+0
-55
lines changed

1 file changed

+0
-55
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -439,28 +439,8 @@ let Predicates = [HasStdExtZvfbfmin] in {
439439
fvti.AVL, fvti.Log2SEW, TA_MA)>;
440440
}
441441

442-
defm : VPatUnaryV_V_AnyMask<"int_riscv_vcompress", "PseudoVCOMPRESS", AllBF16Vectors>;
443-
defm : VPatBinaryV_VV_VX_VI_INT<"int_riscv_vrgather", "PseudoVRGATHER",
444-
AllBF16Vectors, uimm5>;
445-
defm : VPatBinaryV_VV_INT_EEW<"int_riscv_vrgatherei16_vv", "PseudoVRGATHEREI16",
446-
eew=16, vtilist=AllBF16Vectors>;
447-
defm : VPatTernaryV_VX_VI<"int_riscv_vslideup", "PseudoVSLIDEUP", AllBF16Vectors, uimm5>;
448-
defm : VPatTernaryV_VX_VI<"int_riscv_vslidedown", "PseudoVSLIDEDOWN", AllBF16Vectors, uimm5>;
449-
450442
foreach fvti = AllBF16Vectors in {
451-
defm : VPatBinaryCarryInTAIL<"int_riscv_vmerge", "PseudoVMERGE", "VVM",
452-
fvti.Vector,
453-
fvti.Vector, fvti.Vector, fvti.Mask,
454-
fvti.Log2SEW, fvti.LMul, fvti.RegClass,
455-
fvti.RegClass, fvti.RegClass>;
456-
457443
defvar ivti = GetIntVTypeInfo<fvti>.Vti;
458-
def : Pat<(fvti.Vector (vselect (fvti.Mask VMV0:$vm), fvti.RegClass:$rs1,
459-
fvti.RegClass:$rs2)),
460-
(!cast<Instruction>("PseudoVMERGE_VVM_"#fvti.LMul.MX)
461-
(fvti.Vector (IMPLICIT_DEF)),
462-
fvti.RegClass:$rs2, fvti.RegClass:$rs1, (fvti.Mask VMV0:$vm),
463-
fvti.AVL, fvti.Log2SEW)>;
464444

465445
def : Pat<(fvti.Vector (vselect (fvti.Mask VMV0:$vm),
466446
(SplatFPOp (SelectScalarFPAsInt (XLenVT GPR:$imm))),
@@ -476,15 +456,6 @@ let Predicates = [HasStdExtZvfbfmin] in {
476456
(fvti.Vector (IMPLICIT_DEF)),
477457
fvti.RegClass:$rs2, 0, (fvti.Mask VMV0:$vm), fvti.AVL, fvti.Log2SEW)>;
478458

479-
def : Pat<(fvti.Vector (riscv_vmerge_vl (fvti.Mask VMV0:$vm),
480-
fvti.RegClass:$rs1,
481-
fvti.RegClass:$rs2,
482-
fvti.RegClass:$passthru,
483-
VLOpFrag)),
484-
(!cast<Instruction>("PseudoVMERGE_VVM_"#fvti.LMul.MX)
485-
fvti.RegClass:$passthru, fvti.RegClass:$rs2, fvti.RegClass:$rs1, (fvti.Mask VMV0:$vm),
486-
GPR:$vl, fvti.Log2SEW)>;
487-
488459
def : Pat<(fvti.Vector (riscv_vmerge_vl (fvti.Mask VMV0:$vm),
489460
(SplatFPOp (SelectScalarFPAsInt (XLenVT GPR:$imm))),
490461
fvti.RegClass:$rs2,
@@ -503,32 +474,6 @@ let Predicates = [HasStdExtZvfbfmin] in {
503474
(!cast<Instruction>("PseudoVMERGE_VIM_"#fvti.LMul.MX)
504475
fvti.RegClass:$passthru, fvti.RegClass:$rs2, 0, (fvti.Mask VMV0:$vm),
505476
GPR:$vl, fvti.Log2SEW)>;
506-
507-
def : Pat<(fvti.Vector
508-
(riscv_vrgather_vv_vl fvti.RegClass:$rs2,
509-
(ivti.Vector fvti.RegClass:$rs1),
510-
fvti.RegClass:$passthru,
511-
(fvti.Mask VMV0:$vm),
512-
VLOpFrag)),
513-
(!cast<Instruction>("PseudoVRGATHER_VV_"# fvti.LMul.MX#"_E"# fvti.SEW#"_MASK")
514-
fvti.RegClass:$passthru, fvti.RegClass:$rs2, fvti.RegClass:$rs1,
515-
(fvti.Mask VMV0:$vm), GPR:$vl, fvti.Log2SEW, TAIL_AGNOSTIC)>;
516-
def : Pat<(fvti.Vector (riscv_vrgather_vx_vl fvti.RegClass:$rs2, GPR:$rs1,
517-
fvti.RegClass:$passthru,
518-
(fvti.Mask VMV0:$vm),
519-
VLOpFrag)),
520-
(!cast<Instruction>("PseudoVRGATHER_VX_"# fvti.LMul.MX#"_MASK")
521-
fvti.RegClass:$passthru, fvti.RegClass:$rs2, GPR:$rs1,
522-
(fvti.Mask VMV0:$vm), GPR:$vl, fvti.Log2SEW, TAIL_AGNOSTIC)>;
523-
def : Pat<(fvti.Vector
524-
(riscv_vrgather_vx_vl fvti.RegClass:$rs2,
525-
uimm5:$imm,
526-
fvti.RegClass:$passthru,
527-
(fvti.Mask VMV0:$vm),
528-
VLOpFrag)),
529-
(!cast<Instruction>("PseudoVRGATHER_VI_"# fvti.LMul.MX#"_MASK")
530-
fvti.RegClass:$passthru, fvti.RegClass:$rs2, uimm5:$imm,
531-
(fvti.Mask VMV0:$vm), GPR:$vl, fvti.Log2SEW, TAIL_AGNOSTIC)>;
532477
}
533478
}
534479

0 commit comments

Comments
 (0)