diff options
author | Jerry Shih <bignose1007@gmail.com> | 2024-03-09 15:03:56 +0800 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2024-04-17 16:55:03 +0200 |
commit | da8b6308bd7ad5b7c779aa2d9123bf5faacaec7f (patch) | |
tree | 988c7558b2b03f0b6d01cb69c72962fb71526f0f /crypto/chacha/build.info | |
parent | 96939f1e2c6ac1264142ef62c9925786f5723649 (diff) |
Use scalar ALU and vector ALU together for chacha20 stream cipher
Fixes #24070
Use scalar ALU for 1 chacha block with rvv ALU simultaneously.
The tail elements(non-multiple of block length) will be handled by
the scalar logic.
Use rvv path if the input length > chacha_block_size.
And we have about 1.2x improvement comparing with the original code.
Reviewed-by: Hongren Zheng <i@zenithal.me>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24097)
Diffstat (limited to 'crypto/chacha/build.info')
-rw-r--r-- | crypto/chacha/build.info | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/chacha/build.info b/crypto/chacha/build.info index fb30b7f74f..c1352c9b62 100644 --- a/crypto/chacha/build.info +++ b/crypto/chacha/build.info @@ -22,7 +22,7 @@ IF[{- !$disabled{asm} -}] $CHACHAASM_c64xplus=chacha-c64xplus.s - $CHACHAASM_riscv64=chacha_riscv.c chacha_enc.c chacha-riscv64-zvkb.s + $CHACHAASM_riscv64=chacha_riscv.c chacha_enc.c chacha-riscv64-zbb-zvkb.s $CHACHADEF_riscv64=INCLUDE_C_CHACHA20 # Now that we have defined all the arch specific variables, use the @@ -53,4 +53,4 @@ GENERATE[chacha-s390x.S]=asm/chacha-s390x.pl GENERATE[chacha-ia64.S]=asm/chacha-ia64.pl GENERATE[chacha-ia64.s]=chacha-ia64.S GENERATE[chacha-loongarch64.S]=asm/chacha-loongarch64.pl -GENERATE[chacha-riscv64-zvkb.s]=asm/chacha-riscv64-zvkb.pl +GENERATE[chacha-riscv64-zbb-zvkb.s]=asm/chacha-riscv64-zbb-zvkb.pl |