This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Specifying explicit parallel to define_insn of a named pattern


>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
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]