diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2024-05-10 13:37:03 +0200 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2024-05-31 21:54:49 +0200 |
commit | 309ee005aa871286c8daccbce7586f82be347440 (patch) | |
tree | 0dddcb76201705cfb1b42df35ed58f69a6a94e1f /gcc/tree-vectorizer.h | |
parent | af4bf422a699de0e7af5a26e02997d313e7301a6 (diff) | |
download | gcc-309ee005aa871286c8daccbce7586f82be347440.zip gcc-309ee005aa871286c8daccbce7586f82be347440.tar.gz gcc-309ee005aa871286c8daccbce7586f82be347440.tar.bz2 |
RISC-V: Use widening shift for scatter/gather if applicable.
With the zvbb extension we can emit a widening shift for scatter/gather
index preparation in case we need to multiply by 2 and zero extend.
The patch also adds vwsll to the mode_idx attribute and removes the
mode from shift-count operand of the insn pattern.
gcc/ChangeLog:
* config/riscv/riscv-v.cc (expand_gather_scatter): Use vwsll if
applicable.
* config/riscv/vector-crypto.md: Remove mode from vwsll shift
count operator.
* config/riscv/vector.md: Add vwsll to mode iterator.
gcc/testsuite/ChangeLog:
* lib/target-supports.exp: Add zvbb.
* gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12-zvbb.c: New test.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions