From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Ing-Simmons To: law@cygnus.com Cc: egcs@cygnus.com, "Michael P. Hayes" , meissner@cygnus.com, gcc2@cygnus.com Subject: Re: base + index register addressing Date: Mon, 20 Oct 1997 09:43:00 -0000 Message-id: <199710201403.PAA26045@tiuk.ti.com> References: <15650.877132574@hurl.cygnus.com> X-SW-Source: 1997-10/msg00872.html Jeffrey A Law 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).