[LLVMdev] Enabling the SLP vectorizer by default for -O3

Nadav Rotem nrotem at apple.com
Sun Jul 14 01:30:33 CDT 2013


Hi, 

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. 

— Performance Gains — 
SingleSource/Benchmarks/Misc/matmul_f64_4x4 -53.68%
MultiSource/Benchmarks/Olden/power/power  -18.55%
MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt -14.71%
SingleSource/Benchmarks/Misc/flops-6  -11.02%
SingleSource/Benchmarks/Misc/flops-5  -10.03%
MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt -8.37%
External/Nurbs/nurbs  -7.98%
SingleSource/Benchmarks/Misc/pi -7.29%
External/SPEC/CINT2000/252_eon/252_eon  -5.78%
External/SPEC/CFP2006/444_namd/444_namd -4.52%
External/SPEC/CFP2000/188_ammp/188_ammp -4.45%
MultiSource/Applications/SIBsim4/SIBsim4  -3.58%
MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl -3.52%
SingleSource/Benchmarks/Misc-C++/Large/sphereflake  -2.96%
MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl -2.75%
MultiSource/Benchmarks/VersaBench/beamformer/beamformer -2.70%
MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl -1.95%
SingleSource/Benchmarks/Misc/flops  -1.89%
SingleSource/Benchmarks/Misc/oourafft -1.71%
MultiSource/Benchmarks/mafft/pairlocalalign -1.16%
External/SPEC/CFP2006/447_dealII/447_dealII -1.06%

— Regressions — 
MultiSource/Benchmarks/Olden/bh/bh  22.47%
MultiSource/Benchmarks/Bullet/bullet  7.31%
SingleSource/Benchmarks/Misc-C++-EH/spirit  5.68%
SingleSource/Benchmarks/SmallPT/smallpt 3.91%

Thanks,
Nadav




More information about the LLVMdev mailing list