1/* { dg-do run } */ 2/* { dg-options "-ftree-parallelize-loops=4 -O2 -ffast-math" } */ 3 4extern void abort (void); 5 6double d[1024], e[1024]; 7int f[1024], g[1024]; 8 9double __attribute__((noinline)) 10foo (void) 11{ 12 double s = 0.0; 13 int i; 14 for (i = 0; i < 1024; i++) 15 s += d[i] - e[i]; 16 return s; 17} 18 19int __attribute__((noinline)) 20bar (void) 21{ 22 int s = 0, i; 23 for (i = 0; i < 1024; i++) 24 s += f[i] - g[i]; 25 return s; 26} 27 28int 29main (void) 30{ 31 int i; 32 for (i = 0; i < 1024; i++) 33 { 34 d[i] = i * 2; 35 e[i] = i; 36 f[i] = i * 2; 37 g[i] = i; 38 } 39 if (foo () != 1023 * 1024 / 2) 40 abort (); 41 if (bar () != 1023 * 1024 / 2) 42 abort (); 43 return 0; 44} 45