diff options
| author | Robin Dapp <rdapp@ventanamicro.com> | 2025-10-20 10:47:45 +0200 |
|---|---|---|
| committer | Robin Dapp <rdapp@ventanamicro.com> | 2025-12-09 09:36:03 +0100 |
| commit | 0b129b8b368635b3170aa276809d644dc99e3256 (patch) | |
| tree | 15d789d0154195a0fccb95e80d3d78fe77438dde /libjava/classpath/java | |
| parent | e3a60357520bc3d14a098ca748c49c44f97b03f5 (diff) | |
| download | gcc-0b129b8b368635b3170aa276809d644dc99e3256.zip gcc-0b129b8b368635b3170aa276809d644dc99e3256.tar.gz gcc-0b129b8b368635b3170aa276809d644dc99e3256.tar.bz2 | |
RISC-V: Implement mask reduction.
This implements mask reductions by first counting the bits in the mask
(vcpop.m) and then comparing the resulting scalar against 0 or len.
gcc/ChangeLog:
* config/riscv/autovec.md (reduc_sbool_and_scal_<mode>): New
expander.
(reduc_sbool_ior_scal_<mode>): Ditto.
(reduc_sbool_xor_scal_<mode>): Ditto.
* config/riscv/riscv-protos.h (expand_mask_reduction): Declare.
* config/riscv/riscv-v.cc (expand_mask_reduction): New function.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-1-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-1.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-2-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-2.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-3-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-3.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-4-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-4.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-5-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-5.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-6-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-6.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-7-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-7.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-8-run.c: New test.
* gcc.target/riscv/rvv/autovec/reduc/reduc-bool-8.c: New test.
Diffstat (limited to 'libjava/classpath/java')
0 files changed, 0 insertions, 0 deletions
