Re: Re: [PATCH V2 0/5] RISC-V: Implement Scalar Cryptography Extension
OK, I will send another one which remove riscv_scalar_crypto.h and update testcases with __builtin_riscv_XX -原始邮件- 发件人: "Kito Cheng" 发送时间: 2023-02-16 21:28:34 (星期四) 收件人: "Liao Shihua" 抄送: gcc-patches@gcc.gnu.org, jia...@iscas.ac.cn, m...@iki.fi, pal...@dabbelt.com, shiyul...@iscas.ac.cn, ben.marsh...@pqshield.com, christoph.muell...@vrull.eu 主题: Re: [PATCH V2 0/5] RISC-V: Implement Scalar Cryptography Extension Hi Shihua: Thanks for your patches! This patch set is generally in good shape, but I would prefer to remove riscv_scalar_crypto.h at this moment since it's NOT standardized yet. Do you mind sending a new version of this patch set which does not include that and also update the testcases? On Thu, Feb 16, 2023 at 3:52 PM Liao Shihua wrote: This series adds basic support for the Scalar Cryptography extensions: * Zbkb * Zbkc * Zbkx * Zknd * Zkne * Zknh * Zksed * Zksh The implementation follows the version Scalar Cryptography v1.0.0 of the specification, and the intrinsic of Scalar Cryptography extensions follows riscv-c-api which can be found here: https://github.com/riscv/riscv-crypto/releases/tag/v1.0.0-scalar https://github.com/riscv-non-isa/riscv-c-api-doc/pull/31 It works by Wu Siyu and Liao Shihua . Liao Shihua (5): Add prototypes for RISC-V Crypto built-in functions Implement ZBKB, ZBKC and ZBKX extensions Implement ZKND and ZKNE extensions Implement ZKNH extensions Implement ZKSH and ZKSED extensions gcc/config.gcc| 2 +- gcc/config/riscv/bitmanip.md | 20 +- gcc/config/riscv/constraints.md | 8 + gcc/config/riscv/crypto.md| 435 ++ gcc/config/riscv/riscv-builtins.cc| 26 ++ gcc/config/riscv/riscv-crypto.def | 94 gcc/config/riscv/riscv-ftypes.def | 10 + gcc/config/riscv/riscv.md | 4 +- gcc/config/riscv/riscv_scalar_crypto.h| 218 + gcc/testsuite/gcc.target/riscv/zbkb32.c | 36 ++ gcc/testsuite/gcc.target/riscv/zbkb64.c | 28 ++ gcc/testsuite/gcc.target/riscv/zbkc32.c | 17 + gcc/testsuite/gcc.target/riscv/zbkc64.c | 17 + gcc/testsuite/gcc.target/riscv/zbkx32.c | 18 + gcc/testsuite/gcc.target/riscv/zbkx64.c | 18 + gcc/testsuite/gcc.target/riscv/zknd32.c | 18 + gcc/testsuite/gcc.target/riscv/zknd64.c | 36 ++ gcc/testsuite/gcc.target/riscv/zkne32.c | 18 + gcc/testsuite/gcc.target/riscv/zkne64.c | 30 ++ gcc/testsuite/gcc.target/riscv/zknh-sha256.c | 29 ++ .../gcc.target/riscv/zknh-sha512-32.c | 43 ++ .../gcc.target/riscv/zknh-sha512-64.c | 31 ++ gcc/testsuite/gcc.target/riscv/zksed.c| 20 + gcc/testsuite/gcc.target/riscv/zksh.c | 19 + 24 files changed, 1183 insertions(+), 12 deletions(-) create mode 100644 gcc/config/riscv/crypto.md create mode 100644 gcc/config/riscv/riscv-crypto.def create mode 100644 gcc/config/riscv/riscv_scalar_crypto.h create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb32.c create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb64.c create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc32.c create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc64.c create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx32.c create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx64.c create mode 100644 gcc/testsuite/gcc.target/riscv/zknd32.c create mode 100644 gcc/testsuite/gcc.target/riscv/zknd64.c create mode 100644 gcc/testsuite/gcc.target/riscv/zkne32.c create mode 100644 gcc/testsuite/gcc.target/riscv/zkne64.c create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha256.c create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-32.c create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-64.c create mode 100644 gcc/testsuite/gcc.target/riscv/zksed.c create mode 100644 gcc/testsuite/gcc.target/riscv/zksh.c -- 2.38.1.windows.1
Re: [PATCH V2 0/5] RISC-V: Implement Scalar Cryptography Extension
Hi Markku-Juhani: Scalar crypto is ratified I know, but the scalar crypto intrinsic part isn't standardized - and even the APIs listed in riscv_scalar_crypto.h are not documented anywhere yet. So what I mean is I am happy to accept this patch except the riscv_scalar_crypto.h header. Once the API has documented and merged I am happy to accept that part too. On Thu, Feb 16, 2023 at 9:52 PM Markku-Juhani Olavi Saarinen wrote: > > On Thu, Feb 16, 2023, 13:29 Kito Cheng wrote: > > > Hi Shihua: > > > > Thanks for your patches! This patch set is generally in good shape, > > but I would prefer to remove riscv_scalar_crypto.h at this moment > > since it's NOT standardized yet. > > > > Hi Kito, > > I'm not sure if you're referring to the scalar crypto extensions (which > were fully ratified in November 2021 by RVI, are included in several > profiles, and available in commercial silicon IP), or this particular > header file. Note that the single header is perhaps the most convenient way > to access these subextensions that make up the scalar crypto extension 1.0. > > Cheers, > Markku > > > > > Do you mind sending a new version of this patch set which does not > > include that and also update the testcases? > > > > > > > > On Thu, Feb 16, 2023 at 3:52 PM Liao Shihua wrote: > > > > > > This series adds basic support for the Scalar Cryptography extensions: > > > * Zbkb > > > * Zbkc > > > * Zbkx > > > * Zknd > > > * Zkne > > > * Zknh > > > * Zksed > > > * Zksh > > > > > > The implementation follows the version Scalar Cryptography v1.0.0 of the > > specification, > > > and the intrinsic of Scalar Cryptography extensions follows riscv-c-api > > > which can be found here: > > > https://github.com/riscv/riscv-crypto/releases/tag/v1.0.0-scalar > > > https://github.com/riscv-non-isa/riscv-c-api-doc/pull/31 > > > > > > It works by Wu Siyu and Liao Shihua . > > > > > > Liao Shihua (5): > > > Add prototypes for RISC-V Crypto built-in functions > > > Implement ZBKB, ZBKC and ZBKX extensions > > > Implement ZKND and ZKNE extensions > > > Implement ZKNH extensions > > > Implement ZKSH and ZKSED extensions > > > > > > gcc/config.gcc| 2 +- > > > gcc/config/riscv/bitmanip.md | 20 +- > > > gcc/config/riscv/constraints.md | 8 + > > > gcc/config/riscv/crypto.md| 435 ++ > > > gcc/config/riscv/riscv-builtins.cc| 26 ++ > > > gcc/config/riscv/riscv-crypto.def | 94 > > > gcc/config/riscv/riscv-ftypes.def | 10 + > > > gcc/config/riscv/riscv.md | 4 +- > > > gcc/config/riscv/riscv_scalar_crypto.h| 218 + > > > gcc/testsuite/gcc.target/riscv/zbkb32.c | 36 ++ > > > gcc/testsuite/gcc.target/riscv/zbkb64.c | 28 ++ > > > gcc/testsuite/gcc.target/riscv/zbkc32.c | 17 + > > > gcc/testsuite/gcc.target/riscv/zbkc64.c | 17 + > > > gcc/testsuite/gcc.target/riscv/zbkx32.c | 18 + > > > gcc/testsuite/gcc.target/riscv/zbkx64.c | 18 + > > > gcc/testsuite/gcc.target/riscv/zknd32.c | 18 + > > > gcc/testsuite/gcc.target/riscv/zknd64.c | 36 ++ > > > gcc/testsuite/gcc.target/riscv/zkne32.c | 18 + > > > gcc/testsuite/gcc.target/riscv/zkne64.c | 30 ++ > > > gcc/testsuite/gcc.target/riscv/zknh-sha256.c | 29 ++ > > > .../gcc.target/riscv/zknh-sha512-32.c | 43 ++ > > > .../gcc.target/riscv/zknh-sha512-64.c | 31 ++ > > > gcc/testsuite/gcc.target/riscv/zksed.c| 20 + > > > gcc/testsuite/gcc.target/riscv/zksh.c | 19 + > > > 24 files changed, 1183 insertions(+), 12 deletions(-) > > > create mode 100644 gcc/config/riscv/crypto.md > > > create mode 100644 gcc/config/riscv/riscv-crypto.def > > > create mode 100644 gcc/config/riscv/riscv_scalar_crypto.h > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb32.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb64.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc32.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc64.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx32.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx64.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknd32.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknd64.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zkne32.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zkne64.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha256.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-32.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-64.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zksed.c > > > create mode 100644 gcc/testsuite/gcc.target/riscv/zksh.c > > > > > > -- > > > 2.38.1.windows.1 > > > > >
Re: [PATCH V2 0/5] RISC-V: Implement Scalar Cryptography Extension
On Thu, Feb 16, 2023, 13:29 Kito Cheng wrote: > Hi Shihua: > > Thanks for your patches! This patch set is generally in good shape, > but I would prefer to remove riscv_scalar_crypto.h at this moment > since it's NOT standardized yet. > Hi Kito, I'm not sure if you're referring to the scalar crypto extensions (which were fully ratified in November 2021 by RVI, are included in several profiles, and available in commercial silicon IP), or this particular header file. Note that the single header is perhaps the most convenient way to access these subextensions that make up the scalar crypto extension 1.0. Cheers, Markku > > Do you mind sending a new version of this patch set which does not > include that and also update the testcases? > > > > On Thu, Feb 16, 2023 at 3:52 PM Liao Shihua wrote: > > > > This series adds basic support for the Scalar Cryptography extensions: > > * Zbkb > > * Zbkc > > * Zbkx > > * Zknd > > * Zkne > > * Zknh > > * Zksed > > * Zksh > > > > The implementation follows the version Scalar Cryptography v1.0.0 of the > specification, > > and the intrinsic of Scalar Cryptography extensions follows riscv-c-api > > which can be found here: > > https://github.com/riscv/riscv-crypto/releases/tag/v1.0.0-scalar > > https://github.com/riscv-non-isa/riscv-c-api-doc/pull/31 > > > > It works by Wu Siyu and Liao Shihua . > > > > Liao Shihua (5): > > Add prototypes for RISC-V Crypto built-in functions > > Implement ZBKB, ZBKC and ZBKX extensions > > Implement ZKND and ZKNE extensions > > Implement ZKNH extensions > > Implement ZKSH and ZKSED extensions > > > > gcc/config.gcc| 2 +- > > gcc/config/riscv/bitmanip.md | 20 +- > > gcc/config/riscv/constraints.md | 8 + > > gcc/config/riscv/crypto.md| 435 ++ > > gcc/config/riscv/riscv-builtins.cc| 26 ++ > > gcc/config/riscv/riscv-crypto.def | 94 > > gcc/config/riscv/riscv-ftypes.def | 10 + > > gcc/config/riscv/riscv.md | 4 +- > > gcc/config/riscv/riscv_scalar_crypto.h| 218 + > > gcc/testsuite/gcc.target/riscv/zbkb32.c | 36 ++ > > gcc/testsuite/gcc.target/riscv/zbkb64.c | 28 ++ > > gcc/testsuite/gcc.target/riscv/zbkc32.c | 17 + > > gcc/testsuite/gcc.target/riscv/zbkc64.c | 17 + > > gcc/testsuite/gcc.target/riscv/zbkx32.c | 18 + > > gcc/testsuite/gcc.target/riscv/zbkx64.c | 18 + > > gcc/testsuite/gcc.target/riscv/zknd32.c | 18 + > > gcc/testsuite/gcc.target/riscv/zknd64.c | 36 ++ > > gcc/testsuite/gcc.target/riscv/zkne32.c | 18 + > > gcc/testsuite/gcc.target/riscv/zkne64.c | 30 ++ > > gcc/testsuite/gcc.target/riscv/zknh-sha256.c | 29 ++ > > .../gcc.target/riscv/zknh-sha512-32.c | 43 ++ > > .../gcc.target/riscv/zknh-sha512-64.c | 31 ++ > > gcc/testsuite/gcc.target/riscv/zksed.c| 20 + > > gcc/testsuite/gcc.target/riscv/zksh.c | 19 + > > 24 files changed, 1183 insertions(+), 12 deletions(-) > > create mode 100644 gcc/config/riscv/crypto.md > > create mode 100644 gcc/config/riscv/riscv-crypto.def > > create mode 100644 gcc/config/riscv/riscv_scalar_crypto.h > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb32.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb64.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc32.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc64.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx32.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx64.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknd32.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknd64.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zkne32.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zkne64.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha256.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-32.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-64.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zksed.c > > create mode 100644 gcc/testsuite/gcc.target/riscv/zksh.c > > > > -- > > 2.38.1.windows.1 > > >
Re: [PATCH V2 0/5] RISC-V: Implement Scalar Cryptography Extension
Hi Shihua: Thanks for your patches! This patch set is generally in good shape, but I would prefer to remove riscv_scalar_crypto.h at this moment since it's NOT standardized yet. Do you mind sending a new version of this patch set which does not include that and also update the testcases? On Thu, Feb 16, 2023 at 3:52 PM Liao Shihua wrote: > > This series adds basic support for the Scalar Cryptography extensions: > * Zbkb > * Zbkc > * Zbkx > * Zknd > * Zkne > * Zknh > * Zksed > * Zksh > > The implementation follows the version Scalar Cryptography v1.0.0 of the > specification, > and the intrinsic of Scalar Cryptography extensions follows riscv-c-api > which can be found here: > https://github.com/riscv/riscv-crypto/releases/tag/v1.0.0-scalar > https://github.com/riscv-non-isa/riscv-c-api-doc/pull/31 > > It works by Wu Siyu and Liao Shihua . > > Liao Shihua (5): > Add prototypes for RISC-V Crypto built-in functions > Implement ZBKB, ZBKC and ZBKX extensions > Implement ZKND and ZKNE extensions > Implement ZKNH extensions > Implement ZKSH and ZKSED extensions > > gcc/config.gcc| 2 +- > gcc/config/riscv/bitmanip.md | 20 +- > gcc/config/riscv/constraints.md | 8 + > gcc/config/riscv/crypto.md| 435 ++ > gcc/config/riscv/riscv-builtins.cc| 26 ++ > gcc/config/riscv/riscv-crypto.def | 94 > gcc/config/riscv/riscv-ftypes.def | 10 + > gcc/config/riscv/riscv.md | 4 +- > gcc/config/riscv/riscv_scalar_crypto.h| 218 + > gcc/testsuite/gcc.target/riscv/zbkb32.c | 36 ++ > gcc/testsuite/gcc.target/riscv/zbkb64.c | 28 ++ > gcc/testsuite/gcc.target/riscv/zbkc32.c | 17 + > gcc/testsuite/gcc.target/riscv/zbkc64.c | 17 + > gcc/testsuite/gcc.target/riscv/zbkx32.c | 18 + > gcc/testsuite/gcc.target/riscv/zbkx64.c | 18 + > gcc/testsuite/gcc.target/riscv/zknd32.c | 18 + > gcc/testsuite/gcc.target/riscv/zknd64.c | 36 ++ > gcc/testsuite/gcc.target/riscv/zkne32.c | 18 + > gcc/testsuite/gcc.target/riscv/zkne64.c | 30 ++ > gcc/testsuite/gcc.target/riscv/zknh-sha256.c | 29 ++ > .../gcc.target/riscv/zknh-sha512-32.c | 43 ++ > .../gcc.target/riscv/zknh-sha512-64.c | 31 ++ > gcc/testsuite/gcc.target/riscv/zksed.c| 20 + > gcc/testsuite/gcc.target/riscv/zksh.c | 19 + > 24 files changed, 1183 insertions(+), 12 deletions(-) > create mode 100644 gcc/config/riscv/crypto.md > create mode 100644 gcc/config/riscv/riscv-crypto.def > create mode 100644 gcc/config/riscv/riscv_scalar_crypto.h > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb32.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkb64.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc32.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkc64.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx32.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zbkx64.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zknd32.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zknd64.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zkne32.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zkne64.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha256.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-32.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-64.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zksed.c > create mode 100644 gcc/testsuite/gcc.target/riscv/zksh.c > > -- > 2.38.1.windows.1 >