This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/67153] [5/6 Regression] integer optimizations 53% slower than std::bitset<>
- From: "miyuki at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 17 Aug 2015 03:06:12 +0000
- Subject: [Bug tree-optimization/67153] [5/6 Regression] integer optimizations 53% slower than std::bitset<>
- Auto-submitted: auto-generated
- References: <bug-67153-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67153
Mikhail Maltsev <miyuki at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |miyuki at gcc dot gnu.org
--- Comment #15 from Mikhail Maltsev <miyuki at gcc dot gnu.org> ---
(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.