CVSROOT: /cvs Module name: src Changes by: js...@cvs.openbsd.org 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@