1  /* PR middle-end/48335 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fno-tree-sra -msse2" } */
       4  
       5  #include <emmintrin.h>
       6  
       7  typedef __float128 T __attribute__((may_alias));
       8  
       9  struct S
      10  {
      11    _Complex double d __attribute__((aligned (16)));
      12  };
      13  
      14  void bar (struct S);
      15  
      16  void
      17  f1 (T x)
      18  {
      19    struct S s;
      20    *(T *) &s.d = x;
      21    __real__ s.d *= 7.0;
      22    bar (s);
      23  }
      24  
      25  void
      26  f2 (__m128d x)
      27  {
      28    struct S s;
      29    _mm_store_pd ((double *) &s.d, x);
      30    __real__ s.d *= 7.0;
      31    bar (s);
      32  }