/* PR target/79498 */ /* { dg-do compile { target lp64 } } */ /* { dg-options "-O2 -mno-avx512f -mcmodel=large -Wno-psabi" } */ typedef unsigned U __attribute__ ((vector_size (64))); typedef unsigned __int128 V __attribute__ ((vector_size (64))); static inline V bar (U u, U x, V v) { v = (V)(U) { 0, ~0 }; v[x[0]] <<= u[-63]; return v; } V foo (U u) { return bar (u, (U) {}, (V) {}); }