[RISC-V] vector segment load/store width as a riscv_tune_param
Greg McGary
gkm@rivosinc.com
Mon Mar 24 22:57:41 GMT 2025
I am revisiting an effort to make the number of lanes for vector segment
load/store a tunable parameter.
A year ago, Robin added minimal and not-yet-tunable
common_vector_cost::segment_permute_[2-8]
Some issues & questions:
* Since this pertains only to segment load/store, why is the word "permute"
in the name?
* Nit: why are these defined as individual members rather than an array
referenced as segment_permute[NF-2]?
* I implemented tuning as a simple threshold for max NF where segment
load/store is profitable. Test cases for vector segment store pass, but
tests for load fail. I found that common_cost_vector::segment_permute is
properly honored in the store case, but not even inspected in the load
case. I will need to spelunk the autovec cost model. Clues are welcome.
G
More information about the Gcc
mailing list