On 28 May 2015 at 13:32, Christophe Lyon <christophe.l...@linaro.org> wrote: > On 28 May 2015 at 12:22, Alan Lawrence <alan.lawre...@arm.com> wrote: >> Christophe Lyon wrote: >>> >>> On 26 May 2015 at 18:25, Alan Lawrence <alan.lawre...@arm.com> wrote: >>>> >>>> I don't see this symptom - I am able to execute such subsets with either >>>> my, >>>> or Sandra's, advsimd-intrinsics.exp. >>> >>> >>> I didn't try to run with your patch, I thought it was an oversight of >>> yours. >>> >>> Sorry, indeed I've just checked that gcc-dg-runtest includes the filter. >>> >>>> Is it that you have to check runtest_file_p because you are setting >>>> gcc_parallel_test_enable to 0? >>>> >>>> I'm doing more testing now, but I think I can drop my >>>> advsimd-intrinsics.exp >>>> changes altogether; I'll post an updated patch series shortly. >>>> >>>> In the meantime I'm curious as to why you found the >>>> gcc_parallel_test_enable >>>> necessary? (And is it safe to reset it to 1 afterwards, rather than to a >>>> saved value?) >>> >>> See https://gcc.gnu.org/ml/gcc/2014-10/msg00081.html >> >> >> So after working through the differences between Sandra's and my patch, I >> find the existing advsimd-intrinsics.exp achieves pretty much the same >> thing, and preserves the same list of test variants (e.g. the -Og -g from >> set-torture-options which I had removed). >> >> However, I've tried testing advsimd-intrinsics.exp (both the whole thing, >> and individual tests using RUNTESTFLAGS) with and without this hunk: >> >> @@ -57,20 +57,7 @@ set-torture-options $C_TORTURE_OPTIONS {{}} >> $LTO_TORTURE_OPTI >> set additional_flags [add_options_for_arm_neon ""] >> >> # Main loop. >> -foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { >> - # If we're only testing specific files and this isn't one of them, skip >> it. >> - if ![runtest_file_p $runtests $src] then { >> - continue >> - } >> - >> - # runtest_file_p is already run above, and the code below can run >> - # runtest_file_p again, make sure everything for this test is >> - # performed if the above runtest_file_p decided this runtest >> - # instance should execute the test >> - gcc_parallel_test_enable 0 >> - gcc-dg-runtest $src "" $additional_flags >> - gcc_parallel_test_enable 1 >> -} >> +gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" >> ${additional_flags} >> >> and find exactly the same tests are run and pass. My hypothesis is thus that >> you only need the explicit loop, manual checking of runtest_file_p, and >> gcc_parallel_test_enable, in order to do *both* c-torture-execute *and* >> gcc-dg-runtest; since we are now only doing the latter, this is unnecessary. >> Does that make sense? (If you agree, I'll propose that as a standalone >> cleanup patch.) >> > > Indeed I think you are right. Since we no longer call > c-torture-execute, we no longer need to call runtest_file_p here. > Having only one remaining call to runtest_file_p in gcc-dg-runtest is > parallel-safe. Thanks for the cleanup. >
So in fact, except for the comment about '-w' it seems you initial patch was mostly OK, right? > Christophe. > >> Cheers, Alan >>