This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: REG_EQUIV question
- To: law at cygnus dot com
- Subject: Re: REG_EQUIV question
- From: Denis Chertykov <denisc at overta dot ru>
- Date: 13 Jan 2000 22:54:40 +0300
- Cc: Takayoshi Kouchi <t-kouchi at sannet dot ne dot jp>, gcc at gcc dot gnu dot org
- References: <2024.947791960@upchuck>
Jeffrey A Law <law@cygnus.com> writes:
> In message <200001131702.CAA25179@svan18.sannet.ne.jp>you write:
> > Reg137 (reg/v:DI 137) is a copy of an argument passed by reg3.
> > The reg137 is first used at insn 571 and has a REG_EQUIV in its note.
> >
> > The unrecognized instruction was:
> >
> > (insn 977 570 571 (set (reg:QI 5 $s5)
> > (mem/s:QI (plus:DI (plus:DI (mem/f:DI (plus:DI (reg:DI 3 $s3)
> > (const_int 40 [0x28])) 0)
> > (reg:DI 5 $s5))
> > (const_int 1 [0x1])) 0)) -1 (nil)
> > (nil))
> >
> > This was perhaps a result of reload of the rhs of insn 571 and
> > substitution because of REG_EQUIV, but its addressing mode
> > was illegal.
> Then it should have been identified as an invalid address and reloaded. The
> (plus:DI (plus:DI (...))) should have been passed to find_reloads_address,
> identified as an invalid address and reloaded.
May be this port have invalid LEGITIMIZE_RELOAD_ADDRESS.
Denis.