diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2023-05-12 16:26:08 +0200 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2023-05-26 21:54:30 +0200 |
commit | a1b23dcf2337ab8666fac7d1e191ca987710d184 (patch) | |
tree | d5359bb1150fb804c2830d447fbd1a0f7201b650 /gcc/loop-init.cc | |
parent | 25907509787e3ef68cd8054460893cd316a8186a (diff) | |
download | gcc-a1b23dcf2337ab8666fac7d1e191ca987710d184.zip gcc-a1b23dcf2337ab8666fac7d1e191ca987710d184.tar.gz gcc-a1b23dcf2337ab8666fac7d1e191ca987710d184.tar.bz2 |
RISC-V: Implement autovec abs, vneg, vnot.
This patch implements abs<mode>2, vneg<mode>2 and vnot<mode>2
expanders for integer vector registers and adds tests for them.
gcc/ChangeLog:
* config/riscv/autovec.md (<optab><mode>2): Add vneg/vnot.
(abs<mode>2): Add.
* config/riscv/riscv-protos.h (emit_vlmax_masked_mu_insn):
Declare.
* config/riscv/riscv-v.cc (emit_vlmax_masked_mu_insn): New
function.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/rvv.exp: Add unop tests.
* gcc.target/riscv/rvv/autovec/unop/abs-run.c: New test.
* gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: New test.
* gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: New test.
* gcc.target/riscv/rvv/autovec/unop/abs-template.h: New test.
* gcc.target/riscv/rvv/autovec/unop/vneg-run.c: New test.
* gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: New test.
* gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: New test.
* gcc.target/riscv/rvv/autovec/unop/vneg-template.h: New test.
* gcc.target/riscv/rvv/autovec/unop/vnot-run.c: New test.
* gcc.target/riscv/rvv/autovec/unop/vnot-rv32gcv.c: New test.
* gcc.target/riscv/rvv/autovec/unop/vnot-rv64gcv.c: New test.
* gcc.target/riscv/rvv/autovec/unop/vnot-template.h: New test.
Diffstat (limited to 'gcc/loop-init.cc')
0 files changed, 0 insertions, 0 deletions