> > I guess it depends on what the Cilk+ spec says about reduction clause, and > > from what I saw it is just too vague. > > http://software.intel.com/sites/products/documentation/doclib/stdxe/2013 > > /composerxe/compiler/cpp-win/index.htm#GUID-44B505B6-01AF-4865- > > 8DF4-AF851F51DDA1.htm > > Just an FYI, this is the language specification: > https://www.cilkplus.org/sites/default/files/open_specifications/Intel_Cilk_plus_lang_spec_1.2.htm
That documents reduction clause by reference to OpenMP 4.0 spec. The thing is that #pragma omp declare reduction isn't part of the Cilk+ spec, so the question is if it is ok to combine #pragma omp declare reduction (foo: int: omp_out += omp_in) from OpenMP 4.0 together with Cilk+ #pragma simd reduction(foo: var) Perhaps it is, at which point Aldy doesn't have anything to do there. Jakub