Re: [PATCH v2] RISC-V: Add support for vector crypto extensions
Thanks, applied to master. --Philipp. On Mon, 3 Jul 2023 at 15:42, Kito Cheng wrote: > Thanks, LGTM :) > > Christoph Muellner 於 2023年7月3日 週一,19:08寫道: > >> From: Christoph Müllner >> >> 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 has been merged upstream a few days ago. >> >> All extensions come with 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 >> --- >> Changes for v2: >> - Update patch for specification version v20230620 >> >> gcc/common/config/riscv/riscv-common.cc | 55 >> gcc/config/riscv/arch-canonicalize | 7 +++ >> gcc/config/riscv/riscv-opts.h| 34 +++ >> gcc/config/riscv/riscv.opt | 6 +++ >> gcc/testsuite/gcc.target/riscv/zvbb.c| 13 ++ >> gcc/testsuite/gcc.target/riscv/zvbc.c| 13 ++ >> gcc/testsuite/gcc.target/riscv/zvkg.c| 13 ++ >> gcc/testsuite/gcc.target/riscv/zvkn-1.c | 29 + >> gcc/testsuite/gcc.target/riscv/zvkn.c| 29 + >> gcc/testsuite/gcc.target/riscv/zvknc-1.c | 37 >> gcc/testsuite/gcc.target/riscv/zvknc-2.c | 37 >> gcc/testsuite/gcc.target/riscv/zvknc.c | 37 >> gcc/testsuite/gcc.target/riscv/zvkned.c | 13 ++ >> gcc/testsuite/gcc.target/riscv/zvkng-1.c | 37 >> gcc/testsuite/gcc.target/riscv/zvkng-2.c | 37 >> gcc/testsuite/gcc.target/riscv/zvkng.c | 37 >> gcc/testsuite/gcc.target/riscv/zvknha.c | 13 ++ >> gcc/testsuite/gcc.target/riscv/zvknhb.c | 13 ++ >> gcc/testsuite/gcc.target/riscv/zvks-1.c | 29 + >> gcc/testsuite/gcc.target/riscv/zvks.c| 29 + >> gcc/testsuite/gcc.target/riscv/zvksc-1.c | 37
Re: [PATCH v2] RISC-V: Add support for vector crypto extensions
Thanks, LGTM :) Christoph Muellner 於 2023年7月3日 週一,19:08寫道: > From: Christoph Müllner > > 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 has been merged upstream a few days ago. > > All extensions come with 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 > --- > Changes for v2: > - Update patch for specification version v20230620 > > gcc/common/config/riscv/riscv-common.cc | 55 > gcc/config/riscv/arch-canonicalize | 7 +++ > gcc/config/riscv/riscv-opts.h| 34 +++ > gcc/config/riscv/riscv.opt | 6 +++ > gcc/testsuite/gcc.target/riscv/zvbb.c| 13 ++ > gcc/testsuite/gcc.target/riscv/zvbc.c| 13 ++ > gcc/testsuite/gcc.target/riscv/zvkg.c| 13 ++ > gcc/testsuite/gcc.target/riscv/zvkn-1.c | 29 + > gcc/testsuite/gcc.target/riscv/zvkn.c| 29 + > gcc/testsuite/gcc.target/riscv/zvknc-1.c | 37 > gcc/testsuite/gcc.target/riscv/zvknc-2.c | 37 > gcc/testsuite/gcc.target/riscv/zvknc.c | 37 > gcc/testsuite/gcc.target/riscv/zvkned.c | 13 ++ > gcc/testsuite/gcc.target/riscv/zvkng-1.c | 37 > gcc/testsuite/gcc.target/riscv/zvkng-2.c | 37 > gcc/testsuite/gcc.target/riscv/zvkng.c | 37 > gcc/testsuite/gcc.target/riscv/zvknha.c | 13 ++ > gcc/testsuite/gcc.target/riscv/zvknhb.c | 13 ++ > gcc/testsuite/gcc.target/riscv/zvks-1.c | 29 + > gcc/testsuite/gcc.target/riscv/zvks.c| 29 + > gcc/testsuite/gcc.target/riscv/zvksc-1.c | 37 > gcc/testsuite/gcc.target/riscv/zvksc-2.c | 37 > gcc/testsuite/gcc.target/riscv/zvksc.c | 37 > gcc/testsuite/gcc.target/riscv/zvksed.c | 13 ++ >
[PATCH v2] RISC-V: Add support for vector crypto extensions
From: Christoph Müllner 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 has been merged upstream a few days ago. All extensions come with 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 --- Changes for v2: - Update patch for specification version v20230620 gcc/common/config/riscv/riscv-common.cc | 55 gcc/config/riscv/arch-canonicalize | 7 +++ gcc/config/riscv/riscv-opts.h| 34 +++ gcc/config/riscv/riscv.opt | 6 +++ gcc/testsuite/gcc.target/riscv/zvbb.c| 13 ++ gcc/testsuite/gcc.target/riscv/zvbc.c| 13 ++ gcc/testsuite/gcc.target/riscv/zvkg.c| 13 ++ gcc/testsuite/gcc.target/riscv/zvkn-1.c | 29 + gcc/testsuite/gcc.target/riscv/zvkn.c| 29 + gcc/testsuite/gcc.target/riscv/zvknc-1.c | 37 gcc/testsuite/gcc.target/riscv/zvknc-2.c | 37 gcc/testsuite/gcc.target/riscv/zvknc.c | 37 gcc/testsuite/gcc.target/riscv/zvkned.c | 13 ++ gcc/testsuite/gcc.target/riscv/zvkng-1.c | 37 gcc/testsuite/gcc.target/riscv/zvkng-2.c | 37 gcc/testsuite/gcc.target/riscv/zvkng.c | 37 gcc/testsuite/gcc.target/riscv/zvknha.c | 13 ++ gcc/testsuite/gcc.target/riscv/zvknhb.c | 13 ++ gcc/testsuite/gcc.target/riscv/zvks-1.c | 29 + gcc/testsuite/gcc.target/riscv/zvks.c| 29 + gcc/testsuite/gcc.target/riscv/zvksc-1.c | 37 gcc/testsuite/gcc.target/riscv/zvksc-2.c | 37 gcc/testsuite/gcc.target/riscv/zvksc.c | 37 gcc/testsuite/gcc.target/riscv/zvksed.c | 13 ++ gcc/testsuite/gcc.target/riscv/zvksg-1.c | 37 gcc/testsuite/gcc.target/riscv/zvksg-2.c | 37 gcc/testsuite/gcc.target/riscv/zvksg.c | 37 gcc/testsuite/gcc.target/riscv/zvksh.c | 13 ++ gcc/testsuite/gcc.target/riscv/zvkt.c| 13 ++ 29