This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: A question about RTL output


Eric Fisher <joefoxreal@gmail.com> writes:

> dp-bit.c: In function `__pack_d':
> dp-bit.c:435: error: unrecognizable insn:
> (insn 33 32 34 0 dp-bit.c:167 (set (reg:SI 159)
>         (ltu:SI (reg:SI 158 [ <variable>.class ])
>             (const_int 2 [0x2]))) -1 (insn_list 32 (nil))
>     (nil))
> dp-bit.c:435: internal compiler error: in extract_insn, at recog.c:2083
> Please submit a full bug report,
> with preprocessed source if appropriate.

You have to find out where that instruction came from.  gcc doesn't
just make this sort of thing up.  It was generated from something in
your backend--a pattern in your .md file or explicit code in your .c
file.

This is done relatively easily in gdb by doing
    break make_insn_raw if cfun->emit->x_cur_insn_uid == 33
which should give you the creation of the above insn.  Then walk up
the stack to see what called it.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]