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;
      15  };
      16  
      17  
      18  void foo (struct T *p, __m128 v)
      19  {
      20    struct S s;
      21  
      22    s = p->s;
      23    s.b = _mm_add_ps(s.b, v);
      24    p->s = s;
      25  }
      26  
      27  /* { dg-final { scan-assembler-not "vmovups" } } */