Does gcc violate the ia64 ABI?
H. J. Lu
hjl@lucon.org
Sat May 17 05:52:00 GMT 2003
On Fri, May 16, 2003 at 05:43:18PM -0700, Richard Henderson wrote:
> On Fri, May 16, 2003 at 03:25:08PM -0700, H. J. Lu wrote:
> > d. At procedure return, gp must be valid (for the returning prodecure).
> > This allows the compiler to optimize calls known to be local (i.e., the
> > exceptions to Rule 'c').
>
> I was not aware of this clause. I'd have sworn it wasn't a part
> of the ABI at one time...
>
> Indeed, if this clause is truely correct, then virtually all of
> the tail-call possibilities on ia64 are invalid. Yes, statics
> still can be done, but that's not nearly as frequent.
Gcc can skip gp save/restore across a local call. Right now, gcc
saves and restores gp across a local call.
>
> Can you find out when this got added to the ABI?
>
Sure. BTW, the current one is dated May, 2001.
H.J.
More information about the Gcc
mailing list