[Patch] Tuning the strategy in SLP vectoriezer

Hal Finkel hfinkel at anl.gov
Sun Sep 1 04:18:32 PDT 2013


----- Nadav Rotem <nrotem at apple.com> wrote:
> 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. 

Alright, sounds good. Thanks!

 -Hal


> 
> 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
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-commits mailing list