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...
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90073
H.J. Lu changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
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
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