(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
loop-unswitch-5.c
       1  /* PR middle-end/71691 */
       2  /* { dg-do run } */
       3  /* { dg-options "-fno-tree-vrp -O2 -funswitch-loops" } */
       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
      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
      47  main ()
      48  {
      49    foo ();
      50    return 0;
      51  }