aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRobin Dapp <rdapp@ventanamicro.com>2024-05-15 17:41:07 +0200
committerRobin Dapp <rdapp@ventanamicro.com>2024-05-31 21:54:49 +0200
commit6fa4b0135439d64c0ea1816594d7dc830e836376 (patch)
tree51a15dff134952b576f50c4f496df5773ff860bc /gcc/tree-vectorizer.h
parentf48448276f29a3823827292c72b7fc8e9cd39e1e (diff)
downloadgcc-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