summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/pr80343.c
blob: cea2a771abba6785bdbca8e4c8121d4dd44479fb (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
46
47
48
49
50
/* { dg-do compile { target powerpc-*-*spe } } */
/* { dg-options "-O2 -ftracer -fPIC" } */
long long int vi, ls;
int wq, oa, to, fv;
signed char zo;

long long int
ai (long long int ip, long long int jc, int gt)
{
  ip /= 3;
  jc += ip;
  if (ip != 0)
    vi = 0;
  vi += ls;

  if (wq != oa)
    {
      int tz;

      for (tz = 0; tz < 32; ++tz)
        zo -= wq & gt;

      if ((gt & 5) > oa)
        {
          zo += gt;
          fv += zo + to;
        }

      if (gt != 0)
        oa = 0;

      if (fv != 0)
        {
          vi += wq;
          ls += ip;
          jc += (vi != 0) ? ip : ls;
        }

      while (tz != 0)
        {
          zo = wq;
          tz = zo;
        }

      ++to;
      wq = ip;
    }

  return jc;
}