[Bug target/90073] Very slow code for AVX2

2019-04-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90073 --- Comment #5 from Marc Glisse --- Looking at the attached asm, the main issue is PR 55266 (there should be no copying), and how exactly the copies are done (64/128/256 bits) is almost a detail...

[Bug target/90073] Very slow code for AVX2

2019-04-12 Thread rcc.dark at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90073 --- Comment #4 from Rodrigo --- (In reply to H.J. Lu from comment #3) > Fixed on > > https://gitlab.com/x86-gcc/wip/tree/usr/hjl/pr89226/master > > which will be submitted for GCC 10. > > *** This bug has been marked as a duplicate of bug 8922

[Bug target/90073] Very slow code for AVX2

2019-04-12 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90073 H.J. Lu changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/90073] Very slow code for AVX2

2019-04-12 Thread rcc.dark at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90073 --- Comment #2 from Rodrigo --- (In reply to H.J. Lu from comment #1) > The problem is with the default -mtune=generic. > > [hjl@gnu-cfl-1 gcc]$ cat /tmp/foo.cc > #include > > using data = long long __attribute__((vector_size(64))); > void f(d

[Bug target/90073] Very slow code for AVX2

2019-04-12 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90073 --- Comment #1 from H.J. Lu --- The problem is with the default -mtune=generic. [hjl@gnu-cfl-1 gcc]$ cat /tmp/foo.cc #include using data = long long __attribute__((vector_size(64))); void f(data& a, const data& x1, const data& x2) { a ^= x