This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] sibling-call optimization violates PPC ABI on darwin
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Stuart Hastings <stuart at apple dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 24 Aug 2002 22:30:17 -0400
- Subject: Re: [RFC] sibling-call optimization violates PPC ABI on darwin
- References: <E231438A-B6E4-11D6-96F9-003065ED8B66@apple.com>
>>>>> Stuart Hastings writes:
> If the "42" above became "42.0", it would be passed in a floating-point
> register with no store into the stack. This violates the calling
> convention, but it will usually work in practice.
I believe that you are referring to the addition to the ABI which
GCC will perform when invoked with the -mxl-call option. That option
currently is not available for the Darwin configuration.
The ABI "feature" only is necessary to handle an embarrassment
when using varargs (not stdarg) while mixing K&R and ANSI C (no place on
the stack to store the arguments if their address is taken). In all other
cases, it just an unnecessary performance hit, which is why GCC only
implements it as an option. This case will never happen with Darwin and
Mac OS X.
David