<div dir="ltr"><div><div>Hi All,<br><br></div><div>Continuing (and forking :-)) the discussion started by Renato (<a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035162.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035162.html</a>), what is the community's opinion on introducing pragma simd support in clang?<br>
<br></div><div>One possibility is to commit "#pragma omp simd" implementation, which is a part of OpenMP 4 standard (<a href="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf</a>, section 2.8). I see two downsides here: a) "omp" prefix (which might be confusing to some) and b) necessity to add -fopenmp to enable support (this also automatically links OpenMP RTL, which has nothing to do with this particular pragma).<br>
<br></div><div>Another possibility is to drop omp prefix -- this removes the downsides mentioned above (and yes, makes the pragma similar to what is proposed in CilkPlus -- not necessarily a bad thing in itself).<br><br></div>
<div>IMHO, both alternatives provide a useful, standards-based tool to control vectorization in clang / llvm compiler -- while also advancing clang's compatibility with existing standards.<br></div><div><br></div><div>
We (Intel) can contribute all required code -- implementation is ready, just needs some massaging before submission to clang trunk.<br></div><div><br></div><div>Opinions?<br></div><div><br></div>Yours,<br>Andrey<br>========<br>
</div>Software Engineer<br>Intel<br><br></div>