/* PR target/85177 */ /* { dg-do run { target { avx512f && int128 } } } */ /* { dg-options "-O -fno-tree-ccp -fno-tree-sra -mavx512f -mno-avx512bw" } */ #include "avx512f-check.h" typedef short U __attribute__ ((vector_size (64))); typedef __int128 V __attribute__ ((vector_size (64))); static inline __attribute__((always_inline)) U foo (int i, U u) { u[i & 1] = 1; return u; } __attribute__((noipa)) int bar () { V x = (V) foo (0, (U) { }); for (unsigned i = 0; i < 4; i++) if (x[i] != (i == 0)) __builtin_abort (); return 0; } static void avx512f_test (void) { bar (); }