1 /* { dg-do compile { target int128 } } */
2 /* { dg-options "-O -mavx512f -fno-split-wide-types --param max-combine-insns=2" } */
3 
4 typedef unsigned      int U __attribute__((vector_size(64)));
5 typedef unsigned __int128 V __attribute__((vector_size(64)));
6 
7 V
foo(V v)8 foo(V v)
9 {
10   v[0] = 1u << ((  ((V)(U){1, 1, v[0]})[0]) & 0xf)
11             >> ((-~((V)(U){1, 1, v[0]})[0]) & 0xf);
12   return v;
13 }
14