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