[llvm] [RISCV] Don't vectorize for loops with small trip count (PR #132176)
Pengcheng Wang via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 25 23:49:01 PDT 2025
wangpc-pp wrote:
Statistics on llvm-test-suite:
```
Tests: 2074
Metric: loop-vectorize.LoopsVectorized
Program loop-vectorize.LoopsVectorized
0 3 5 7 8 10 12 14 16 32 diff
SingleSour...nchmarks/Adobe-C++/loop_unroll 624.00 608.00 592.00 576.00 568.00 552.00 536.00 520.00 512.00 512.00 112.00
MultiSourc.../Applications/JM/lencod/lencod 243.00 243.00 241.00 241.00 235.00 233.00 227.00 227.00 219.00 219.00 24.00
External/S...te/526.blender_r/526.blender_r 1595.00 1587.00 1576.00 1576.00 1576.00 1576.00 1576.00 1575.00 1574.00 1574.00 21.00
MultiSourc...ch/consumer-jpeg/consumer-jpeg 80.00 80.00 79.00 79.00 72.00 72.00 72.00 72.00 72.00 72.00 8.00
MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg 76.00 76.00 75.00 75.00 68.00 68.00 68.00 68.00 68.00 68.00 8.00
External/S...te/538.imagick_r/538.imagick_r 447.00 443.00 443.00 440.00 440.00 440.00 440.00 440.00 440.00 440.00 7.00
External/S...ed/638.imagick_s/638.imagick_s 447.00 443.00 443.00 440.00 440.00 440.00 440.00 440.00 440.00 440.00 7.00
MultiSourc...e/Applications/ClamAV/clamscan 132.00 132.00 132.00 132.00 131.00 127.00 127.00 127.00 126.00 126.00 6.00
MultiSourc.../Applications/JM/ldecod/ldecod 94.00 94.00 91.00 89.00 89.00 89.00 89.00 89.00 89.00 89.00 5.00
MultiSourc...Benchmarks/7zip/7zip-benchmark 365.00 365.00 364.00 362.00 361.00 361.00 361.00 361.00 361.00 361.00 4.00
External/S...2017rate/525.x264_r/525.x264_r 99.00 99.00 99.00 99.00 96.00 96.00 96.00 96.00 96.00 96.00 3.00
MultiSourc...nch/mpeg2/mpeg2dec/mpeg2decode 25.00 25.00 25.00 25.00 22.00 22.00 22.00 22.00 22.00 22.00 3.00
External/S...31.deepsjeng_s/631.deepsjeng_s 31.00 31.00 31.00 28.00 28.00 28.00 28.00 28.00 28.00 28.00 3.00
External/S...017speed/625.x264_s/625.x264_s 99.00 99.00 99.00 99.00 96.00 96.00 96.00 96.00 96.00 96.00 3.00
External/S...rate/510.parest_r/510.parest_r 5020.00 5019.00 5019.00 5019.00 5019.00 5019.00 5019.00 5019.00 5017.00 5017.00 3.00
loop-vectorize.LoopsVectorized
run 0 3 5 7 8 10 12 14 16 32 diff
count 260.000000 258.000000 258.000000 258.000000 258.000000 257.000000 257.000000 257.000000 257.000000 257.000000 2074.000000
mean 131.126923 131.992248 131.837209 131.697674 131.534884 131.953307 131.859922 131.793774 131.704280 131.704280 0.116683
std 361.168592 362.102625 361.845051 361.754977 361.725201 362.264166 362.188244 362.104299 361.945748 361.945748 2.592222
min 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000
25% 3.750000 4.000000 4.000000 4.000000 4.000000 4.000000 4.000000 4.000000 4.000000 4.000000 0.000000
50% 12.000000 12.500000 12.500000 12.500000 12.500000 13.000000 13.000000 13.000000 13.000000 13.000000 0.000000
75% 132.250000 132.750000 132.750000 132.750000 132.500000 133.000000 133.000000 133.000000 133.000000 133.000000 0.000000
max 5020.000000 5019.000000 5019.000000 5019.000000 5019.000000 5019.000000 5019.000000 5019.000000 5017.000000 5017.000000 112.000000
```
5 seems reasonable.
https://github.com/llvm/llvm-project/pull/132176
More information about the llvm-commits
mailing list