Commit 28d31e40 by Balaji V. Iyer Committed by Balaji V. Iyer

fib.c: Reduced the iteration from 40 to 30.

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.

From-SVN: r204457
parent 3e89949e
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-06 Dodji Seketeli <dodji@redhat.com> 2013-11-06 Dodji Seketeli <dodji@redhat.com>
preprocessor/58580 preprocessor/58580
......
...@@ -9,41 +9,34 @@ ...@@ -9,41 +9,34 @@
int fib (int); int fib (int);
int fib_serial (int); int fib_serial (int);
#define FIB_ITERATION 30
int main(void) int main(void)
{ {
int ii = 0, error = 0; int ii = 0;
int fib_result[41], fib_serial_result[41]; int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO #if HAVE_IO
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
printf("fib (%2d) = %10d\n", ii, fib (ii)); printf("fib (%2d) = %10d\n", ii, fib (ii));
#else #else
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
{ {
fib_result[ii] = fib (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]) if (fib_result[ii] != fib_serial_result[ii])
error = 1; __builtin_abort ();
} }
#endif #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 fib(int n)
......
...@@ -9,28 +9,36 @@ ...@@ -9,28 +9,36 @@
int fib (int); int fib (int);
int fib_serial (int); int fib_serial (int);
#define FIB_ITERATION 30
int main(void) int main(void)
{ {
int ii = 0, error = 0; int ii = 0;
int fib_result[41], fib_serial_result[41]; int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO #if HAVE_IO
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
printf("fib (%2d) = %10d\n", ii, fib (ii)); printf("fib (%2d) = %10d\n", ii, fib (ii));
#else #else
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
{ {
fib_result[ii] = fib (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]) if (fib_result[ii] != fib_serial_result[ii])
error = 1; __builtin_abort ();
} }
#endif #endif
return error; return 0;
} }
int fib_serial (int n) int fib_serial (int n)
...@@ -40,8 +48,8 @@ int fib_serial (int n) ...@@ -40,8 +48,8 @@ int fib_serial (int n)
return n; return n;
else else
{ {
x = fib (n-1); x = fib_serial (n-1);
y = fib (n-2); y = fib_serial (n-2);
return (x+y); return (x+y);
} }
} }
......
...@@ -6,35 +6,43 @@ ...@@ -6,35 +6,43 @@
#include <stdio.h> #include <stdio.h>
#endif #endif
#define FIB_ITERATION 30
void fib (int *, int); void fib (int *, int);
int fib_serial (int); int fib_serial (int);
int main(void) int main(void)
{ {
int ii = 0, error = 0; 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 #if HAVE_IO
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
{ {
int result = 0; int result = 0;
fib (&result, ii); fib (&result, ii);
printf("fib (%2d) = %10d\n", ii, result); printf("fib (%2d) = %10d\n", ii, result);
} }
#else #else
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
{ {
fib (&fib_result[ii], 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]) if (fib_result[ii] != fib_serial_result[ii])
error = 1; __builtin_abort ();
} }
#endif #endif
return error;
return 0;
} }
int fib_serial (int n) int fib_serial (int n)
...@@ -44,8 +52,8 @@ int fib_serial (int n) ...@@ -44,8 +52,8 @@ int fib_serial (int n)
return n; return n;
else else
{ {
fib (&x, n-1); x = fib_serial (n-1);
fib (&y, n-2); y = fib_serial (n-2);
return (x+y); return (x+y);
} }
} }
......
...@@ -6,31 +6,39 @@ ...@@ -6,31 +6,39 @@
#include <stdio.h> #include <stdio.h>
#endif #endif
#define FIB_ITERATION 30
int fib (int); int fib (int);
int fib_serial (int); int fib_serial (int);
int main(void) int main(void)
{ {
int ii = 0, error = 0; int ii = 0;
int fib_result[41], fib_serial_result[41]; int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
#if HAVE_IO #if HAVE_IO
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
printf("fib (%2d) = %10d\n", ii, fib (ii)); printf("fib (%2d) = %10d\n", ii, fib (ii));
#else #else
for (ii = 0; ii <= 40; ii++) for (ii = 0; ii <= FIB_ITERATION; ii++)
{ {
fib_result[ii] = fib (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]) if (fib_result[ii] != fib_serial_result[ii])
error = 1; __builtin_abort ();
} }
#endif #endif
return error; return 0;
} }
int fib_serial (int n) int fib_serial (int n)
...@@ -40,8 +48,8 @@ int fib_serial (int n) ...@@ -40,8 +48,8 @@ int fib_serial (int n)
return n; return n;
else else
{ {
x = fib (n-1); x = fib_serial (n-1);
y = fib (n-2); y = fib_serial (n-2);
return (x+y); return (x+y);
} }
} }
......
...@@ -33,52 +33,23 @@ lappend ALWAYS_CFLAGS "-L${library_var}/libcilkrts/.libs" ...@@ -33,52 +33,23 @@ lappend ALWAYS_CFLAGS "-L${library_var}/libcilkrts/.libs"
dg-init 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]] " -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]] " -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]] " -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 -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 -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 -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 -O2 -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 -O3 -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 -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]] " -g -fcilkplus $ALWAYS_CFLAGS " " "
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]] " -O1 -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]] " -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]] " -O3 -g -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 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
dg-finish dg-finish
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment