On Wed, 6 Mar 2013, Alan Lehotsky wrote:

> So, am I constructing my RTL incorrectly?

No.

>  Do I need to be
> making the clobbers inside a parallel instead of just emitting
> them sequentially?

Exactly.

> (define_insn "*addsi"
>  [(set (match_operand:SI          0 "nonimmediate_operand" "=rm,rm,rS,rm")
>        (plus:SI (match_operand:SI 1 "nonimmediate_operand"  "%0, 0, 0,rm")
>                 (match_operand:SI 2 "general_operand"       "QI, K, i,rm")))]
> ,........

Missing clobber.

That's right, define_insn has an implicit parallel when more
than one RTL clause is present, but you must emit one explicitly
in define_expand.

brgds, H-P

Reply via email to