[PATCH] ia64: register symbol generation

James E Wilson wilson@specifix.com
Fri Oct 21 19:07:00 GMT 2005


On Fri, 2005-10-21 at 02:54, Jan Beulich wrote:
> A resulting question is whether it is really needed to store the
> symbols
> for all registers (rather than just the general ones) in md.regsym,
> and
> whether this array (due to its size and the potential of generating
> better
> code for some cross-build hosts) shouldn't be moved to the end of md.

We only use regsym in one place, for indirect register operands.  So it
looks we only need the 11 or so IND_* registers in regsym, plus some
code to do a bounds check and complain if we don't have an IND_*
register here.  Or maybe insert an invalid symbol so that the problem
will be detected later.

Moving it to the end of md sounds reasonable too, as this is a rarely
used field, so we may as well move it out of the way of the more
important fields.

> 	* config/tc-ia64.c (declare_register): Call symbol_create.
> 	(md_begin): Remove local variables total, ar_base, and cr_base.
> 	Start loops for registers at their respective first one. Don't
> 	update md.regsym for alias names. Generate alias name tp for
> r13.
>        * gas/ia64/regs.pl: Also check tp alias of r13.
>        * gas/ia64/regs.s: Regenerate.
>        * gas/ia64/regs.d: Adjust.

OK.
-- 
Jim Wilson, GNU Tools Support, http://www.specifix.com



More information about the Binutils mailing list