<div dir="ltr">Cool!<div><br></div><div>What changes have you seen to generated code size?</div><div><br></div><div>I'll take it for a spin on our benchmarks.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Sat, Jul 13, 2013 at 11:30 PM, 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">
Hi,<br>
<br>
LLVM’s SLP-vectorizer is a new pass that combines similar independent instructions in a straight-line code.  It is currently not enabled by default, and people who want to experiment with it can use the clang command line flag “-fslp-vectorize”.  I ran LLVM’s test suite with and without the SLP vectorizer on a Sandybridge mac (using SSE4, w/o AVX).  Based on my performance measurements (below) I would like to enable the SLP-vectorizer by default on -O3.  I would like to hear what others in the community think about this and give other people the opportunity to perform their own performance measurements.<br>

<br>
— Performance Gains —<br>
SingleSource/Benchmarks/Misc/matmul_f64_4x4 -53.68%<br>
MultiSource/Benchmarks/Olden/power/power  -18.55%<br>
MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt -14.71%<br>
SingleSource/Benchmarks/Misc/flops-6  -11.02%<br>
SingleSource/Benchmarks/Misc/flops-5  -10.03%<br>
MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt -8.37%<br>
External/Nurbs/nurbs  -7.98%<br>
SingleSource/Benchmarks/Misc/pi -7.29%<br>
External/SPEC/CINT2000/252_eon/252_eon  -5.78%<br>
External/SPEC/CFP2006/444_namd/444_namd -4.52%<br>
External/SPEC/CFP2000/188_ammp/188_ammp -4.45%<br>
MultiSource/Applications/SIBsim4/SIBsim4  -3.58%<br>
MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl -3.52%<br>
SingleSource/Benchmarks/Misc-C++/Large/sphereflake  -2.96%<br>
MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl -2.75%<br>
MultiSource/Benchmarks/VersaBench/beamformer/beamformer -2.70%<br>
MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl -1.95%<br>
SingleSource/Benchmarks/Misc/flops  -1.89%<br>
SingleSource/Benchmarks/Misc/oourafft -1.71%<br>
MultiSource/Benchmarks/mafft/pairlocalalign -1.16%<br>
External/SPEC/CFP2006/447_dealII/447_dealII -1.06%<br>
<br>
— Regressions —<br>
MultiSource/Benchmarks/Olden/bh/bh  22.47%<br>
MultiSource/Benchmarks/Bullet/bullet  7.31%<br>
SingleSource/Benchmarks/Misc-C++-EH/spirit  5.68%<br>
SingleSource/Benchmarks/SmallPT/smallpt 3.91%<br>
<br>
Thanks,<br>
Nadav<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>