Skip to content

Commit aa70f66

Browse files
authored
[RISCV] Remove vfmerge isel patterns under Zvfbfmin predicate. (#164105)
vfmerge isn't a valid instruction for Zvfbfmin. These look to have been mistakenly added as part of Zvfbfa.
1 parent 77d8972 commit aa70f66

File tree

1 file changed

+0
-32
lines changed

1 file changed

+0
-32
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -453,19 +453,6 @@ let Predicates = [HasStdExtZvfbfmin] in {
453453
fvti.Vector, fvti.Vector, fvti.Mask,
454454
fvti.Log2SEW, fvti.LMul, fvti.RegClass,
455455
fvti.RegClass, fvti.RegClass>;
456-
defm : VPatBinaryCarryInTAIL<"int_riscv_vfmerge", "PseudoVFMERGE",
457-
"V"#fvti.ScalarSuffix#"M",
458-
fvti.Vector,
459-
fvti.Vector, fvti.Scalar, fvti.Mask,
460-
fvti.Log2SEW, fvti.LMul, fvti.RegClass,
461-
fvti.RegClass, fvti.ScalarRegClass>;
462-
defvar instr = !cast<Instruction>("PseudoVMERGE_VIM_"#fvti.LMul.MX);
463-
def : Pat<(fvti.Vector (int_riscv_vfmerge (fvti.Vector fvti.RegClass:$passthru),
464-
(fvti.Vector fvti.RegClass:$rs2),
465-
(fvti.Scalar (fpimm0)),
466-
(fvti.Mask VMV0:$vm), VLOpFrag)),
467-
(instr fvti.RegClass:$passthru, fvti.RegClass:$rs2, 0,
468-
(fvti.Mask VMV0:$vm), GPR:$vl, fvti.Log2SEW)>;
469456

470457
defvar ivti = GetIntVTypeInfo<fvti>.Vti;
471458
def : Pat<(fvti.Vector (vselect (fvti.Mask VMV0:$vm), fvti.RegClass:$rs1,
@@ -489,15 +476,6 @@ let Predicates = [HasStdExtZvfbfmin] in {
489476
(fvti.Vector (IMPLICIT_DEF)),
490477
fvti.RegClass:$rs2, 0, (fvti.Mask VMV0:$vm), fvti.AVL, fvti.Log2SEW)>;
491478

492-
def : Pat<(fvti.Vector (vselect (fvti.Mask VMV0:$vm),
493-
(SplatFPOp fvti.ScalarRegClass:$rs1),
494-
fvti.RegClass:$rs2)),
495-
(!cast<Instruction>("PseudoVFMERGE_V"#fvti.ScalarSuffix#"M_"#fvti.LMul.MX)
496-
(fvti.Vector (IMPLICIT_DEF)),
497-
fvti.RegClass:$rs2,
498-
(fvti.Scalar fvti.ScalarRegClass:$rs1),
499-
(fvti.Mask VMV0:$vm), fvti.AVL, fvti.Log2SEW)>;
500-
501479
def : Pat<(fvti.Vector (riscv_vmerge_vl (fvti.Mask VMV0:$vm),
502480
fvti.RegClass:$rs1,
503481
fvti.RegClass:$rs2,
@@ -526,16 +504,6 @@ let Predicates = [HasStdExtZvfbfmin] in {
526504
fvti.RegClass:$passthru, fvti.RegClass:$rs2, 0, (fvti.Mask VMV0:$vm),
527505
GPR:$vl, fvti.Log2SEW)>;
528506

529-
def : Pat<(fvti.Vector (riscv_vmerge_vl (fvti.Mask VMV0:$vm),
530-
(SplatFPOp fvti.ScalarRegClass:$rs1),
531-
fvti.RegClass:$rs2,
532-
fvti.RegClass:$passthru,
533-
VLOpFrag)),
534-
(!cast<Instruction>("PseudoVFMERGE_V"#fvti.ScalarSuffix#"M_"#fvti.LMul.MX)
535-
fvti.RegClass:$passthru, fvti.RegClass:$rs2,
536-
(fvti.Scalar fvti.ScalarRegClass:$rs1),
537-
(fvti.Mask VMV0:$vm), GPR:$vl, fvti.Log2SEW)>;
538-
539507
def : Pat<(fvti.Vector
540508
(riscv_vrgather_vv_vl fvti.RegClass:$rs2,
541509
(ivti.Vector fvti.RegClass:$rs1),

0 commit comments

Comments
 (0)