ivopts-caused "unrecognized insn"

Ian Lance Taylor iant@google.com
Wed Sep 26 05:53:00 GMT 2012


On Mon, Sep 24, 2012 at 8:57 PM, Cynbe ru Taren
<cynbe-kw-gcchelp.bbf6e8@cynbe.us> wrote:
>
>     (define_insn "addsi3"
>       [(set (match_operand:SI 0 "register_operand"          "=r,r")
>             (plus:SI (match_operand:SI 1 "register_operand" "%r,r")
>                      (match_operand:SI 2 "arith_operand"     "r,I")))]
>       ""
>       "add%i2\\t%0, %1, %z2"
>       [(set_attr "type" "alu")])


> Searching on the above I find a similar report back in 2009 to which
> Ian Lance Taylor suggested using a define_expand, but according to the
> manual define_expand is useful only when named, for generating rtx,
> whereas my (initial) problem is matching rtx, rather than generating
> it, if I understand correctly.

No, addsi3 is a named pattern and you could and should use define_expand.

Ian



More information about the Gcc-help mailing list