(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr69577.c
       1  /* { dg-do run { target avx_runtime } } */
       2  /* { dg-require-effective-target int128 } */
       3  /* { dg-options "-O -fno-forward-propagate -fno-split-wide-types -mavx" } */
       4  
       5  typedef unsigned int u32;
       6  typedef unsigned __int128 u128;
       7  typedef unsigned __int128 v32u128 __attribute__ ((vector_size (32)));
       8  
       9  u128 __attribute__ ((noinline, noclone))
      10  foo (u32 u32_0, v32u128 v32u128_0)
      11  {
      12    v32u128_0[0] >>= u32_0;
      13    v32u128_0 += (v32u128) {u32_0, 0};
      14    return u32_0 + v32u128_0[0] + v32u128_0[1];
      15  }
      16  
      17  int
      18  main()
      19  {
      20    u128 x = foo (1, (v32u128) {1, 4});
      21    if (x != 6)
      22      __builtin_abort ();
      23    return 0;
      24  }