43 lines
631 B
C
43 lines
631 B
C
/* { dg-do run } */
|
|
/* { dg-require-effective-target ultrasparc_hw } */
|
|
/* { dg-options "-O2 -mcpu=ultrasparc -mvis" } */
|
|
|
|
extern void abort (void);
|
|
extern void exit (int);
|
|
|
|
int foo(double a, int b, int c, double *d, int h)
|
|
{
|
|
int f, g;
|
|
double e;
|
|
|
|
l:
|
|
f = (int) a;
|
|
a -= (double) f;
|
|
if (b == 1)
|
|
{
|
|
g = c;
|
|
f += g;
|
|
c -= g;
|
|
}
|
|
if (b == 2)
|
|
{
|
|
f++;
|
|
h = c;
|
|
}
|
|
if (!h)
|
|
{
|
|
for (g = 0; g <= 10; g++)
|
|
for (h = 0; h <= 10; h++)
|
|
e += d [10 + g - h];
|
|
goto l;
|
|
}
|
|
return f & 7;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
if (foo(0.1, 1, 3, 0, 1) != 3)
|
|
abort ();
|
|
exit (0);
|
|
}
|