"venkat" <venkat@xxxxxxxxx> writes: > (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