On Thu, Mar 4, 2010 at 3:38 PM, Jean Christophe Beyler
<jean.christophe.bey...@gmail.com> wrote:
> Yeah that's what I had tried first but I get :
>
> genextract: Internal error: abort in VEC_safe_set_locstr
>
> And I can't seem to get rid of that error.
>
> Any idea why this happens?

Oh because the second time for the match_operand, you should be using
match_dup (and yes the error message should be better).  I had forgot
about that :).
So try this:
(define_insn "myInst"
 [
 (set (match_operand:DI 0 "register_operand" "=r")
 (unspec:DI [(match_operand:DI 1 "register_operand" "r")
 (match_operand:DI 2 "register_operand" "r")
 (reg:DI 66)] 5))
(set (reg:DI 66)
 (unspec:DI [(match_dup 1)
 (match_dup 2)
 (reg:DI 66)] 6))
 ]
 ""
 "myInst\\t%0,%1,%2"
 [(set_attr "type"     "arith")
 (set_attr "mode"     "DI")
 (set_attr "length"   "1")])


Thanks,
Andrew Pinski

Reply via email to