PR rtl-optimization/87918
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr86386.c
bloba67cf45444ec8fd38904a26f991b3a7967a75fac
1 /* PR target/86386 */
2 /* { dg-do run { target { avx_runtime && int128 } } } */
3 /* { dg-options "-Os -fno-tree-dce -mstringop-strategy=vector_loop -mavx" } */
5 unsigned c, d, e, f;
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)
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;
19 int
20 main ()
22 unsigned __int128 x = foo (0, 0, 0, 0, 0, 4, 1, 3);
23 if (x != 24)
24 __builtin_abort ();
25 return 0;