1 /* PR rtl-optimization/68730 */
2 /* { dg-do compile } */
3 /* { dg-options "-O3 -fno-if-conversion" } */
4 /* { dg-additional-options "-march=x86-64" { target { i?86-*-* x86_64-*-* } } } */
5 
6 int b, d, e;
7 unsigned long long c = 4100543410106915;
8 
9 void
foo(void)10 foo (void)
11 {
12   short f, g = 4 % c;
13   int h = c;
14   if (h)
15     {
16       int i = ~c;
17       if (~c)
18 	i = 25662;
19       f = g = i;
20       h = c - g + ~-f;
21       c = ~(c * h - f);
22     }
23   f = g;
24   unsigned long long k = g || c;
25   short l = c ^ g ^ k;
26   if (g > 25662 || c == 74074520320 || !(g < 2))
27     {
28       k = c;
29       l = g;
30       c = ~((k && c) + ~l);
31       f = ~(f * (c ^ k) | l);
32       if (c > k)
33 	__builtin_printf ("%d\n", f);
34     }
35   short m = -f;
36   unsigned long long n = c;
37   c = m * f | n % c;
38   if (n)
39     __builtin_printf ("%d\n", f);
40   while (f < -31807)
41     ;
42   c = ~(n | c) | f;
43   if (n < c)
44     __builtin_printf ("%lld\n", (long long) f);
45   for (; d;)
46     for (; e;)
47       for (;;)
48 	;
49   c = h;
50   c = l % c;
51 }
52