[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