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]

Re: New target macro HARD_REGNO_CALL_PART_CLOBBERED



  In message <13842.53428.499077.984900@ongaonga.elec.canterbury.ac.nz>you write:
  > In this case yes.  Some of the call saved 40 bit registers have only
  > the 32 MSBs preserved, while others only have the 32 LSBs preserved.
OK.  Just wanted to make sure.  We could just save/restore the entire 40bits
right?  Wasteful, but correct.

  > The patch may also be applicable for a target that only preserves
  > the 16 LSBs of a 32 bit register across a call.  In this case, GCC
  > could allocate a QImode or HImode quantity to a pseudo that crosses
  > the call, but not a SImode quantity.
It could still allocate a SImode quantity across the call, it just has to
make sure that the right bits are saved around the call.  Handling this is
a lot easier since QImode, HImode, etc are well supported in the compiler,
while partial modes used to implement 40 bit regs and such ar enot well
supported.

jeff


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