<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 3, 2013, at 3:04 PM, Renato Golin <<a href="mailto:renato.golin@linaro.org">renato.golin@linaro.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 3 January 2013 22:09, Nadav Rotem <span dir="ltr"><<a href="mailto:nrotem@apple.com" target="_blank">nrotem@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div class="im">The loop vectorizer is now enabled by default. <br></div></div>
</blockquote></div><br></div><div class="gmail_extra" style="">I thought that was just a temporary arrangement to get the feel for it, not to actually have it on all the time (next release). Is it just for -O3 or lower too?</div></div></blockquote><div><br></div><div>The plan it to enable it by default for the 3.3 release. Until that point we can enable and disable it depending on the situation. It is a good idea to enable it as soon as possible in order to catch performance regressions as soon as possible. The vectorizer is currently enabled by default on O2 and O3, and it runs with reduced functionality on Os.</div><br><blockquote type="cite"><div dir="ltr">
<div class="gmail_extra" style=""><br></div><div class="gmail_extra" style="">This can cause problems, for instance on ARMv7, the default is that NEON is present, but Tegra2 doesn't have NEON, only VFP. It means an optimizing compilation that used to work on it will fail, unless you specify no NEON or no vectorization explicitly, no?</div></div></blockquote><div><br></div><div>At the moment ARM does not have a good cost model. It relies on the default implementation which uses the TargetLoweing information to collect information about the target. In theory things should just work, because TLI should know about the vector situation. </div><div><br></div><div>I plan to start working on the ARM cost model early next week, and I hope that the ARM folks will help me with this.</div><br><blockquote type="cite"><div dir="ltr">
<div class="gmail_extra" style=""><br></div><div class="gmail_extra" style="">I'd prefer if -vectorization had to be passed explicitly to get it done on production releases of LLVM or something else (-O4 or -OV, for example).</div></div></blockquote><div><br></div><div>Clang has the '-fvectorize' and '-fno-vectorize'.  </div><br><blockquote type="cite"><div dir="ltr">
<div class="gmail_extra" style=""><br></div><div class="gmail_extra" style="">cheers,</div><div class="gmail_extra" style="">--renato</div></div>
</blockquote></div><br></body></html>