This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: question on 16 bit registers with 32 bit pointers
On Mon, 13 Apr 2009, Dave Korn wrote:
> Michael Meissner wrote:
> > On Sat, Apr 11, 2009 at 01:40:57AM +0100, Dave Korn wrote:
> >> Stelian Pop wrote:
> >>
> >>>>> Do I need to define movsi3(), addsi3() etc. patterns manually or
> >>>>> should GCC figure those by itself ?
...
> > Though if you use expanders that need temporary registers, you may have
> > problems in reload, and need to delve into the mysteries of secondary
> > reload. I would imagine that for pointer sized things it is best if you do
> > need to implement multiple instructions that you hold off on splitting
> > until after reload is completed.
>
> Yes, you're right about the register vs reload issue; you must condition any
> calls to force_reg on !reload in progress / completed. But I don't think this
> is such a problem; reload will only generate movMM instructions based on hard
> regs, so you'll only run into secondary reloads if you have complex addressing
> modes that need a scratch register to address, won't you?
How about asking the documentation? This isn't the first time
for this question. A STFW found me
<http://gcc.gnu.org/ml/gcc-patches/2000-04/msg00105.html> for
context. Bah. I guess, it doesn't help having it documented...
Or maybe you mean "do we *still* need this, given recent
register-allocation changes"? (I'm not interested enough though.)
brgds, H-P