RISC-V: Add RVV vsetvl/vsetvlmax intrinsics and tests.
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>
Mon, 17 Oct 2022 08:36:42 +0000 (16:36 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Fri, 21 Oct 2022 03:56:21 +0000 (11:56 +0800)
commitf56d48b2471c388401174029324e1f4c4b84fcdb
tree86ef65fb9129a3b6deb076a687bbdfa2ed93ad45
parentcbd505700e09cfea8bdaa93ad6bd0514372e9034
RISC-V: Add RVV vsetvl/vsetvlmax intrinsics and tests.

gcc/ChangeLog:

* config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
* config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
(DEF_RVV_FUNCTION): Ditto.
(handle_pragma_vector): Add intrinsic framework.
* config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
* config/riscv/riscv.md: include vector.md.
* config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
* config/riscv/riscv-vector-builtins-bases.cc: New file.
* config/riscv/riscv-vector-builtins-bases.h: New file.
* config/riscv/riscv-vector-builtins-functions.def: New file.
* config/riscv/riscv-vector-builtins-shapes.cc: New file.
* config/riscv/riscv-vector-builtins-shapes.h: New file.
* config/riscv/riscv-vector-builtins-types.def: New file.
* config/riscv/vector.md: New file.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsetvl-1.c: New test.
13 files changed:
gcc/config.gcc
gcc/config/riscv/riscv-vector-builtins-bases.cc [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins-bases.h [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins-functions.def [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins-shapes.cc [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins-shapes.h [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins-types.def [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins.cc
gcc/config/riscv/riscv.cc
gcc/config/riscv/riscv.md
gcc/config/riscv/t-riscv
gcc/config/riscv/vector.md [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/vsetvl-1.c [new file with mode: 0644]