The first patch makes SLP paths unreachable and the second one removes those 
entirely.  The third patch does the actual strided-load work.

Bootstrapped and regtested on x86 and aarch64.
Regtested on rv64gcv_zvl512b.

Robin Dapp (3):
  vect: Make non-SLP paths unreachable in strided slp/elementwise.
  vect: Remove non-SLP paths in strided slp/elementwise.
  vect: Use strided loads for VMAT_STRIDED_SLP.

 gcc/internal-fn.cc                            |  21 ++
 gcc/internal-fn.h                             |   2 +
 .../gcc.target/riscv/rvv/autovec/pr118019-2.c |  51 ++++
 gcc/tree-vect-stmts.cc                        | 219 ++++++++++++++----
 4 files changed, 248 insertions(+), 45 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/pr118019-2.c

-- 
2.49.0

Reply via email to