aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-init.cc
diff options
context:
space:
mode:
authorRobin Dapp <rdapp@ventanamicro.com>2023-05-12 16:26:08 +0200
committerRobin Dapp <rdapp@ventanamicro.com>2023-05-26 21:54:30 +0200
commita1b23dcf2337ab8666fac7d1e191ca987710d184 (patch)
treed5359bb1150fb804c2830d447fbd1a0f7201b650 /gcc/loop-init.cc
parent25907509787e3ef68cd8054460893cd316a8186a (diff)
downloadgcc-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