[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2015-01-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #10 from Richard Biener --- Improves runtime from 8.3s to 6.5s (~25%).

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2015-01-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #9 from Richard Biener --- Created attachment 34402 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34402&action=edit patch to pattern-detect the load/store This pattern matches real/imagpart uses and single-use complex stores a

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2015-01-08 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #8 from Marc Glisse --- (In reply to Richard Biener from comment #5) > (In reply to Marc Glisse from comment #1) > > There are a number of things that make it complicated. > > 1) gcc doesn't like to vectorize when the number of iterat

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2015-01-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #7 from Richard Biener --- Created attachment 34400 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34400&action=edit update-address-taken fix

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2015-01-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 Richard Biener changed: What|Removed |Added Keywords||missed-optimization Status|

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2015-01-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 Richard Biener changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2014-12-27 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 David Edelsohn changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2014-12-26 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #3 from Marc Glisse --- (In reply to Conrad from comment #2) > (In reply to Marc Glisse from comment #1) > > 3) the ABI for complex uses 2 separate double instead of a vector of 2 > > double. > > Technically yes, but in practice aren

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2014-12-26 Thread conradsand.arma at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #2 from Conrad --- (In reply to Marc Glisse from comment #1) > 3) the ABI for complex uses 2 separate double instead of a vector of 2 > double. Technically yes, but in practice aren't the 2 separate doubles guaranteed to be consecuti

[Bug c++/64410] gcc 25% slower than clang 3.5 for adding complex numbers

2014-12-26 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64410 --- Comment #1 from Marc Glisse --- There are a number of things that make it complicated. 1) gcc doesn't like to vectorize when the number of iterations is not known at compile time. 2) gcc doesn't vectorize anything already involving complex or