https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69493
Peter Bergner <bergner at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bergner at gcc dot gnu.org --- Comment #6 from Peter Bergner <bergner at gcc dot gnu.org> --- A simpler test case that shows the same problem when compiling for POWER8. When compiling for POWER9, we get the code we want/expect: bergner@pike:~/gcc/BUGS/PR70053$ cat pr69493-2.c typedef struct { __vector double vx0; __vector double vx1; } vec_t; vec_t foo (__vector double a, __vector double b) { vec_t result; result.vx0 = a; result.vx1 = b; return result; } bergner@pike:~/gcc/BUGS/PR70053$ /home/bergner/gcc/build/gcc-fsf-mainline-pr70053-debug/gcc/xgcc -B/home/bergner/gcc/build/gcc-fsf-mainline-pr70053-debug/gcc -S -O2 -mcpu=power8 pr69493-2.c bergner@pike:~/gcc/BUGS/PR70053$ cat pr69493-2.s ... foo: addi 8,1,-96 li 10,32 xxpermdi 34,34,34,2 xxpermdi 35,35,35,2 li 9,48 stxvd2x 34,8,10 stxvd2x 35,8,9 lxvd2x 34,8,10 lxvd2x 35,8,9 xxpermdi 34,34,34,2 xxpermdi 35,35,35,2 blr bergner@pike:~/gcc/BUGS/PR70053$ /home/bergner/gcc/build/gcc-fsf-mainline-pr70053-debug/gcc/xgcc -B/home/bergner/gcc/build/gcc-fsf-mainline-pr70053-debug/gcc -S -O2 -mcpu=power9 pr69493-2.c bergner@pike:~/gcc/BUGS/PR70053$ cat pr69493-2.s ... foo: blr