Specifying explicit parallel to define_insn of a named pattern.

Ian Lance Taylor iant@google.com
Fri Mar 27 16:35:00 GMT 2009


"venkat" <venkat@acmet.com> 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



More information about the Gcc-help mailing list