This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: more m68k breakage on m68k-linux
- From: Bernardo Innocenti <bernie at develer dot com>
- To: Richard Zidlicky <rz at linux-m68k dot org>
- Cc: Andreas Schwab <schwab at suse dot de>, Matthias Klose <doko at cs dot tu-berlin dot de>, gcc at gcc dot gnu dot org, Gunther Nikl <gni at gecko dot de>
- Date: Tue, 02 Mar 2004 01:07:28 +0100
- Subject: Re: more m68k breakage on m68k-linux
- Organization: Develer S.r.l.
- References: <4009E670.5090600@develer.com> <16394.22429.131429.162236@gargle.gargle.HOWL> <m31xpxs6wx.fsf@whitebox.m5r.de> <20040301200553.GA4188@linux-m68k.org>
Richard Zidlicky wrote:
Hi,
Appears we have an off by 1 error in m68k.h. Any idea how the old
m68k CPU magically gained another hard register?
gcc-3.2: #define FIRST_PSEUDO_REGISTER 24
gcc-3.4: #define FIRST_PSEUDO_REGISTER 25
Yeah: register 25 is a pseudo register that is only being
used in RTL. It stands for the "argument pointer" register,
pointing to a location on the stack from which arguments
can be retrieved using a constant offset.
Some CPUs really have such a register. On the m68k, it
is of course always eliminated by replacing it with the
frame pointer or the stack pointer.
Previously, the argptr was defined to be the same number
of FP, but this made it impossible to do the right thing
in register elimination for the ColdFire.
--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/