openssl/crypto/md5
Jonathan Swinney ebe34f9a62 Optimize x86/aarch64 MD5 implementation
As suggested in https://github.com/animetosho/md5-optimisation?tab=readme-ov-file#dependency-shortcut-in-g-function,
we can delay the dependency on 'x' by recognizing that ((x & z) | (y & ~z))
is equivalent to ((x & z) + (y + ~z)) in this scenario, and we can perform
those additions independently, leaving our dependency on x to the final
addition. This speeds it up around 5% on both platforms.

Signed-off-by: Oli Gillespie <ogillesp@amazon.com>

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Hugo Landau <hlandau@devever.net>
(Merged from https://github.com/openssl/openssl/pull/25737)
2025-01-06 11:43:36 +01:00
..
asm Optimize x86/aarch64 MD5 implementation 2025-01-06 11:43:36 +01:00
build.info md5: add assembly implementation for loongarch64 2023-12-27 10:15:29 +01:00
md5_dgst.c
md5_local.h md5: add assembly implementation for loongarch64 2023-12-27 10:15:29 +01:00
md5_one.c
md5_sha1.c Rename md5_sha1_* ossl_md5_sha1_* 2020-11-19 07:38:53 +10:00