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