From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 88099 invoked by alias); 17 Aug 2015 03:06:18 -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 88043 invoked by uid 48); 17 Aug 2015 03:06:13 -0000 From: "miyuki at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/67153] [5/6 Regression] integer optimizations 53% slower than std::bitset<> Date: Mon, 17 Aug 2015 03:06:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 5.1.1 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: miyuki at gcc dot gnu.org 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: 5.3 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/msg01082.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67153 Mikhail Maltsev changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |miyuki at gcc dot gnu.org --- Comment #15 from Mikhail Maltsev --- (In reply to ncm from comment #13) > I am very curious whether this has been reproduced on others' Haswells, > and on Ivybridge and Skylake. I could reproduce this with Haswell i7-5820K (affected) and also tested on Ivybridge i7-3770K (not affected). Haswell: GCC 4.9.3 native real 0m0.150s user 0m0.149s sys 0m0.001s GCC 6.0.0 native real 0m0.213s user 0m0.212s sys 0m0.000s GCC 6.0.0 native + count real 0m0.166s user 0m0.165s sys 0m0.000s ================ GCC 4.9.3 generic real 0m0.128s user 0m0.127s sys 0m0.001s GCC 6.0.0 generic real 0m0.213s user 0m0.213s sys 0m0.000s GCC 6.0.0 generic + count real 0m0.125s user 0m0.124s sys 0m0.000s Ivybridge: GCC 4.9.2 native real 0m0.218s user 0m0.216s sys 0m0.000s GCC 6.0.0 native real 0m0.186s user 0m0.184s sys 0m0.000s GCC 6.0.0 native + count real 0m0.266s user 0m0.264s sys 0m0.000s ================ GCC 4.9.2 generic real 0m0.224s user 0m0.220s sys 0m0.004s GCC 6.0.0 generic real 0m0.183s user 0m0.180s sys 0m0.000s GCC 6.0.0 generic + count real 0m0.181s user 0m0.176s sys 0m0.004s Here "native" means "-march=native -mtune=native", "generic" means no arch options. "+count" means adding a counter into the loop and writing it's value to a global volatile variable after the loop.