1  /* { dg-do run } */
       2  /* { dg-require-effective-target int128 } */
       3  /* { dg-options "-Og -w -Wno-psabi" } */
       4  
       5  typedef unsigned __int128 u128;
       6  typedef unsigned __int128 v64u128 __attribute__ ((vector_size (64)));
       7  
       8  u128 __attribute__ ((noinline, noclone))
       9  foo (unsigned c, v64u128 v)
      10  {
      11    v64u128 u;
      12    if (c) {
      13      u = (v64u128){(u128)0, (u128)0};
      14    } else {
      15      u = (v64u128){(u128)0, (u128)1};
      16    }
      17    u += v;
      18    return u[1];
      19  }
      20  
      21  int
      22  main ()
      23  {
      24    u128 x = foo (0, (v64u128){ });
      25    if (x != 1)
      26      __builtin_abort();
      27    return 0;
      28  }