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