This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/67153] [5/6 Regression] integer optimizations 53% slower than std::bitset<>


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]