<div dir="ltr">On 7 June 2013 08:48, Tobias Grosser <span dir="ltr"><<a href="mailto:tobias@grosser.es" target="_blank">tobias@grosser.es</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 class="im"><span style="color:rgb(34,34,34)">When to set which subtarget feature is a policy decision, where I honestly don't have any opinion on for clang. The best is probably to mirror the gcc behavior on linux targets.</span></div>
</blockquote><div><br></div><div style>Not really, since GCC has no special behaviour for Darwin, AFAIK.</div><div style><br></div><div style>My change will only generate SP-FP on NEON for A5 and A8 and only if it's Darwin or UnsafeMath is on, which seems not to be the case for you, so I don't think the problem is in that area. It's possible that some passes are not consulting that flag when generating NEON SP-FP. If that's true, this is definitely a bug.</div>
<div style><br></div><div style>When I changed that, for VMUL.f32, it worked (ie. generated VFP instruction), but it might not be taking the same path your code is.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)">I just looked again at the +neonfp flag. Compiling with and without +neonfp flag seems to only affect scalar types in the attached test case. If e.g. the LLVM vectorizer introduces vector instructions on LLVM-IR level floating point vectors still yield NEON assembly even if compiled with "-mattr=+neon,-neonfp". Is this expected?</span></div>
</blockquote><div></div></div><br></div><div class="gmail_extra" style>No, vectorizers should honour FP contracts. This is probably a bug, too.</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style>
Please, fill both bugs on bugzilla, attaching the relevant IR to each one and a way to reproduce, and I'll have a look at them.</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style>cheers,</div>
<div class="gmail_extra" style>--renato</div></div>