/* { dg-options "-flax-vector-conversions -Wno-psabi" } */ typedef int v4si __attribute__((vector_size(16))); typedef short v8hi __attribute__((vector_size(16))); struct s { v8hi x; v4si y; }; union u1 { v8hi x; v4si y; }; union u2 { v4si s; v8hi y; }; void foo (v4si i, v8hi h) { struct s x1 = { i, i }; struct s x2 = { h, h }; struct s x3 = { i, h }; struct s x4 = { h, i }; union u1 y1 = { i }; union u1 y2 = { h }; union u2 y3 = { i }; union u2 y4 = { h }; v4si z1[] = { i, i }; v4si z2[] = { i, h }; v4si z3[] = { h, i }; v4si z4[] = { h, h }; v8hi z5[] = { i, i }; v8hi z6[] = { i, h }; v8hi z7[] = { h, i }; v8hi z8[] = { h, h }; }