[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