>There is an implicit parallel in define_insn_and_split. Don't add your >own. I quote the documentation: > > If the vector has only one element, that element is the template for > the instruction pattern. If the vector has multiple elements, then > the instruction pattern is a @code{parallel} expression containing > the elements described. > >Ian > Hi Ian, Does the use of 'parallel' depends on the use of 'define_insn'. That is, whether it is used for matching an RTL template or for generating an instruction? >> (define_insn_and_split "<div_mod_optab_name>si3" >> [(parallel[ <== *(1) >> (set (match_operand:SI 0 "register_operand") >> (any_div_op:SI (match_operand:SI 1 "register_operand") >> (match_operand:SI 2 "register_operand"))) >> (clobber (reg:SI LO_REG_NUM)) >> (clobber (reg:SI HI_REG_NUM)) >> ]) >> ] > >There is an implicit parallel in define_insn_and_split. Don't add your >own. I quote the documentation: > > If the vector has only one element, that element is the template for > the instruction pattern. If the vector has multiple elements, then > the instruction pattern is a @code{parallel} expression containing > the elements described. > >Ian >