Specifying explicit parallel to define_insn of a named pattern
ganesh gopalasubramanian
gganeshgcc@gmail.com
Tue Mar 31 05:48:00 GMT 2009
>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
>
More information about the Gcc-help
mailing list