diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td index 1c40413a3c9390..8cafa97a8e20df 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td @@ -691,19 +691,19 @@ multiclass VPatBinarySDNodeExt_V_WV_WX(instruction_name#"_WV_"#vti.LMul.MX) - wti.RegClass:$rs2, vti.RegClass:$rs1, vti.AVL, vti.Log2SEW)>; + wti.RegClass:$rs2, vti.RegClass:$rs1, GPR:$vl, vti.Log2SEW)>; def : Pat< (vti.Vector (riscv_trunc_vector_vl (op (wti.Vector wti.RegClass:$rs2), (wti.Vector (extop (vti.Vector (SplatPat GPR:$rs1))))), - (riscv_vmset_vl VLOpFrag), + (vti.Mask true_mask), VLOpFrag)), (!cast(instruction_name#"_WX_"#vti.LMul.MX) - wti.RegClass:$rs2, GPR:$rs1, vti.AVL, vti.Log2SEW)>; + wti.RegClass:$rs2, GPR:$rs1, GPR:$vl, vti.Log2SEW)>; } } @@ -717,11 +717,10 @@ multiclass VPatBinarySDNode_V_WV_WX_WI { (vti.Vector (riscv_trunc_vector_vl (op (wti.Vector wti.RegClass:$rs2), - (wti.Vector (SplatPat_uimm5 uimm5:$rs1))), - (riscv_vmset_vl VLOpFrag), + (wti.Vector (SplatPat_uimm5 uimm5:$rs1))), (vti.Mask true_mask), VLOpFrag)), (!cast(instruction_name#"_WI_"#vti.LMul.MX) - wti.RegClass:$rs2, uimm5:$rs1, vti.AVL, vti.Log2SEW)>; + wti.RegClass:$rs2, uimm5:$rs1, GPR:$vl, vti.Log2SEW)>; } }