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? Jc On Thu, Mar 4, 2010 at 6:28 PM, Andrew Pinski <pins...@gmail.com> wrote: > Maybe 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_operand:DI 1 "register_operand" "r") > (match_operand:DI 2 "register_operand" "r") > (reg:DI 66)] 6)) > ] > "" > "myInst\\t%0,%1,%2" > [(set_attr "type" "arith") > (set_attr "mode" "DI") > (set_attr "length" "1")]) > > > Which basically means op[0] = unspec:5(op[1], op[2], reg:66); [reg:66] > = unspec:6(op[1], op[2], reg:66) > So when you have two in a row, the second depends on the first as you > have the set of reg:66. The clobber in your original code does not do > that, it says reg 66 cannot be depended on the value across the > instruction. > > Thanks, > Andrew Pinski >