testsuite/libgomp.c/autopar-1.c

Go to the documentation of this file.
00001 /* { dg-do run } */
00002 /* { dg-options "-ftree-parallelize-loops=4 -O2 -ffast-math" } */
00003 
00004 extern void abort (void);
00005 
00006 double d[1024], e[1024];
00007 int f[1024], g[1024];
00008 
00009 double __attribute__((noinline))
00010 foo (void)
00011 {
00012   double s = 0.0;
00013   int i;
00014   for (i = 0; i < 1024; i++)
00015     s += d[i] - e[i];
00016   return s;
00017 }
00018 
00019 int __attribute__((noinline))
00020 bar (void)
00021 {
00022   int s = 0, i;
00023   for (i = 0; i < 1024; i++)
00024     s += f[i] - g[i];
00025   return s;
00026 }
00027 
00028 int
00029 main (void)
00030 {
00031   int i;
00032   for (i = 0; i < 1024; i++)
00033     {
00034       d[i] = i * 2;
00035       e[i] = i;
00036       f[i] = i * 2;
00037       g[i] = i;
00038     }
00039   if (foo () != 1023 * 1024 / 2)
00040     abort ();
00041   if (bar () != 1023 * 1024 / 2)
00042     abort ();
00043   return 0;
00044 }

Generated on Fri Apr 5 05:38:10 2013 for Libgomp by  doxygen 1.4.7