1/* { dg-do run } */
2/* { dg-require-effective-target ultrasparc_hw } */
3/* { dg-options "-O2 -mcpu=ultrasparc -mvis" } */
4
5extern void abort (void);
6extern void exit (int);
7
8int foo(double a, int b, int c, double *d, int h)
9{
10  int f, g;
11  double e;
12
13l:
14  f = (int) a;
15  a -= (double) f;
16  if (b == 1)
17    {
18      g = c;
19      f += g;
20      c -= g;
21    }
22  if (b == 2)
23    {
24      f++;
25      h = c;
26    }
27  if (!h)
28    {
29      for (g = 0; g <= 10; g++)
30        for (h = 0; h <= 10; h++)
31          e += d [10 + g - h];
32      goto l;
33    }
34  return f & 7;
35}
36
37int main()
38{
39  if (foo(0.1, 1, 3, 0, 1) != 3)
40    abort ();
41  exit (0);
42}
43