This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: base + index register addressing
- To: law at cygnus dot com
- Subject: Re: base + index register addressing
- From: Nick Ing-Simmons <nik at tiuk dot ti dot com>
- Date: Mon, 20 Oct 1997 15:03:32 +0100
- Cc: egcs at cygnus dot com, "Michael P. Hayes" <michaelh at ongaonga dot chch dot cri dot nz>, meissner at cygnus dot com, gcc2 at cygnus dot com
- References: <15650.877132574@hurl.cygnus.com>
- Reply-To: Nick Ing-Simmons <nik at tiuk dot ti dot com>
Jeffrey A Law <law@cygnus.com> writes:
> In message <199710172339.MAA26949@ongaonga.chch.cri.nz>you write:
> > Most of the utility of the patch occurs when an incoming function
> > argument is in a hard base (or possibly index) register.
>Yup. I'm all too aware of losing base vs index distinctions
>when hard argument registers.
>
>You see, on the PA, it's absolutely critical that we be able to
>distinguish the base from the index -- if you reverse them in a
>memory reference it will fail at runtime. Furthermore, any
>general register can be a base or index. Thus we can't use a
>set of registers to know which is the base and which is the index.
On some of TI's DSPs index/base are very important as well.
This is almost the inverse of above case - sets of registers are vital !
Here to use a register as an index its hard-register number has to be
"related" to the hard register number of the base.
Current GCC register allocation just cannot handle this, so I have
"given up" (and just lurk here).