1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mavx" } */
3 
4 #include <immintrin.h>
5 
6 struct S
7 {
8   __m128 a, b;
9 };
10 
11 struct T
12 {
13   int a;
14   struct S s[8];
15 };
16 
17 
foo(struct T * p,int i,__m128 v)18 void foo (struct T *p, int i, __m128 v)
19 {
20   struct S s;
21 
22   s = p->s[i];
23   s.b = _mm_add_ps(s.b, v);
24   p->s[i] = s;
25 }
26 
27 /* { dg-final { scan-assembler-not "vmovups" } } */
28