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: [patch] follow up on the aarch64 r18 story


Thanks for your feedback on this Richard,

Back on this after a few days away.

> On 15 Nov 2019, at 16:37, Richard Earnshaw (lists) <Richard.Earnshaw@arm.com> wrote:

> My first thought is that if we need a permanent reservation it would be better to put this at the top of the list.  r16 and r17 have defined ABI uses (for the inter-procedural registers), so that means the next highest register is r15.  I'm keen that we avoid, if possible, fracturing the space of call clobbered registers by 'just picking another one' - if we're not careful we end up with a set of blocked holes that just makes life hard for everyone.
> 
> Which ever register we eventually settle on, I think this needs to get recorded in the ABI docs. The GO example shows that this is more ABI than was previously anticipated.

Indeed. It might be just "normal" for something
essentially allowing access to local things through
part of of a Foreign Function Interface.

> +/* The pair of scratch registers used for stack probing during prologue.  */
> +#define PROBE_STACK_FIRST_REG		R10_REGNUM
> +#define PROBE_STACK_SECOND_REG		R11_REGNUM
> +
> 
> These should be moved to the define_constant in aarch64.md that defines all the register numbers (add them to near the end of the list where the
> other aliases are defined.

Sure, will adjust and retest. Thanks.

Best Regards,

Olivier


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