(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr86386.c
       1  /* PR target/86386 */
       2  /* { dg-do run { target { avx_runtime && int128 } } } */
       3  /* { dg-options "-Os -fno-tree-dce -mstringop-strategy=vector_loop -mavx" } */
       4  
       5  unsigned c, d, e, f;
       6  
       7  unsigned __attribute__((noipa))
       8  foo (unsigned char g, unsigned short h, unsigned i, unsigned long long j,
       9       unsigned char k, unsigned short l, unsigned m, unsigned __int128 n)
      10  {
      11    __builtin_memset (&e, 0, 3);
      12    n <<= m;
      13    __builtin_memcpy (&m, 2 + (char *) &n, 1);
      14    m >>= 0;
      15    d ^= __builtin_mul_overflow (l, n, &m);
      16    return m;
      17  }
      18  
      19  int
      20  main ()
      21  {
      22    unsigned __int128 x = foo (0, 0, 0, 0, 0, 4, 1, 3);
      23    if (x != 24)
      24      __builtin_abort ();
      25    return 0;
      26  }