Hi Eli,<br><br><div class="gmail_quote">On Wed, Nov 14, 2012 at 5:58 PM, Eli Friedman <span dir="ltr"><<a href="mailto:eli.friedman@gmail.com" target="_blank">eli.friedman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Tue, Nov 13, 2012 at 11:24 PM, Pete Couperus <<a href="mailto:pjcoup@gmail.com">pjcoup@gmail.com</a>> wrote:<br>
> Hello,<br>
><br>
> Lowering "fptrunc <2 x double> %a to <2 x float>" is broken on ARM with<br>
> NEON.<br>
> This patch custom lowers this conversion using two single element vcvt's.<br>
> This fixes the following PRs.<br>
><br>
> <a href="http://llvm.org/bugs/show_bug.cgi?id=12540" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=12540</a><br>
> <a href="http://llvm.org/bugs/show_bug.cgi?id=13964" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=13964</a><br>
><br>
> Please review!<br>
> Thanks.<br>
<br>
</div></div>Does "setOperationAction(ISD::FP_ROUND, MVT::v2f32, Expand)" not do<br>
the right thing here?<br>
<span class="HOEnZb"><font color="#888888"><br>
-Eli<br>
</font></span></blockquote></div><br>No, setting FP_ROUND to expand for v2f32 gets an assert in a different place:<br><br>llc: /home/peter/llvm/llvm-svn/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:840: void <anonymous namespace>::SelectionDAGLegalize::LegalizeStoreOps(llvm::SDNode *): Assertion `!StVT.isVector() && "Vector Stores are handled in LegalizeVectorOps"' failed.<br>
<br>Pete<br><br>