]> gcc.gnu.org Git - gcc.git/commit
RISC-V: Add ABI-defined RVV types.
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>
Tue, 27 Sep 2022 09:26:08 +0000 (17:26 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Wed, 28 Sep 2022 17:32:14 +0000 (01:32 +0800)
commit03f3365742a9341992f0c8fc751e2d143e49f95d
tree1670a26a897374dbadad0cd6c18eac5cbf9488a8
parent5d7be27bf7ef63c770a591f69845c4245522cd76
RISC-V: Add ABI-defined RVV types.

gcc/ChangeLog:

* config.gcc: Add riscv-vector-builtins.o.
* config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
* config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
* config/riscv/riscv.cc (ENTRY): New macro.
(riscv_v_ext_enabled_vector_mode_p): New function.
(riscv_mangle_type): Add RVV mangle.
(riscv_vector_mode_supported_p): Adjust RVV machine mode.
(riscv_verify_type_context): Add context check for RVV.
(riscv_vector_alignment): Add RVV alignment target hook support.
(TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
(TARGET_VERIFY_TYPE_CONTEXT): Ditto.
(TARGET_VECTOR_ALIGNMENT): Ditto.
* config/riscv/t-riscv: Add riscv-vector-builtins.o
* config/riscv/riscv-vector-builtins.cc: New file.
* config/riscv/riscv-vector-builtins.def: New file.
* config/riscv/riscv-vector-builtins.h: New file.
* config/riscv/riscv-vector-switch.def: New file.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/abi-1.c: New test.
* gcc.target/riscv/rvv/base/abi-2.c: New test.
* gcc.target/riscv/rvv/base/abi-3.c: New test.
* gcc.target/riscv/rvv/base/abi-4.c: New test.
* gcc.target/riscv/rvv/base/abi-5.c: New test.
* gcc.target/riscv/rvv/base/abi-6.c: New test.
* gcc.target/riscv/rvv/base/abi-7.c: New test.
* gcc.target/riscv/rvv/rvv.exp: New test.
17 files changed:
gcc/config.gcc
gcc/config/riscv/riscv-builtins.cc
gcc/config/riscv/riscv-protos.h
gcc/config/riscv/riscv-vector-builtins.cc [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins.def [new file with mode: 0644]
gcc/config/riscv/riscv-vector-builtins.h [new file with mode: 0644]
gcc/config/riscv/riscv-vector-switch.def [new file with mode: 0644]
gcc/config/riscv/riscv.cc
gcc/config/riscv/t-riscv
gcc/testsuite/gcc.target/riscv/rvv/base/abi-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/abi-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/abi-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/abi-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/abi-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/abi-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/abi-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/rvv.exp [new file with mode: 0644]
This page took 0.066524 seconds and 6 git commands to generate.