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