From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2906 invoked by alias); 1 Sep 2009 18:40:39 -0000 Received: (qmail 2894 invoked by uid 22791); 1 Sep 2009 18:40:38 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-fx0-f207.google.com (HELO mail-fx0-f207.google.com) (209.85.220.207) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 01 Sep 2009 18:40:31 +0000 Received: by fxm3 with SMTP id 3so267930fxm.8 for ; Tue, 01 Sep 2009 11:40:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.239.170.18 with SMTP id q18mr585853hbe.50.1251830425531; Tue, 01 Sep 2009 11:40:25 -0700 (PDT) In-Reply-To: References: <719dced30909010708m65092e2fpfea78001dab12b8b@mail.gmail.com> Date: Tue, 01 Sep 2009 18:40:00 -0000 Message-ID: <719dced30909011140p39cf9e1ayc5af51e212dddd43@mail.gmail.com> Subject: Re: question about -mpush-args -maccumulate-outgoing-args on gcc for x86 From: Godmar Back To: Ian Lance Taylor Cc: gcc@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-09/txt/msg00024.txt.bz2 On Tue, Sep 1, 2009 at 12:31 PM, Ian Lance Taylor wrote: > Godmar Back 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