-
- Downloads
RISC-V: Add support for vector crypto extensions
This series adds basic support for the vector crypto extensions: * Zvbb * Zvbc * Zvkg * Zvkned * Zvkhn[a,b] * Zvksed * Zvksh * Zvkn * Zvknc * Zvkng * Zvks * Zvksc * Zvksg * Zvkt This patch is based on the v20230620 version of the Vector Cryptography specification. The specification is frozen and can be found here: https://github.com/riscv/riscv-crypto/releases/tag/v20230620 Binutils support is merged as 9fdc1b157b6e72f7dd98851a240c5fdb386a558e. All extensions come with (passing) tests for the feature test macros. gcc/ChangeLog: * common/config/riscv/riscv-common.cc: Add support for zvbb, zvbc, zvkg, zvkned, zvknha, zvknhb, zvksed, zvksh, zvkn, zvknc, zvkng, zvks, zvksc, zvksg, zvkt and the implied subsets. * config/riscv/arch-canonicalize: Add canonicalization info for zvkn, zvknc, zvkng, zvks, zvksc, zvksg. * config/riscv/riscv-opts.h (MASK_ZVBB): New macro. (MASK_ZVBC): Likewise. (TARGET_ZVBB): Likewise. (TARGET_ZVBC): Likewise. (MASK_ZVKG): Likewise. (MASK_ZVKNED): Likewise. (MASK_ZVKNHA): Likewise. (MASK_ZVKNHB): Likewise. (MASK_ZVKSED): Likewise. (MASK_ZVKSH): Likewise. (MASK_ZVKN): Likewise. (MASK_ZVKNC): Likewise. (MASK_ZVKNG): Likewise. (MASK_ZVKS): Likewise. (MASK_ZVKSC): Likewise. (MASK_ZVKSG): Likewise. (MASK_ZVKT): Likewise. (TARGET_ZVKG): Likewise. (TARGET_ZVKNED): Likewise. (TARGET_ZVKNHA): Likewise. (TARGET_ZVKNHB): Likewise. (TARGET_ZVKSED): Likewise. (TARGET_ZVKSH): Likewise. (TARGET_ZVKN): Likewise. (TARGET_ZVKNC): Likewise. (TARGET_ZVKNG): Likewise. (TARGET_ZVKS): Likewise. (TARGET_ZVKSC): Likewise. (TARGET_ZVKSG): Likewise. (TARGET_ZVKT): Likewise. * config/riscv/riscv.opt: Introduction of riscv_zv{b,k}_subext. gcc/testsuite/ChangeLog: * gcc.target/riscv/zvbb.c: New test. * gcc.target/riscv/zvbc.c: New test. * gcc.target/riscv/zvkg.c: New test. * gcc.target/riscv/zvkn-1.c: New test. * gcc.target/riscv/zvkn.c: New test. * gcc.target/riscv/zvknc-1.c: New test. * gcc.target/riscv/zvknc-2.c: New test. * gcc.target/riscv/zvknc.c: New test. * gcc.target/riscv/zvkned.c: New test. * gcc.target/riscv/zvkng-1.c: New test. * gcc.target/riscv/zvkng-2.c: New test. * gcc.target/riscv/zvkng.c: New test. * gcc.target/riscv/zvknha.c: New test. * gcc.target/riscv/zvknhb.c: New test. * gcc.target/riscv/zvks-1.c: New test. * gcc.target/riscv/zvks.c: New test. * gcc.target/riscv/zvksc-1.c: New test. * gcc.target/riscv/zvksc-2.c: New test. * gcc.target/riscv/zvksc.c: New test. * gcc.target/riscv/zvksed.c: New test. * gcc.target/riscv/zvksg-1.c: New test. * gcc.target/riscv/zvksg-2.c: New test. * gcc.target/riscv/zvksg.c: New test. * gcc.target/riscv/zvksh.c: New test. * gcc.target/riscv/zvkt.c: New test. Signed-off-by:Christoph Müllner <christoph.muellner@vrull.eu>
Showing
- gcc/common/config/riscv/riscv-common.cc 55 additions, 0 deletionsgcc/common/config/riscv/riscv-common.cc
- gcc/config/riscv/arch-canonicalize 7 additions, 0 deletionsgcc/config/riscv/arch-canonicalize
- gcc/config/riscv/riscv-opts.h 34 additions, 0 deletionsgcc/config/riscv/riscv-opts.h
- gcc/config/riscv/riscv.opt 6 additions, 0 deletionsgcc/config/riscv/riscv.opt
- gcc/testsuite/gcc.target/riscv/zvbb.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvbb.c
- gcc/testsuite/gcc.target/riscv/zvbc.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvbc.c
- gcc/testsuite/gcc.target/riscv/zvkg.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkg.c
- gcc/testsuite/gcc.target/riscv/zvkn-1.c 29 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkn-1.c
- gcc/testsuite/gcc.target/riscv/zvkn.c 29 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkn.c
- gcc/testsuite/gcc.target/riscv/zvknc-1.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvknc-1.c
- gcc/testsuite/gcc.target/riscv/zvknc-2.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvknc-2.c
- gcc/testsuite/gcc.target/riscv/zvknc.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvknc.c
- gcc/testsuite/gcc.target/riscv/zvkned.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkned.c
- gcc/testsuite/gcc.target/riscv/zvkng-1.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkng-1.c
- gcc/testsuite/gcc.target/riscv/zvkng-2.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkng-2.c
- gcc/testsuite/gcc.target/riscv/zvkng.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvkng.c
- gcc/testsuite/gcc.target/riscv/zvknha.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvknha.c
- gcc/testsuite/gcc.target/riscv/zvknhb.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvknhb.c
- gcc/testsuite/gcc.target/riscv/zvks-1.c 29 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvks-1.c
- gcc/testsuite/gcc.target/riscv/zvks.c 29 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/zvks.c
Loading
Please register or sign in to comment