1  /* { dg-do run } */
       2  /* { dg-additional-options "-ftree-slp-vectorize" } */
       3  
       4  extern void abort (void);
       5  
       6  static struct X { void *a; void *b; } a, b;
       7  
       8  void __attribute__((noinline))
       9  foo (void)
      10  {
      11    void *tem = a.b;
      12    a.b = (void *)0;
      13    b.b = tem;
      14    b.a = a.a;
      15  }
      16  
      17  int main()
      18  {
      19    a.b = &a;
      20    foo ();
      21    if (b.b != &a)
      22      abort ();
      23    return 0;
      24  }