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]

guarantees on memory operand of movm


Hello,

I am writing a gcc backend for a somewhat non-standard RISC architecture,
with 6 8-bit registers and restricted memory access modes to a 16-bit
address space.

What are the guarantees on the memory operand to movm? My assumption is
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).

I would also like to know if the output of define_expand is fed back into
the RTL generator if the output RTL cannot be matched against insns. I
would assume not, since this probably introduces complications in reload.

I am planning to restrict the stack to 8-bits of address so that address
generation during reloads is cheaper (the uC applications I am targetting
should not need more than this). Can I count on using reload{in,out}_* to
capture this case?

Is there any work on implementing static allocation of automatic locals
based on call graphs in gcc?

-Alan Shieh


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