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

Reply via email to