[Patch] Tuning the strategy in SLP vectoriezer

Nadav Rotem nrotem at apple.com
Sat Aug 31 21:01:42 PDT 2013


Hi Hal, 

I agree that <3 x float> is really important for some codes, such as graphics. We disable non-power-of-two at the moment because the cost model is less accurate for these types. I think that the next step in the development of the SLP-vectorizer should be to work on non-power-of-two types.  In the meanwhile we may want to add a command-line flag to enable non-power-of-two for the brave people who are willing to experiment. 

Thanks,
Nadav

On Aug 31, 2013, at 8:09 AM, Hal Finkel <hfinkel at anl.gov> wrote:

> 
> ----- Yi Jiang <yjiang at apple.com> wrote:
>> Hi, 
>> 
>> In this patch we are trying to do two things:
>> 1) If the width of vectorization list candidate is bigger than vector reg width, we will break it down to fit the vector reg.
>> 2) We do not vectorize the width which is not power of two. 
> 
> Can you please explain the motivation for the power-of-two restriction? Vectorizing into 3xsomething is an important use case. If you must disable it because of poor codegen on some platforms, please provide a TTI function so that it can be enabled on targets that do a better job.
> 
> Thanks,
> Hal
> 
> 
> 
>> 
>> Here is the performance result of the change and we use ref input. Any comments and suggestions are appreciated. 
>> 
>> 
>> 
>> Performance Regressions - Execution Time	Δ	Previous	Current	σ	Δ (B)	σ (B)
>> External/SPEC/CINT95/134_perl/134_perl	2.76%	2.9533	3.0348	0.0024	0.00%	0.0024
>> 
>> 
>> Performance Improvements - Execution Time	Δ	Previous	Current	σ	Δ (B)	σ (B)
>> External/SPEC/CFP2000/177_mesa/177_mesa	-6.97%	21.1910	19.7130	0.0223	0.00%	0.0223
>> SingleSource/Benchmarks/BenchmarkGame/partialsums	-5.19%	0.2969	0.2815	-	0.00%	-
>> External/SPEC/CFP2000/188_ammp/188_ammp	-1.54%	88.2623	86.9050	0.0823	0.00%	0.0823
>> 
>> 
>> 
>> 
>>> 
>> 
> 
> -- 
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130831/324708d1/attachment.html>


More information about the llvm-commits mailing list