RISC-V: Minimal support of vector extensions
authorKito Cheng <kito.cheng@sifive.com>
Fri, 3 Dec 2021 15:50:54 +0000 (23:50 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Thu, 6 Jan 2022 16:56:17 +0000 (00:56 +0800)
commite7da31ba2030b85ff0d15a0c4aac3318cb66b64a
tree570bcb98a718e4a0c1c4947a5d08dbd2bbe6d67b
parentc8bdb3452054506f90283ea198a42a811679653d
RISC-V: Minimal support of vector extensions

gcc/ChangeLog:

* common/config/riscv/riscv-common.c (riscv_implied_info): Add
vector extensions.
(riscv_ext_version_table): Add version info for vector extensions.
(riscv_ext_flag_table): Add option mask for vector extensions.
* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
(MASK_VECTOR_EEW_64): New.
(MASK_VECTOR_EEW_FP_32): New.
(MASK_VECTOR_EEW_FP_64): New.
(MASK_ZVL32B): New.
(MASK_ZVL64B): New.
(MASK_ZVL128B): New.
(MASK_ZVL256B): New.
(MASK_ZVL512B): New.
(MASK_ZVL1024B): New.
(MASK_ZVL2048B): New.
(MASK_ZVL4096B): New.
(MASK_ZVL8192B): New.
(MASK_ZVL16384B): New.
(MASK_ZVL32768B): New.
(MASK_ZVL65536B): New.
(TARGET_ZVL32B): New.
(TARGET_ZVL64B): New.
(TARGET_ZVL128B): New.
(TARGET_ZVL256B): New.
(TARGET_ZVL512B): New.
(TARGET_ZVL1024B): New.
(TARGET_ZVL2048B): New.
(TARGET_ZVL4096B): New.
(TARGET_ZVL8192B): New.
(TARGET_ZVL16384B): New.
(TARGET_ZVL32768B): New.
(TARGET_ZVL65536B): New.
* config/riscv/riscv.opt (Mask(VECTOR)): New.
(riscv_vector_eew_flags): New.
(riscv_zvl_flags): New.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/predef-14.c: New.
* gcc.target/riscv/predef-15.c: Ditto.
* gcc.target/riscv/predef-16.c: Ditto.
gcc/common/config/riscv/riscv-common.c
gcc/config/riscv/riscv-opts.h
gcc/config/riscv/riscv.opt
gcc/testsuite/gcc.target/riscv/predef-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/predef-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/predef-16.c [new file with mode: 0644]