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