<div dir="ltr">This sounds good to me. Enabling this by default has been mentioned a few times already. I've tested this feature in the past on AArch64 (Kryo and Falkor) and found it to be beneficial for mixed-type loops. Thanks!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 18, 2017 at 6:30 PM, Dehao Chen via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.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">Hi,<div><br></div><div>I'm proposing to make vectorizer-maximize-<wbr>bandwidth on by default for loop vectorizer because it should generally help performance.</div><div><br></div><div>I've tested the performance impact on Intel sandybridge machine with speccpu benchmarks:</div><div><br></div><div><div> Benchmark Base:Reference (1) </div><div>------------------------------<wbr>-------------------------</div><div>spec/2006/fp/C++/444.namd 26.84 -0.31%</div><div>spec/2006/fp/C++/447.dealII 46.19 +0.89%</div><div>spec/2006/fp/C++/450.soplex 42.92 -0.44%</div><div>spec/2006/fp/C++/453.povray 38.57 -2.25%</div><div>spec/2006/fp/C/433.milc 24.54 -0.76%</div><div>spec/2006/fp/C/470.lbm 41.08 +0.26%</div><div>spec/2006/fp/C/482.sphinx3 47.58 -0.99%</div><div>spec/2006/int/C++/471.omnetpp 22.06 +1.87%</div><div>spec/2006/int/C++/473.astar 22.65 -0.12%</div><div>spec/2006/int/C++/483.<wbr>xalancbmk 33.69 +4.97%</div><div>spec/2006/int/C/400.perlbench 33.43 +1.70%</div><div>spec/2006/int/C/401.bzip2 23.02 -0.19%</div><div>spec/2006/int/C/403.gcc 32.57 -0.43%</div><div>spec/2006/int/C/429.mcf 40.35 +0.27%</div><div>spec/2006/int/C/445.gobmk 26.96 +0.06%</div><div>spec/2006/int/C/456.hmmer 24.4 +0.19%</div><div>spec/2006/int/C/458.sjeng 27.91 -0.08%</div><div>spec/2006/int/C/462.libquantum 57.47 -0.20%</div><div>spec/2006/int/C/464.h264ref 46.52 +1.35%</div><div><br></div><div>geometric mean +0.29%</div><div><br></div><div> Scores are benchmark specific.</div></div><div><br></div><div>We do have regression on 453.povray, but it's due to secondary effects as all hot functions are the same. I've also tested the code size impact, it does not change for tested speccpu benchmarks.</div><div><br></div><div>I've prepared <a href="https://reviews.llvm.org/D33341" rel="noreferrer" style="font-size:12.8px" target="_blank">https://reviews.llvm.<wbr>org/D33341</a> to do this.</div><div><br></div><div>I really appreciate if the community can help test the performance impact of this change on other architectures so that we can decide if this should go target-dependent.</div><div><br></div><div>Any comments/concerns?</div><div><br></div><div>Thanks,</div><div>Dehao</div></div>
<br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>