This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: Target-dependent modes (2/3) take one


> X-Original-To: geoffk@foam.wonderslug.com
> Cc: gcc-patches@gcc.gnu.org
> Date: Sat, 11 Oct 2003 19:31:59 -0400
> From: David Edelsohn <dje@watson.ibm.com>
> X-OriginalArrivalTime: 11 Oct 2003 23:38:07.0781 (UTC) FILETIME=[B9578550:01C39050]
> 
> >>>>> Zack Weinberg writes:
> 
> > rs6000 uses PSImode to represent the XER register.  The XER register
> > appears never to be used for anything.  I would like to rip it out
> > entirely, but I'm not sure it's safe to change register numbers like
> > that, and I am also not familiar with the history; maybe it's needed
> > for something I did not understand.

Why do we want to take it out?

> 	The PowerPC XER register contains the carry bit.  XER was added a
> few years ago for the eventual purpose of tracking carry bit dependency
> and performing register allocation on the carry bit instead of emitting
> multiple instructions and limiting carry use to within an insn.  That
> support never has been implemented.  I am not sure the performance gain is
> worth the effort.  I am not sure why PSImode was used, other than to
> ensure nothing else was allocated to the register.

The XER doesn't have all its bits implemented on all processors.

> 	I think it's safe to remove XER and shift all register numbers
> down because all references should be through the macros within GCC.
> 
> 	Are the register numbers exposed through stabs debugging
> information?  That would affect Darwin.

Both stabs and dwarf rely on the particular numbering scheme.


-- 
- Geoffrey Keating <geoffk@geoffk.org>


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