aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/pr104778.c
blob: 3866f183185daff30fc7701ecce163e6defea909 (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
51
/* PR debug/104778 */
/* { dg-do compile } */
/* { dg-options "-mcmpb -Og -g" } */
/* { dg-additional-options "-fpie" { target pie } } */

unsigned long long int p;
short int m, n;

void
foo (double u, int v, int x, int y, int z)
{
  long long int a = v;
  short int b = v;
  int c = 0, d = m, e = u;

  if (n)
    {
      int q = b;

      while (p / 1.0)
        c = 0;

      if (n * n == (d + 1) / (1LL << x))
        a = 1;

      b = u;
      while (d)
        {
          u = m + 1ULL;
          b = a - (unsigned long long int) u + a + (char) (u + 1.0);
          d = (v - 1LL) * n / d + q + x;
          q = m;
        }
    }

  while (c < 1)
    {
      int r;

      if (m == y)
        m = e * z;

      e = !a;

      while (!r)
        ;

      if (b)
        m = d;
    }
}