On Tue, Nov 05, 2013 at 05:04:21PM +0000, Iyer, Balaji V wrote: > --- gcc.dg/cilk-plus/cilk-plus.exp (revision 204396) > +++ gcc.dg/cilk-plus/cilk-plus.exp (working copy) > 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]] > " -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " " > +dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] > " -O2 -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]] > " -fcilkplus -g -O2 -std=c99 $ALWAYS_CFLAGS" " " > dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] > " -O3 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
That is still 12 torture iterations, which is IMHO just too much. Why do you think testing would be insufficient say for: 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 -g -fcilkplus $ALWAYS_CFLAGS" " " dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -flto -g -fcilkplus $ALWAYS_CFLAGS" " " only? Then both -std=c99 and non-std=c99 is tested, -g and -g0, and the major optimization levels plus -O2 -ftree-vectorize. > --- c-c++-common/cilk-plus/CK/fib.c (revision 204396) > +++ c-c++-common/cilk-plus/CK/fib.c (working copy) > @@ -9,27 +9,31 @@ > int fib (int); > int fib_serial (int); > > +#define FIB_ITERATION 30 As I said, if you want to use FIB_ITERATION 40 for the GCC_RUN_EXPENSIVE_TESTS=1, this would be a matter of: /* { dg-additional-options "-DFIB_ITERATION=40" { target run_expensive_tests } } */ #ifndef FIB_ITERATION #define FIB_ITERATION 30 #endif > + for (ii = 0; ii <= 30; ii++) You aren't using FIB_ITERATION above (etc.). > { > fib_result[ii] = fib (ii); What is the point of testing separately fib (0), fib (1), up to fib (30), when fib (30) already tests all of them (some of them many times)? > fib_serial_result[ii] = fib_serial (ii); And, do you really need to test this at runtime? If you want to do it only to verify the fib (FIB_ITERATION) result, then at least do: 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 - 2] + fib_serial_result[ii - 1]; if (fib (FIB_ITERATION) != fib_serial_result[FIB_ITERATION]) __builtin_abort (); (still not fastest, but at least not soo slow). Jakub