https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45833
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to rsand...@gcc.gnu.org from comment #3) > Same thing without a union: > > struct v { int v[4]; } __attribute__ ((aligned (4 * sizeof (int)))); > void > f (struct v *x, struct v *y, struct v *z) > { > for (int i = 0; i < 4; i++) > x->v[i] = y->v[i] + z->v[i]; > } That was fixed in GCC 8. The union case is still not fixed.