CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/06/09 08:28:34
Modified files:
lib/libcrypto/arch/i386: Makefile.inc
lib/libcrypto/bn/asm: bn-586.pl x86-mont.pl
lib/libcrypto/evp: e_aes.c
lib/libcrypto/modes: gcm128.c
lib/libcrypto/modes/asm: ghash-x86.pl
lib/libcrypto/sha/asm: sha1-586.pl sha512-586.pl
Log message:
Make OPENSSL_IA32_SSE2 the default for i386 and remove the flag.
The OPENSSL_IA32_SSE2 flag controls whether a number of the perlasm
scripts generate additional implementations that use SSE2 functionality.
In all cases except ghash, the code checks OPENSSL_ia32cap_P for SSE2
support, before trying to run SSE2 code. For ghash it generates a CLMUL
based implementation in addition to different MMX version (one MMX
version hides behind OPENSSL_IA32_SSE2, the other does not), however this
does not appear to actually use SSE2. We also disable AES-NI on i386 if
OPENSSL_IA32_SSE2.
On OpenBSD, we've always defined OPENSSL_IA32_SSE2 so this is effectively
a no-op. The only change is that we now check MMX rather than SSE2 for the
ghash MMX implementation.
ok bcook@ beck@