On Sat, 2008-04-12 at 00:06 +0200, Stelian Pop wrote:
> I will still have the problems with the fact that my indirect addressing
> doesn't allow displacements, no ? (so I would need to implement
> LEGITIMIZE_RELOAD_ADDRESS, in which I'll need a special reserved
> register to compute the full address by adding the base and the
> displacement). Or do you imply that I won't need this anymore ?

I didn't see an obvious explanation for your troubles here.

There are other targets like IA-64 that do not have base+offset
addressing modes.  It should just work.

LEGITIMIZE_RELOAD_ADDRESS is a hack.  It should never be necessary for
correct code generation, in theory, though I think there are some rare
corner cases where it may be required for correct results.  Long term
this is something that should be fixed.  Meanwhile, I can point out that
the IA-64 port does not define LEGITIMIZE_RELOAD_ADDRESS, and does not
have base+offset addressing modes, and it works.

IA-64 does have auto-increment addressing modes, but those shouldn't
matter here.  Reload won't generate such addressing modes for a stack
slot reference.

Jim

Reply via email to