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