diff options
author | Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | 2022-09-30 14:58:16 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2022-10-05 21:58:21 +0800 |
commit | 7d935cdd1a6772699ec0ab4f93711928ca4d30a1 (patch) | |
tree | c79a84890479cda34592dda056cbaee8770f3f46 /gcc/config.gcc | |
parent | df4c584c567263fdcd57d8376f24f29477a892b2 (diff) | |
download | gcc-7d935cdd1a6772699ec0ab4f93711928ca4d30a1.zip gcc-7d935cdd1a6772699ec0ab4f93711928ca4d30a1.tar.gz gcc-7d935cdd1a6772699ec0ab4f93711928ca4d30a1.tar.bz2 |
RISC-V: Introduce RVV header to enable builtin types
gcc/ChangeLog:
* config.gcc: Add riscv_vector.h.
* config/riscv/riscv-builtins.cc: Add RVV builtin types support.
* config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
(riscv_register_pragmas): Ditto.
* config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
(init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
(mangle_builtin_type): Ditto.
(verify_type_context): Ditto.
(handle_pragma_vector): New function.
* config/riscv/riscv-vector-builtins.cc (GTY): New variable.
(register_vector_type): New function.
(init_builtins): Add RVV builtin types support.
(handle_pragma_vector): New function.
* config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
name according to file name.
(GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
(init_builtins): Remove declaration in riscv-vector-builtins.h.
(mangle_builtin_type): Ditto.
(verify_type_context): Ditto.
* config/riscv/riscv.cc: Adjust for RVV builtin types support.
* config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
* config/riscv/t-riscv: Remove redundant file including.
* config/riscv/riscv_vector.h: New file.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/pragma-1.c: New test.
* gcc.target/riscv/rvv/base/pragma-2.c: New test.
* gcc.target/riscv/rvv/base/pragma-3.c: New test.
* gcc.target/riscv/rvv/base/user-1.c: New test.
* gcc.target/riscv/rvv/base/user-2.c: New test.
* gcc.target/riscv/rvv/base/user-3.c: New test.
* gcc.target/riscv/rvv/base/user-4.c: New test.
* gcc.target/riscv/rvv/base/user-5.c: New test.
* gcc.target/riscv/rvv/base/user-6.c: New test.
* gcc.target/riscv/rvv/base/vread_csr.c: New test.
* gcc.target/riscv/rvv/base/vwrite_csr.c: New test.
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 35dfc00..e73cb84 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -518,6 +518,7 @@ riscv*) extra_objs="riscv-builtins.o riscv-c.o riscv-sr.o riscv-shorten-memrefs.o riscv-selftests.o" extra_objs="${extra_objs} riscv-vector-builtins.o" d_target_objs="riscv-d.o" + extra_headers="riscv_vector.h" ;; rs6000*-*-*) extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt" |