===================================================================
@@ -33,52 +33,23 @@
dg-init
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O0 -fcilkplus" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O1 -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O2 -ftree-vectorize -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O2 -fcilkplus" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O3 -fcilkplus" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O0 -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O1 -fcilkplus" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O2 -ftree-vectorize -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O3 -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O3 -ftree-vectorize -fcilkplus -g" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O0 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O1 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O2 -ftree-vectorize -std=c99" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O2 -std=c99" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O3 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -std=c99" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O0 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O1 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O2 -ftree-vectorize -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O3 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O3 -ftree-vectorize -std=c99 -g -fcilkplus" " "
-
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus $ALWAYS_CFLAGS " " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O0 -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -fcilkplus $ALWAYS_CFLAGS " " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O1 -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -std=c99 -fcilkplus $ALWAYS_CFLAGS" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O0 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O1 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O3 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -ftree-vectorize -fcilkplus -g $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O0 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O1 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O2 -ftree-vectorize -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O3 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O0 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O1 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O2 -ftree-vectorize -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O3 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -ftree-vectorize -std=c99 -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O0 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -g -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
+
+
+
dg-finish
===================================================================
@@ -1,3 +1,15 @@
+2013-11-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * c-c++-common/cilk-plus/CK/fib.c: Reduced the iteration from
+ 40 to 30. Replaced iteration variable with a #define. Instead of
+ returning non-zero value for error, called __builtin_abort (). Fixed
+ a bug of calling fib_serial in serial case instead of fib.
+ * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
+ * c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
+ * c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
+ * gcc.dg/cilk-plus/cilk-plus.exp: Removed duplicate/un-necessary
+ compiler flag testing.
+
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/58981
===================================================================
@@ -9,43 +9,36 @@
int fib (int);
int fib_serial (int);
+#define FIB_ITERATION 30
+
int main(void)
{
- int ii = 0, error = 0;
- int fib_result[41], fib_serial_result[41];
+ int ii = 0;
+ int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
printf("fib (%2d) = %10d\n", ii, fib (ii));
#else
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
fib_result[ii] = fib (ii);
- fib_serial_result[ii] = fib_serial (ii);
}
- for (ii = 0; ii <= 40; ii++)
+ fib_serial_result[0] = 0;
+ fib_serial_result[1] = 1;
+ for (ii = 2; ii <= FIB_ITERATION; ii++)
+ fib_serial_result[ii] = fib_serial_result[ii-1] + fib_serial_result[ii-2];
+
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
if (fib_result[ii] != fib_serial_result[ii])
- error = 1;
+ __builtin_abort ();
}
#endif
- return error;
+ return 0;
}
-int fib_serial (int n)
-{
- int x = 0, y = 0;
- if (n < 2)
- return n;
- else
- {
- x = fib (n-1);
- y = fib (n-2);
- return (x+y);
- }
-}
-
int fib(int n)
{
int x = 0, y = 0;
===================================================================
@@ -9,28 +9,36 @@
int fib (int);
int fib_serial (int);
+#define FIB_ITERATION 30
+
int main(void)
{
- int ii = 0, error = 0;
- int fib_result[41], fib_serial_result[41];
+ int ii = 0;
+ int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
printf("fib (%2d) = %10d\n", ii, fib (ii));
#else
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
fib_result[ii] = fib (ii);
- fib_serial_result[ii] = fib_serial (ii);
}
- for (ii = 0; ii <= 40; ii++)
+ fib_serial_result[0] = 0;
+ fib_serial_result[1] = 1;
+
+ for (ii = 2; ii <= FIB_ITERATION; ii++)
+ fib_serial_result[ii] = fib_serial_result[ii-1] + fib_serial_result[ii-2];
+
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
if (fib_result[ii] != fib_serial_result[ii])
- error = 1;
+ __builtin_abort ();
}
+
#endif
- return error;
+ return 0;
}
int fib_serial (int n)
@@ -40,8 +48,8 @@
return n;
else
{
- x = fib (n-1);
- y = fib (n-2);
+ x = fib_serial (n-1);
+ y = fib_serial (n-2);
return (x+y);
}
}
===================================================================
@@ -6,31 +6,39 @@
#include <stdio.h>
#endif
+#define FIB_ITERATION 30
+
int fib (int);
int fib_serial (int);
int main(void)
{
- int ii = 0, error = 0;
- int fib_result[41], fib_serial_result[41];
+ int ii = 0;
+ int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
printf("fib (%2d) = %10d\n", ii, fib (ii));
#else
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
fib_result[ii] = fib (ii);
- fib_serial_result[ii] = fib_serial (ii);
}
- for (ii = 0; ii <= 40; ii++)
+ fib_serial_result[0] = 0;
+ fib_serial_result[1] = 1;
+
+ for (ii = 2; ii <= FIB_ITERATION; ii++)
+ fib_serial_result[ii] = fib_serial_result[ii-1] + fib_serial_result[ii-2];
+
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
if (fib_result[ii] != fib_serial_result[ii])
- error = 1;
+ __builtin_abort ();
}
+
#endif
- return error;
+ return 0;
}
int fib_serial (int n)
@@ -40,8 +48,8 @@
return n;
else
{
- x = fib (n-1);
- y = fib (n-2);
+ x = fib_serial (n-1);
+ y = fib_serial (n-2);
return (x+y);
}
}
===================================================================
@@ -6,35 +6,43 @@
#include <stdio.h>
#endif
+#define FIB_ITERATION 30
+
void fib (int *, int);
int fib_serial (int);
int main(void)
{
int ii = 0, error = 0;
- int fib_result[41], fib_serial_result[41];
+ int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
int result = 0;
fib (&result, ii);
printf("fib (%2d) = %10d\n", ii, result);
}
#else
- for (ii = 0; ii <= 40; ii++)
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
fib (&fib_result[ii], ii);
- fib_serial_result[ii] = fib_serial (ii);
}
-
- for (ii = 0; ii <= 40; ii++)
+
+ fib_serial_result[0] = 0;
+ fib_serial_result[1] = 1;
+
+ for (ii = 2; ii <= FIB_ITERATION; ii++)
+ fib_serial_result[ii] = fib_serial_result[ii-1] + fib_serial_result[ii-2];
+
+ for (ii = 0; ii <= FIB_ITERATION; ii++)
{
if (fib_result[ii] != fib_serial_result[ii])
- error = 1;
+ __builtin_abort ();
}
#endif
- return error;
+
+ return 0;
}
int fib_serial (int n)
@@ -44,8 +52,8 @@
return n;
else
{
- fib (&x, n-1);
- fib (&y, n-2);
+ x = fib_serial (n-1);
+ y = fib_serial (n-2);
return (x+y);
}
}