summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr79405.c
blob: c17baff713547d9a438aa966fd2078ca7d10d010 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* PR rtl-optimization/79405 */
/* { dg-do compile } */
/* { dg-options "-O2" } */

char cz;
long long int xx, u2;

void
qv (int js, int wl)
{
  if (js != 0)
    {
      short int sc;
      int *at = (int *)≻
      long long int gx = 0;

      for (;;)
	{
	  *at = 0;
	  js /= sc;

	  for (wl = 0; wl < 2; ++wl)
	    {
	      xx = gx;
	      u2 %= xx > 0;
	      cz /= u2;

 fa:
	      if (cz != u2)
		{
		  gx |= js;
		  cz = gx / js;
		}
	    }
	}

 yq:
      wl /= 0x80000000;
      u2 = wl;
      u2 |= (wl != 0) | (wl != 0 && gx != 0);
      js = u2;
      goto fa;
    }
  goto yq;
}