Branch: refs/heads/master
Home:
https://github.com/openssl/openssl
Commit: 91f7d4e76eb4d21a277df27a34ef10a7540e81a8
https://github.com/openssl/openssl/commit/91f7d4e76eb4d21a277df27a34ef10a7540e81a8
Author: Danny Tsen <
dt...@us.ibm.com>
Date: 2026-04-14 (Tue, 14 Apr 2026)
Changed paths:
A crypto/ml_kem/asm/mlkem_intt_ppc64le.S
A crypto/ml_kem/asm/mlkem_ntt_ppc64le.S
A crypto/ml_kem/asm/mlkem_ppc_macros_asm.inc
M crypto/ml_kem/
build.info
M crypto/ml_kem/ml_kem.c
Log Message:
-----------
ppc64le: Optimized MLKEM NTT, supports p8 (ISA 2.07) and above architectures.
Optimized MKEM NTT implementation for ppc64le for ISA 2.07 and above architectures.
Supporting files include,
asm/mlkem_ntt_ppc64le.S: supports NTT.
asm/mlkem_intt_ppc64le.S: supports inverse NTT.
asm/mlkem_ppc_macros_asm.S: PPC64LE macros.
Modified
build.info to support ppc64le assembly implementation.
Added new definitions of MLKEM_NTT_ASM for NTT and inverse NTT for
optimized assembly implementation.
This is the initial archtecture specific implementation so can be mdified
to adapt to a new build structures.
Baseline speed test:
keygen encaps decaps keygens/s encaps/s decaps/s
ML-KEM-512 0.000037s 0.000030s 0.000046s 26744.7 33529.5 21875.6
ML-KEM-768 0.000059s 0.000043s 0.000066s 16836.6 23118.8 15198.3
ML-KEM-1024 0.000088s 0.000060s 0.000089s 11406.2 16749.7 11265.8
Optimized:
keygen encaps decaps keygens/s encaps/s decaps/s
ML-KEM-512 0.000023s 0.000015s 0.000022s 42789.9 65006.8 46064.6
ML-KEM-768 0.000038s 0.000023s 0.000032s 25983.3 43731.1 31254.7
ML-KEM-1024 0.000060s 0.000033s 0.000045s 16662.7 30708.2 22034.6
The optimized code runs around 1.9 times faster than the original C implementation.
Tested-by: Eugene Syromiatnikov <
es...@openssl.org>
Signed-off-by: Danny Tsen <
dt...@us.ibm.com>
Reviewed-by: Neil Horman <
nho...@openssl.org>
Reviewed-by: Eugene Syromiatnikov <
es...@openssl.org>
MergeDate: Tue Apr 14 08:23:42 2026
(Merged from
https://github.com/openssl/openssl/pull/30709)
To unsubscribe from these emails, change your notification settings at
https://github.com/openssl/openssl/settings/notifications