On Tue, Dec 17, 2013 at 11:38:48PM +0000, Iyer, Balaji V wrote: > > What I meant is > > if (((mask >> PRAGMA_CILK_CLAUSE_VECTORLENGTH) & 1) != 0) > > is_cilk_simd_fn = true; > > (note, for 32-bit HWI targets, omp_clause_mask is a class and not all > > arithmetic is actually supported on it, so better limit yourself to forms > > used > > elsewhere already). > > > > I have a better idea.. The where string, if it is "SIMD-enabled functions > attribute" will indicate that it is a Cilk Plus SIMD-enabled function. > So, if I do a check for that, then I don't have to do any of this mask > anding. > > This is what I am talking about: > > if (where && !strcmp (where, "SIMD-enabled functions attribute")) > is_cilk_simd_fn = false;
But this is more expensive and the string really is meant for diagnostics messages, so I'd strongly prefer the above mask check instead. Ok with that change. > From what I understood, all the #pragma omp declare simd work are pushed into > trunk right? Yes, though I still want to optimize it a little bit (generate thunks and/or aliases when desirable/possible), but that only affects exported entry-points for OpenMP, for Cilk+ the code matches more the Intel ABI paper and generates only one ISA variant (and expects to parse processor clause for other ISA variants), rather than emitting all 3. Jakub