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)18void 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