/* { 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); }