This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Help-The possible places where insn is splitted in greg pass
- From: fanqifei <fanqifei at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 14 Jan 2010 15:36:14 +0800
- Subject: Re: Help-The possible places where insn is splitted in greg pass
- References: <f94afa701001130132v6690226bpba4db8665c0342ed@mail.gmail.com>
- Reply-to: fanqifei at gmail dot com
2010/1/13 fanqifei <fanqifei@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?
Thanks very much!
Qifei Fan