1  /* { dg-do compile } */
       2  /* { dg-options "-Wno-psabi -O2 -fno-tree-ccp -fno-tree-fre -mno-sse" } */
       3  
       4  typedef unsigned char U __attribute__((vector_size(16)));
       5  typedef unsigned int V __attribute__((vector_size(16)));
       6  typedef unsigned long long W __attribute__((vector_size(16)));
       7  
       8  extern void bar(U, U);
       9  
      10  V v;
      11  
      12  void
      13  foo(U f)
      14  {
      15    f[0] = f[0] << (unsigned char)~v[0] | f[~((W)(U){0, 0, 0, 0, 0, 0, 0, 0, 5})[1] & 5] >> (-(unsigned char)~v[0] & 7);
      16    bar(f, (U){});
      17  }