<div dir="ltr">Thank you all for the help.<br><br>Here is my plan of action:<div><ol style="color:rgb(51,51,51);font-family:'Open Sans',sans-serif;font-size:13px;line-height:19px"><li>Read up on NEON and AltiVec</li>
<li>Write ((small) parts of) arm_neon.h using AltiVec intrinsics</li><li>Write a function pass to convert simple (vector arithmetic) NEON C code to PowerPC AltiVec assembly code and submit for review.</li><li>Add NEON intrinsics that map to multiple AltiVec instructions</li>
<li>Add patterns involving surrounding instructions in order to support single complex AltiVec instructions</li><li>(not necessarily after 4 and 5, but maybe during): Try producing C code with AltiVec intrinsics as output, when given C code with NEON intrinsics.</li>
</ol><div><font color="#333333" face="Open Sans, sans-serif"><span style="line-height:19px">Things to be aware of:<br></span></font></div></div><div><ol style="color:rgb(51,51,51);font-family:'Open Sans',sans-serif;font-size:13px;line-height:19px">
<li>Endian-ness</li><li>Importance of tests and documentation</li></ol><div><font color="#333333" face="Open Sans, sans-serif"><span style="line-height:19px">I will update you once I have some progress.<br><br>Cheers,</span></font></div>
</div><div><font color="#333333" face="Open Sans, sans-serif"><span style="line-height:19px"> - Stan</span></font></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 2 October 2013 13:45, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im">On 2 October 2013 13:36, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>
<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><span style="color:rgb(34,34,34)">You can certainly do this in terms of an LLVM transformation, but I think that creating some kind of header file would be, at least, where I'd start prototyping this.</span></div>

</blockquote><div></div></div><br></div></div><div class="gmail_extra">Yes, this is a good approach to understanding the problem. But I wouldn't use this as a final solution, as it scales quadratically with the number of supported SIMD architectures, including all variations (like NEON v7, v8 and CPU dependent choices).</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">cheers,</div><div class="gmail_extra">--renato</div></div>
</blockquote></div><br></div>