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)8foo(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