(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr68841.c
       1  /* { dg-do run } */
       2  /* { dg-options "-Og -fif-conversion -flive-range-shrinkage -fpeel-loops -frerun-cse-after-loop" } */
       3  
       4  static inline int
       5  foo (int *x, int y)
       6  {
       7    int z = *x;
       8    while (y > z)
       9      z *= 2;
      10    return z;
      11  }
      12  
      13  int
      14  main ()
      15  {
      16    int i;
      17    for (i = 1; i < 17; i++)
      18      {
      19        int j;
      20        int k;
      21        j = foo (&i, 7);
      22        if (i >= 7)
      23  	k = i;
      24        else if (i >= 4)
      25  	k = 8 + (i - 4) * 2;
      26        else if (i == 3)
      27  	k = 12;
      28        else
      29  	k = 8;
      30        if (j != k)
      31  	__builtin_abort ();
      32      }
      33    return 0;
      34  }