1 /* PR middle-end/71691 */
2 /* { dg-do run } */
3 /* { dg-options "-fno-tree-vrp -O2 -funswitch-loops -fdump-tree-unswitch-details" } */
4 
5 /* Note: The -fno-tree-vrp above is only there to avoid VRP papering
6    over the problem.  */
7 
8 char b;
9 short f;
10 unsigned e;
11 int g = 20;
12 
13 void
foo()14 foo ()
15 {
16   int l, h;
17   for (l = 0; l <= 7; l++)
18     {
19       int j = 38;
20       if (g)
21 	h = 0;
22       for (; h <= 7; h++)
23 	{
24 	  int i, k = b % (j % 4);
25 	  g = f;
26 	  for (;;)
27 	    {
28 	      j = 6 || b;
29 	      if (e)
30 		{
31 		  for (; j; --j)
32 		    if (k)
33 		      __builtin_printf ("%d", 9);
34 		  if (i)
35 		    __builtin_printf ("%d", j);
36 		}
37 	      if (l)
38 		continue;
39 	      break;
40 	    }
41 	  i = f || b;
42 	}
43     }
44 }
45 
46 int
main()47 main ()
48 {
49   foo ();
50   return 0;
51 }
52