[Patch] Tuning the strategy in SLP vectoriezer

Hal Finkel hfinkel at anl.gov
Tue Sep 3 15:41:22 PDT 2013


----- Original Message -----
> 
> Hi Hal,
> 
> 
> I agree that <3 x float> is really important for some codes, such as
> graphics. 

Also, FWIW, I'll mention that the x,y,z thing appears quite often in science simulation codes as well.

 -Hal

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

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




More information about the llvm-commits mailing list