This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cross gcc port problem


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]