diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2023-12-01 10:07:23 +0100 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2023-12-08 17:31:50 +0100 |
commit | d468718c9a097aeb8794fb1a2df6db2c1064d7f7 (patch) | |
tree | b5871a49392cdb5a113ca074b928b272777d1f5f /gcc/tree-ssa-phiopt.cc | |
parent | 2664964b2f695e947faea4c29dbddd3615cc4b0b (diff) | |
download | gcc-d468718c9a097aeb8794fb1a2df6db2c1064d7f7.zip gcc-d468718c9a097aeb8794fb1a2df6db2c1064d7f7.tar.gz gcc-d468718c9a097aeb8794fb1a2df6db2c1064d7f7.tar.bz2 |
RISC-V: Add vectorized strcmp and strncmp.
This patch adds vectorized strcmp and strncmp implementations and
tests. Similar to strlen, expansion is still guarded by
-minline-str(n)cmp.
gcc/ChangeLog:
PR target/112109
* config/riscv/riscv-protos.h (expand_strcmp): Declare.
* config/riscv/riscv-string.cc (riscv_expand_strcmp): Add
strategy handling and delegation to scalar and vector expanders.
(expand_strcmp): Vectorized implementation.
* config/riscv/riscv.md: Add TARGET_VECTOR to strcmp and strncmp
expander.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/builtin/strcmp-run.c: New test.
* gcc.target/riscv/rvv/autovec/builtin/strcmp.c: New test.
* gcc.target/riscv/rvv/autovec/builtin/strncmp-run.c: New test.
* gcc.target/riscv/rvv/autovec/builtin/strncmp.c: New test.
Diffstat (limited to 'gcc/tree-ssa-phiopt.cc')
0 files changed, 0 insertions, 0 deletions