1 /* PR target/85177 */ 2 /* { dg-do run { target { avx512f && int128 } } } */ 3 /* { dg-options "-O -fno-tree-ccp -fno-tree-sra -mavx512f -mno-avx512bw" } */ 4 5 #include "avx512f-check.h" 6 7 typedef short U __attribute__ ((vector_size (64))); 8 typedef __int128 V __attribute__ ((vector_size (64))); 9 10 static inline __attribute__((always_inline)) U foo(int i,U u)11foo (int i, U u) 12 { 13 u[i & 1] = 1; 14 return u; 15 } 16 17 __attribute__((noipa)) int bar()18bar () 19 { 20 V x = (V) foo (0, (U) { }); 21 for (unsigned i = 0; i < 4; i++) 22 if (x[i] != (i == 0)) __builtin_abort (); 23 return 0; 24 } 25 26 static void avx512f_test(void)27avx512f_test (void) 28 { 29 bar (); 30 } 31