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)11 foo (int i, U u)
12 {
13   u[i & 1] = 1;
14   return u;
15 }
16 
17 __attribute__((noipa)) int
bar()18 bar ()
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)27 avx512f_test (void)
28 {
29   bar ();
30 }
31