RISC-V: Allow vector constants in riscv_const_insns.
commit6445f1224509861f2d471a66134b98f26290586e
authorRobin Dapp <rdapp@ventanamicro.com>
Wed, 26 Apr 2023 18:32:36 +0000 (26 20:32 +0200)
committerRobin Dapp <rdapp@ventanamicro.com>
Thu, 11 May 2023 14:17:34 +0000 (11 16:17 +0200)
tree7437bc15f5ceaa8a1bf1c0f7d207116f3cbd0acb
parentc3afdb8ba8f1839544c414f57e41a58c8fda5349
RISC-V: Allow vector constants in riscv_const_insns.

This patch adds various vector constants to riscv_const_insns in order
for them to be properly recognized as immediate operands.  This then
allows to emit vmv.v.i instructions via autovectorization.

gcc/ChangeLog:

* config/riscv/riscv.cc (riscv_const_insns): Add permissible
vector constants.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: New test.
* gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: New test.
* gcc.target/riscv/rvv/autovec/vmv-imm-template.h: New test.
* gcc.target/riscv/rvv/autovec/vmv-imm-run.c: New test.
gcc/config/riscv/riscv.cc
gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vmv-imm-template.h [new file with mode: 0644]