1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -march=skylake" } */
       3  
       4  typedef unsigned int __attribute__((__vector_size__ (32))) U;
       5  typedef unsigned char __attribute__((__vector_size__ (64))) V;
       6  
       7  V g;
       8  
       9  U
      10  foo (void)
      11  {
      12    V v = __builtin_shufflevector (g, g,
      13  				 0, 1, 2, 0, 5, 1, 0, 1, 3, 2, 3, 0, 4, 3, 1, 2,
      14  				 2, 0, 4, 2, 3, 1, 1, 2, 3, 4, 1, 1, 0, 0, 5, 2,
      15  				 0, 3, 3, 3, 3, 4, 5, 0, 1, 5, 2, 1, 0, 1, 1, 2,
      16  				 3, 2, 0, 5, 4, 5, 1, 0, 1, 4, 4, 3, 4, 5, 2, 0);
      17    v ^= 255;
      18    V w = v + g;
      19    U u = ((union { V a; U b; }) w).b + ((union { V a; U b; }) w).b[1];
      20    return u;
      21  }
      22  
      23  /* { dg-final { scan-assembler-not "\.byte\[ \t\]+-1\n" } } */