<div dir="ltr">Hello LLVM Devs,<div><br></div><div>I am starting my PhD on Automatic Parallelization for DSP and want to play with some ARM NEON intrinsics for a start. I spent the last three days trying to compile a version of LLVM that would allow me to compile sources that contain these intrinsics, but with no success.<br>
<br>In the process I found out that clang doesn't support NEON (as per <a href="http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html">http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html</a>), but there has been at least some effort in adding it (<a href="https://www.codeaurora.org/patches/quic/llvm/32040/clang-Initial-Neon-support.patch">https://www.codeaurora.org/patches/quic/llvm/32040/clang-Initial-Neon-support.patch</a>).<br>
<br>I also tried compiling LLVM 2.9 + llvm-gcc but that failed too many times and I gave up. After some discussions with colleagues (notably Alberto Magni, who added OpenCL support to clang some time ago <a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-November/012293.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-November/012293.html</a>) my current plan is to implement the ARM NEON intrinsics as a shared library, using attributes as in:<br>
<br>typedef float float4 __attribute__((ext_vector_type(4)));</div><div><br></div><div>or if that doesn't work, I will try to implement the intrinsics in clang itself (not sure this is the best way of doing it).<br><br>
Ideally, I want to be able to compile C code that includes ARM NEON intrinsics to other targets (TI processors, e.g.).<br><br>Suggestions, comments, and recommendations are very welcome.<br><br>Kind regards,</div><div> - Stan<br>
<br clear="all"><div><br></div>-- <br><div dir="ltr"><div>Stan Manilov<br></div>1st year Ph.D. student<br><div><div><div>2013 Graduate in B.Sc. Computer Science and Mathematics<br></div><div>The University of Edinburgh<br>
</div></div></div></div></div></div>