This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: cross gcc port problem
- To: vdovikin at jscc dot ru
- Subject: Re: cross gcc port problem
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Date: Tue, 27 Mar 2001 03:28:08 +0200
- CC: gcc at gcc dot gnu dot org
> From: "Oleg I. Vdovikin" <vdovikin@jscc.ru>
> Date: Tue, 20 Mar 2001 19:26:15 +0300
(Hmm, nobody else replied to the base problem. Well, ok, here goes.)
> #define SECONDARY_RELOAD_CLASS(CLASS,MODE,X) \
> (class == BASE_REGS && GET_CODE(x) == MEM) ? BASE_REGS : NO_REGS;
Better make it
((CLASS) == BASE_REGS && GET_CODE (x) == MEM) ? ACCUM_REGS : NO_REGS;
if memory accesses have to go through the accumulator. In
SECONDARY_RELOAD_CLASS you are supposed to specify a register
class that the move has to go *through* (i.e. an intermediate
class), not the class that *needs* the reload. If the wording
in the manual caused confusion, please help improve it.
brgds, H-P