[llvm] [AArch64][Vectorizer] Enable scalable factor-3 interleaving (PR #217370)

Harry Ramsey via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 03:02:13 PDT 2026


Harry-Ramsey wrote:

> Have you tried to build the llvm-test-suite with this patch?

Sorry for the time it took, these are my results:
Main:
```
Program                                       exec_time
benchVecWi...meChecks4PointersDBeforeA/1000   980145.30
BENCHMARK_...th_cond_arith_autovec_int64_t_   888018.27
BENCHMARK_...with_cond_arith_novec_int64_t_   883689.19
BENCHMARK_...th_cond_arith_autovec_int32_t_   610608.51
BENCHMARK_...with_cond_arith_novec_int32_t_   606141.32
benchVecWi...tersAllDisjointDecreasing/1000   595774.97
benchVecWi...imeChecks4PointersDAfterA/1000   595653.85
benchVecWi...tersAllDisjointIncreasing/1000   595627.58
benchVecWi...meChecks4PointersDEqualsA/1000   595492.97
BENCHMARK_...ested_cond_load_novec_int64_t_   461966.70
BENCHMARK_...ted_cond_load_autovec_int64_t_   451090.56
BENCHMARK_...ted_cond_load_autovec_int32_t_   364173.16
BENCHMARK_...ested_cond_load_novec_int32_t_   342609.56
BENCHMARK_...e_csa_cond_load_novec_int64_t_   294531.31
BENCHMARK_...th_cond_arith_autovec_int64_t_   290828.41
```
Factor 3 Enabled:
```
Program                                       exec_time
benchVecWi...meChecks4PointersDBeforeA/1000   980423.14
BENCHMARK_...th_cond_arith_autovec_int64_t_   888404.81
BENCHMARK_...with_cond_arith_novec_int64_t_   883983.45
BENCHMARK_...th_cond_arith_autovec_int32_t_   612114.52
BENCHMARK_...with_cond_arith_novec_int32_t_   605579.31
benchVecWi...tersAllDisjointIncreasing/1000   595774.88
benchVecWi...meChecks4PointersDEqualsA/1000   595742.74
benchVecWi...tersAllDisjointDecreasing/1000   595574.73
benchVecWi...imeChecks4PointersDAfterA/1000   595531.43
BENCHMARK_...ested_cond_load_novec_int64_t_   461773.29
BENCHMARK_...ted_cond_load_autovec_int64_t_   454689.76
BENCHMARK_...ted_cond_load_autovec_int32_t_   359467.56
BENCHMARK_...ested_cond_load_novec_int32_t_   356229.26
BENCHMARK_...th_cond_arith_autovec_int64_t_   290178.74
BENCHMARK_...csa_cond_load_autovec_int64_t_   289732.20
```
Sorry for the formatting, the tool kept reporting 0% difference. There are some increases with my patch but hopefully nothing too drastic.

https://github.com/llvm/llvm-project/pull/217370


More information about the llvm-commits mailing list