From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108280 invoked by alias); 30 Aug 2015 16:36:50 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 108245 invoked by uid 48); 30 Aug 2015 16:36:46 -0000 From: "ppluzhnikov at google dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments Date: Sun, 30 Aug 2015 16:36:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ppluzhnikov at google dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-08/txt/msg02064.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396 Paul Pluzhnikov changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jh at suse dot cz --- Comment #1 from Paul Pluzhnikov --- This is "caused" by r206947: 2014-01-22 Jan Hubicka + * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): + Enable for generic and recent AMD targets. + +2014-01-22 Jan Hubicka + * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove ARG_SIZE note when adjustment was eliminated. Index: gcc/config/i386/x86-tune.def =================================================================== --- gcc/config/i386/x86-tune.def (revision 206946) +++ gcc/config/i386/x86-tune.def (revision 206947) @@ -146,7 +146,7 @@ use of the frame pointer in 32bit mode. */ DEF_TUNE (X86_TUNE_ACCUMULATE_OUTGOING_ARGS, "accumulate_outgoing_args", m_PPRO | m_P4_NOCONA | m_BONNELL | m_SILVERMONT | m_INTEL - | m_AMD_MULTIPLE | m_GENERIC) + | m_ATHLON_K8) /* X86_TUNE_PROLOGUE_USING_MOVE: Do not use push/pop in prologues that are considered on critical path. */ The patch appears to be backwards from what the commit message says though? $ time gcc-svn-r206948/bin/gcc -c -O2 t.c -mtune=k8 real 0m1.411s user 0m1.391s sys 0m0.019s $ time gcc-svn-r206948/bin/gcc -c -O2 t.c ^C real 1m31.462s user 0m0.000s sys 0m0.006s $ time gcc-svn-r206948/bin/gcc -c -O2 t.c -mtune=generic ^C real 1m14.054s user 0m0.000s sys 0m0.004s