(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr104459.c
       1  /* PR rtl-optimization/104459 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -funswitch-loops -fno-tree-dce -fcompare-debug -w" } */
       4  
       5  void
       6  foo (int x, int y)
       7  {
       8    unsigned int a;
       9  
      10    for (;;)
      11      {
      12        short int *p = (short int *) &x;
      13        unsigned int q = 0;
      14  
      15        a /= 2;
      16        if (a)
      17  	{
      18  	  q -= y;
      19  	  while (q)
      20  	    ;
      21  	}
      22  
      23        if (x)
      24  	{
      25  	  for (q = 0; q != 1; q += 2)
      26  	    {
      27  	      unsigned int n;
      28  
      29  	      n = *p ? 0 : q;
      30  	      y += n < 1;
      31  
      32  	      n = a || *p;
      33  	      if (n % x == 0)
      34  		y /= x;
      35  	    }
      36  	}
      37      }
      38  }