1 /* { dg-do run } */
2 /* { dg-require-effective-target ultrasparc_hw } */
3 /* { dg-options "-O2 -mcpu=ultrasparc -mvis" } */
4
5 extern void abort (void);
6 extern void exit (int);
7
foo(double a,int b,int c,double * d,int h)8 int foo(double a, int b, int c, double *d, int h)
9 {
10 int f, g;
11 double e;
12
13 l:
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
main()37 int main()
38 {
39 if (foo(0.1, 1, 3, 0, 1) != 3)
40 abort ();
41 exit (0);
42 }
43