On 10/15/24 8:56 AM, Patrick O'Neill wrote:
From: Greg McGary <g...@rivosinc.com>
Add option -m(no-)autovec-segment to enable/disable autovectorizer
from emitting vector segment load/store instructions. This is useful for
performance experiments.
gcc/ChangeLog:
* config/riscv/autovec.md (vec_mask_len_load_lanes,
vec_mask_len_store_lanes):
Predicate with TARGET_VECTOR_AUTOVEC_SEGMENT
* gcc/config/riscv/riscv-opts.h (TARGET_VECTOR_AUTOVEC_SEGMENT): New
macro.
* gcc/config/riscv/riscv.opt (-m(no-)autovec-segment): New option.
* testsuite/gcc.target/riscv/rvv/autovec/struct/*_noseg*.c,
testsuite/gcc.target/riscv/rvv/autovec/no-segment.c: New tests.
---
Relying on CI for testing. Please wait for that testing to complete before
committing.
Quick question. We did something like this to aid internal
testing/bringup. Our variant adjusted a ton of the mode iterators in
vector-iterators.md and the TUPLE_ENTRY stuff in riscv-vector-switch.def.
Robin, do you remember why you had to adjust all the iterators? Was it
that LTO issue we had with the early variants, or something else?
jeff