/* { dg-do compile { target int128 } } */ | |
/* { dg-options "-O -mavx512f -fno-split-wide-types --param max-combine-insns=2" } */ | |
typedef unsigned int U __attribute__((vector_size(64))); | |
typedef unsigned __int128 V __attribute__((vector_size(64))); | |
V | |
foo(V v) | |
{ | |
v[0] = 1u << (( ((V)(U){1, 1, v[0]})[0]) & 0xf) | |
>> ((-~((V)(U){1, 1, v[0]})[0]) & 0xf); | |
return v; | |
} |