This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: guarantees on memory operand of movm
- To: ashieh at OCF dot Berkeley dot EDU (Alan Shieh)
- Subject: Re: guarantees on memory operand of movm
- From: Joern Rennecke <amylaar at redhat dot com>
- Date: Fri, 20 Jul 2001 20:17:48 +0100 (BST)
- Cc: gcc at gcc dot gnu dot org
> What are the guarantees on the memory operand to movm? My assumption is
It will satisfy GO_IF_LEGITIMATE_ADDRESS.
> that the operand will be either based, indexed, or absolute, with the
> appropriate types avoided if any of those are disallowed by the target
> description macros (ie, in the core that I am targeting, only register
> indirect and a "use register as MSB, immediate as LSB" address modes are
> available).
The latter mode might be tricky to use. If you arrange for all variables /
structures to be laied out as not to cross page boundaries, you could use
it to generate high / lo_sum addressing.
(Look at LEGITIMIZE_ADDRESS and LEGITIMIZE_RELOAD_ADDRESS for ways to
promote the generation of this kind of addressing.)
Otherwise, you will need to do some elaborate linker relaxations.