This is the mail archive of the gcc@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: new register allocator and HARD_REGNO_CALL_PART_CLOBBERED


Hi,

On 15 May 2003, Alexandre Oliva wrote:

> It is not insane.  It makes a lot of sense when you extend an
> architecture's register width but maintain the ABI unchanged, such
> that existing object or assembly code developed for the old
> architecture will still work correctly in the new one, even if linked
> with code that takes advantage of the features of the new
> architecture.  The old code couldn't possibly preserve say the most
> significant 32-bits of a 64-bit register if the register was only
> 32-bits wide when it was written.

Sure.  But then I would explicitely add the necessary clobbers (of
subregs) to the call instructions, explicitely stating what happens,
namely that some register parts will be destroyed, instead of an
abstraction like HARD_REGNO_CALL_PART_CLOBBERED.  At least for clobbers
which can change per call.


Ciao,
Michael.


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