diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td @@ -1039,7 +1039,7 @@ // Fold store of vmv.f.s to a vse with VL=1. defvar store_instr = !cast("PseudoVSE"#vti.SEW#"_V_"#vti.LMul.MX); - let AddedComplexity = 1 in { + let AddedComplexity = 2 in { // Add complexity to increase the priority of this pattern being matched. def : Pat<(store (vti.Scalar (int_riscv_vfmv_f_s (vti.Vector vti.RegClass:$rs2))), GPR:$rs1), (store_instr vti.RegClass:$rs2, GPR:$rs1, 1, vti.Log2SEW)>;