On Tue, Sep 1, 2009 at 12:31 PM, Ian Lance Taylor<i...@google.com> wrote:
> Godmar Back <god...@gmail.com> writes:
>
>> It appears to me that '-mno-push-args' is the enabled by default (*),
>> and not '-mpush-args'.
>
> The default varies by processor--it dependson the -mtune option.

I don't know how to find out which tuning is enabled by default; I
assume -mtune=generic?
Would statements with respect to what "default" is apply to the
"default" mtune setting?

>
>> Moreover, since -maccumulate-outgoing-args
>> implies -mno-push-args, it appears that the only way to obtain
>> 'push-args' behavior is to specify '-mno-accumulate-outgoing-args' - a
>> switch which the documentation doesn't even mention.
>
> That is likely true.
>
> If you want to send a patch for the docs, that would be great.
>

Whilst in general I am not opposed to this, and have contributed to
many open source projects in the past, I feel that the documentation
should be updated by someone who can actually vouch for the
completeness and accuracy of what's written, which I definitely
cannot. I also cannot verify the accuracy of the claims with respect
to speeds of the two options. Moreover, these claims are made in a
section of the documentation that applies to an entire architecture
rather than a specific processor implementation. Perhaps they should
simply be removed?

I'm also uncertain where exactly the difference between
accumulate-outgoing-args and push-args is.
accumulate implies no-push-arg, and no-accumulate+push-arg is the
traditional approach, but what does no-accumulate+no+push+arg look
like and does it even make sense?

It would also be great if '-mpush-args' without
-mno-accumulate-outgoing-args would trigger a warning:
Warning: -mpush-args ignored while -maccumulate-outgoing-args is in effect.

 - Godmar

Reply via email to