fanqifei <fanqi...@gmail.com> writes: > 2010/1/13 fanqifei <fanqi...@gmail.com>: >> Hi, >> I am working on a micro controller and trying to port gcc(4.3.2) for it. >> Not the compiling process runs into the following error: >> a.c: In function 'task': >> a.c:150: error: unrecognizable insn: >> (insn 479 478 320 19 a:381 (set (reg:SI 12 a12) >> (plus:SI (mult:SI (reg:SI 9 a9 [204]) >> (const_int 4 [0x4])) >> (reg:SI 12 a12))) -1 (nil)) >> a.c:150: internal compiler error: in extract_insn, at recog.c:1990 >> Please submit a full bug report, ... >> >> This insn is generated in greg pass from another insn: >> (insn 320 308 309 19 a.c:381 (set (reg:SI 207 [ <variable>.wrData ]) >> (mem/s:SI (plus:SI (mult:SI (reg:SI 204) >> (const_int 4 [0x4])) >> (reg/f:SI 234)) [5 <variable>.wrData+0 S4 A32])) 3 {movsi} >> (expr_list:REG_DEAD (reg:SI 204) >> (nil))) >> I surfed the web a bit and found similar gcc bug report 37436 >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37436. >> But basically they are not same. >> >> Can someone show me the possible places where insn#479 is generated in >> reload.c or reload1.c? >> Thanks! >> >> Qifei Fan >> > Is there anyone can help?
There are many places where that insn could be generated, so it's pretty hard to answer your question as asked. I recommend setting a breakpoint on make_insn_raw if cfun->emit->x_cur_insn_uid == 479. Then a backtrace will show you what is creating the insn. Ian