diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2024-05-15 17:41:07 +0200 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2024-05-31 21:54:49 +0200 |
commit | 6fa4b0135439d64c0ea1816594d7dc830e836376 (patch) | |
tree | 51a15dff134952b576f50c4f496df5773ff860bc /gcc/tree-vectorizer.h | |
parent | f48448276f29a3823827292c72b7fc8e9cd39e1e (diff) | |
download | gcc-6fa4b0135439d64c0ea1816594d7dc830e836376.zip gcc-6fa4b0135439d64c0ea1816594d7dc830e836376.tar.gz gcc-6fa4b0135439d64c0ea1816594d7dc830e836376.tar.bz2 |
RISC-V: Add vector popcount, clz, ctz.
This patch adds the zvbb vcpop, vclz and vctz to the autovec machinery
as well as tests for them.
gcc/ChangeLog:
* config/riscv/autovec.md (ctz<mode>2): New expander.
(clz<mode>2): Ditto.
* config/riscv/generic-vector-ooo.md: Add bitmanip ops to insn
reservation.
* config/riscv/vector-crypto.md: Add VLS modes to insns.
* config/riscv/vector.md: Add bitmanip ops to mode_idx and other
attributes.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/unop/popcount-1.c: Adjust check
for zvbb.
* gcc.target/riscv/rvv/autovec/unop/popcount-run-1.c: Ditto.
* gcc.target/riscv/rvv/autovec/unop/popcount-2.c: Ditto.
* gcc.target/riscv/rvv/autovec/unop/popcount-3.c: New test.
* gcc.target/riscv/rvv/autovec/unop/popcount-template.h: New test.
* gcc.target/riscv/rvv/autovec/unop/clz-1.c: New test.
* gcc.target/riscv/rvv/autovec/unop/clz-run.c: New test.
* gcc.target/riscv/rvv/autovec/unop/clz-template.h: New test.
* gcc.target/riscv/rvv/autovec/unop/ctz-1.c: New test.
* gcc.target/riscv/rvv/autovec/unop/ctz-run.c: New test.
* gcc.target/riscv/rvv/autovec/unop/ctz-template.h: New test.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions