================ @@ -349,16 +349,24 @@ multiclass VPseudoSiFiveVMACC<string mx, VReg vd_type, VReg vs2_type, : VPseudoTernaryNoMaskWithPolicy<vd_type, V_M1.vrclass, vs2_type, Constraint>; } -multiclass VPseudoSiFiveVQMACC<string Constraint = ""> { +multiclass VPseudoSiFiveVQMACCDOD<string Constraint = ""> { foreach m = MxListVF8 in let VLMul = m.value in defm NAME : VPseudoSiFiveVMACC<m.MX, m.vrclass, m.vrclass, Constraint>; } +multiclass VPseudoSiFiveVQMACCQOQ<string Constraint = ""> { + foreach i = [0, 1, 2, 3] in + let VLMul = MxListVF4[i].value in + defm NAME : VPseudoSiFiveVMACC<MxListVF8[i].MX, MxListVF8[i].vrclass, ---------------- topperc wrote:
The .MX passed to the first template argument should match VLMul. It's used to form the name of the PseudoInstruction. That name should be the same as the VLMul value. https://github.com/llvm/llvm-project/pull/75768 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits