Hi Jakub, > The following patch handles the last yet unsupported scan case, > composite #pragma omp {,parallel }for simd ... reduction(inscan, ...) ... > where we want to both parallelize and vectorize; in the first worksharing > loop use normal scan support we have for > #pragma omp simd ... reduction(inscan, ...) ... > and just store those into the per-thread array, then do the normal > worksharing loop up/down-sweep and then in the second worksharing loop > use a simple #pragma omp simd that just combines the two partial sums > and does the user's scan phase.
some of the new testcases come up as UNRESOLVED on sparc-sun-solaris2.11, both 32 and 64-bit: UNRESOLVED: libgomp.c++/scan-13.C scan-tree-dump-times vect "vectorized [2-6] loops" 2 UNRESOLVED: libgomp.c++/scan-16.C scan-tree-dump-times vect "vectorized [2-6] loops" 2 The log shows libgomp.c++/scan-13.C: dump file does not exist libgomp.c++/scan-16.C: dump file does not exist There are similar gcc-testreports results for mips64el-unknown-linux-gnu, ia64-suse-linux-gnu, m68k-unknown-linux-gnu, powerpc-ibm-aix7.2.0.0, hppa-unknown-linux-gnu. While I don't see such failures on i386-pc-solaris2.11, gcc-testresults shows a couple of cases where all libgomp.c++/scan-1[0-6].C are unresolved on x86_64-pc-linux-gnu. Something fishy seems to be going on here. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University