From: Robin Dapp <[email protected]> This "series" could just be one patch but I figured it's easier to see what's going on as is. The whole point of it is to get back vect_gather_load and vect_scatter store as cost kinds. On top, I classified strided loads/stores as gather/scatter so targets can cost them via the number of elements of their (maybe punned) mode.
If I haven't overlooked anything, targets other than aarch64 and riscv don't need changes. Bootstrapped and regtested on x86, power10, and aarch64. Regtested on riscv64. Robin Dapp (3): vect: Map strided load/store costs to gather/scatter. riscv: Add simple gather/scatter costs. aarch64: Adjust gather/scatter costing. gcc/config/aarch64/aarch64.cc | 30 ++++++++----------- gcc/config/riscv/riscv-vector-costs.cc | 7 +++++ gcc/targhooks.cc | 4 +++ .../gcc.target/i386/avx512vl-pr88464-11.c | 2 +- gcc/tree-vect-stmts.cc | 27 +++++------------ 5 files changed, 32 insertions(+), 38 deletions(-) -- 2.56.0
