1  /* PR debug/86194 */
       2  /* { dg-do compile { target int128 } } */
       3  /* { dg-options "-O -g -mavx512bw" } */
       4  
       5  typedef unsigned U __attribute__ ((vector_size (64)));
       6  typedef unsigned long V __attribute__ ((vector_size (64)));
       7  typedef unsigned __int128 W __attribute__ ((vector_size (64)));
       8  
       9  U u;
      10  
      11  W
      12  bar (W w)
      13  {
      14    U k = u;
      15    w <<= (W)(U) { 5, 3, 3, 0, 7, 3, 1, 3, k[7] };
      16    k += (U) { -(char)w[3] } != k;
      17    return (W)k + w;
      18  }
      19  
      20  void
      21  foo (void)
      22  {
      23    u = (U){ bar ((W)(V) { 0, ~0, 0, 0, 0, 0, ~0 })[0] };
      24  }