summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr83852.c
blob: 68ef78b8e10b9c55cea3fd9db8958015e9c011d7 (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
/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-std=gnu99 -O2 -fselective-scheduling -fno-if-conversion -fno-tree-dse -w" } */
long long int uo;
unsigned int vt;

void
r5 (long long int h8, long long int pu)
{
  short int wj;
  long long int *mh = h8;

  for (wj = 0; wj < 3; ++wj)
    {
      int oq;
      long long int ns, xf;

      h8 += 2;
      oq = !!h8 && !!wj;
      ++uo;
      vt ^= oq + uo;
      ns = !!uo && !!vt;
      xf = (h8 != 0) ? mh : 1;
      pu += ns < xf;
    }

  for (pu = 0; pu < 1; ++pu)
    {
      int *sc;

      sc = (int *)&pu;
      *sc = 0;
    }
}