1  /* PR tree-optimization/65427 */
       2  
       3  typedef int V __attribute__ ((vector_size (8 * sizeof (int))));
       4  V a, b, c, d, e, f;
       5  
       6  __attribute__((noinline, noclone)) void
       7  foo (int x, int y)
       8  {
       9    do
      10      {
      11        if (x)
      12  	d = a ^ c;
      13        else
      14  	d = a ^ b;
      15      }
      16    while (y);
      17  }
      18  
      19  int
      20  main ()
      21  {
      22    a = (V) { 1, 2, 3, 4, 5, 6, 7, 8 };
      23    b = (V) { 0x40, 0x80, 0x40, 0x80, 0x40, 0x80, 0x40, 0x80 };
      24    e = (V) { 0x41, 0x82, 0x43, 0x84, 0x45, 0x86, 0x47, 0x88 };
      25    foo (0, 0);
      26    if (__builtin_memcmp (&d, &e, sizeof (V)) != 0)
      27      __builtin_abort ();
      28    c = (V) { 0x80, 0x40, 0x80, 0x40, 0x80, 0x40, 0x80, 0x40 };
      29    f = (V) { 0x81, 0x42, 0x83, 0x44, 0x85, 0x46, 0x87, 0x48 };
      30    foo (1, 0);
      31    if (__builtin_memcmp (&d, &f, sizeof (V)) != 0)
      32      __builtin_abort ();
      33    return 0;
      34  }