summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/arch/i386/Makefile.inc3
-rw-r--r--src/lib/libcrypto/bn/asm/bn-586.pl3
-rwxr-xr-xsrc/lib/libcrypto/bn/asm/x86-mont.pl3
-rw-r--r--src/lib/libcrypto/evp/e_aes.c4
-rw-r--r--src/lib/libcrypto/modes/asm/ghash-x86.pl3
-rw-r--r--src/lib/libcrypto/modes/gcm128.c8
-rw-r--r--src/lib/libcrypto/sha/asm/sha1-586.pl5
-rw-r--r--src/lib/libcrypto/sha/asm/sha512-586.pl3
8 files changed, 9 insertions, 23 deletions
diff --git a/src/lib/libcrypto/arch/i386/Makefile.inc b/src/lib/libcrypto/arch/i386/Makefile.inc
index 4bcf8e2bbc..e593c31467 100644
--- a/src/lib/libcrypto/arch/i386/Makefile.inc
+++ b/src/lib/libcrypto/arch/i386/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.28 2025/04/18 13:19:39 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.29 2025/06/09 14:28:33 jsing Exp $
2 2
3# i386-specific libcrypto build rules 3# i386-specific libcrypto build rules
4 4
@@ -12,7 +12,6 @@ CFLAGS+= -DAES_ASM
12SSLASM+= aes aes-586 12SSLASM+= aes aes-586
13SSLASM+= aes aesni-x86 13SSLASM+= aes aesni-x86
14# bn 14# bn
15CFLAGS+= -DOPENSSL_IA32_SSE2
16SSLASM+= bn bn-586 15SSLASM+= bn bn-586
17SSLASM+= bn co-586 16SSLASM+= bn co-586
18CFLAGS+= -DOPENSSL_BN_ASM_MONT 17CFLAGS+= -DOPENSSL_BN_ASM_MONT
diff --git a/src/lib/libcrypto/bn/asm/bn-586.pl b/src/lib/libcrypto/bn/asm/bn-586.pl
index 71b775af8d..19a1afdbbe 100644
--- a/src/lib/libcrypto/bn/asm/bn-586.pl
+++ b/src/lib/libcrypto/bn/asm/bn-586.pl
@@ -6,8 +6,7 @@ require "x86asm.pl";
6 6
7&asm_init($ARGV[0],$0); 7&asm_init($ARGV[0],$0);
8 8
9$sse2=0; 9$sse2=1;
10for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
11 10
12&external_label("OPENSSL_ia32cap_P") if ($sse2); 11&external_label("OPENSSL_ia32cap_P") if ($sse2);
13 12
diff --git a/src/lib/libcrypto/bn/asm/x86-mont.pl b/src/lib/libcrypto/bn/asm/x86-mont.pl
index 6524651748..3be440f11f 100755
--- a/src/lib/libcrypto/bn/asm/x86-mont.pl
+++ b/src/lib/libcrypto/bn/asm/x86-mont.pl
@@ -32,8 +32,7 @@ require "x86asm.pl";
32 32
33&asm_init($ARGV[0],$0); 33&asm_init($ARGV[0],$0);
34 34
35$sse2=0; 35$sse2=1;
36for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
37 36
38&external_label("OPENSSL_ia32cap_P") if ($sse2); 37&external_label("OPENSSL_ia32cap_P") if ($sse2);
39 38
diff --git a/src/lib/libcrypto/evp/e_aes.c b/src/lib/libcrypto/evp/e_aes.c
index 74d86c98d8..42c0fb45ed 100644
--- a/src/lib/libcrypto/evp/e_aes.c
+++ b/src/lib/libcrypto/evp/e_aes.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: e_aes.c,v 1.70 2025/06/06 07:41:01 tb Exp $ */ 1/* $OpenBSD: e_aes.c,v 1.71 2025/06/09 14:28:34 jsing Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -115,7 +115,7 @@ void AES_xts_decrypt(const char *inp, char *out, size_t len,
115 115
116#if defined(AES_ASM) && ( \ 116#if defined(AES_ASM) && ( \
117 ((defined(__i386) || defined(__i386__) || \ 117 ((defined(__i386) || defined(__i386__) || \
118 defined(_M_IX86)) && defined(OPENSSL_IA32_SSE2))|| \ 118 defined(_M_IX86)))|| \
119 defined(__x86_64) || defined(__x86_64__) || \ 119 defined(__x86_64) || defined(__x86_64__) || \
120 defined(_M_AMD64) || defined(_M_X64) || \ 120 defined(_M_AMD64) || defined(_M_X64) || \
121 defined(__INTEL__) ) 121 defined(__INTEL__) )
diff --git a/src/lib/libcrypto/modes/asm/ghash-x86.pl b/src/lib/libcrypto/modes/asm/ghash-x86.pl
index 47833582b6..395c680cc5 100644
--- a/src/lib/libcrypto/modes/asm/ghash-x86.pl
+++ b/src/lib/libcrypto/modes/asm/ghash-x86.pl
@@ -119,8 +119,7 @@ require "x86asm.pl";
119 119
120&asm_init($ARGV[0],"ghash-x86.pl",$x86only = $ARGV[$#ARGV] eq "386"); 120&asm_init($ARGV[0],"ghash-x86.pl",$x86only = $ARGV[$#ARGV] eq "386");
121 121
122$sse2=0; 122$sse2=1;
123for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
124 123
125($Zhh,$Zhl,$Zlh,$Zll) = ("ebp","edx","ecx","ebx"); 124($Zhh,$Zhl,$Zlh,$Zll) = ("ebp","edx","ecx","ebx");
126$inp = "edi"; 125$inp = "edi";
diff --git a/src/lib/libcrypto/modes/gcm128.c b/src/lib/libcrypto/modes/gcm128.c
index 2540b7cf3d..8136c2cde2 100644
--- a/src/lib/libcrypto/modes/gcm128.c
+++ b/src/lib/libcrypto/modes/gcm128.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gcm128.c,v 1.50 2025/06/08 07:49:45 jsing Exp $ */ 1/* $OpenBSD: gcm128.c,v 1.51 2025/06/09 14:28:34 jsing Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 2010 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 2010 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -259,7 +259,6 @@ CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block)
259 ctx->H.u[1] = be64toh(ctx->H.u[1]); 259 ctx->H.u[1] = be64toh(ctx->H.u[1]);
260 260
261# if defined(GHASH_ASM_X86_OR_64) 261# if defined(GHASH_ASM_X86_OR_64)
262# if !defined(GHASH_ASM_X86) || defined(OPENSSL_IA32_SSE2)
263 /* check FXSR and PCLMULQDQ bits */ 262 /* check FXSR and PCLMULQDQ bits */
264 if ((crypto_cpu_caps_ia32() & (CPUCAP_MASK_FXSR | CPUCAP_MASK_PCLMUL)) == 263 if ((crypto_cpu_caps_ia32() & (CPUCAP_MASK_FXSR | CPUCAP_MASK_PCLMUL)) ==
265 (CPUCAP_MASK_FXSR | CPUCAP_MASK_PCLMUL)) { 264 (CPUCAP_MASK_FXSR | CPUCAP_MASK_PCLMUL)) {
@@ -268,14 +267,9 @@ CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block)
268 ctx->ghash = gcm_ghash_clmul; 267 ctx->ghash = gcm_ghash_clmul;
269 return; 268 return;
270 } 269 }
271# endif
272 gcm_init_4bit(ctx->Htable, ctx->H.u); 270 gcm_init_4bit(ctx->Htable, ctx->H.u);
273# if defined(GHASH_ASM_X86) /* x86 only */ 271# if defined(GHASH_ASM_X86) /* x86 only */
274# if defined(OPENSSL_IA32_SSE2)
275 if (crypto_cpu_caps_ia32() & CPUCAP_MASK_SSE) { /* check SSE bit */
276# else
277 if (crypto_cpu_caps_ia32() & CPUCAP_MASK_MMX) { /* check MMX bit */ 272 if (crypto_cpu_caps_ia32() & CPUCAP_MASK_MMX) { /* check MMX bit */
278# endif
279 ctx->gmult = gcm_gmult_4bit_mmx; 273 ctx->gmult = gcm_gmult_4bit_mmx;
280 ctx->ghash = gcm_ghash_4bit_mmx; 274 ctx->ghash = gcm_ghash_4bit_mmx;
281 } else { 275 } else {
diff --git a/src/lib/libcrypto/sha/asm/sha1-586.pl b/src/lib/libcrypto/sha/asm/sha1-586.pl
index 72dd3badb1..d2491766f3 100644
--- a/src/lib/libcrypto/sha/asm/sha1-586.pl
+++ b/src/lib/libcrypto/sha/asm/sha1-586.pl
@@ -104,10 +104,7 @@ require "x86asm.pl";
104 104
105&asm_init($ARGV[0],"sha1-586.pl",$ARGV[$#ARGV] eq "386"); 105&asm_init($ARGV[0],"sha1-586.pl",$ARGV[$#ARGV] eq "386");
106 106
107$xmm=$ymm=0; 107$xmm=$ymm=1;
108for (@ARGV) { $xmm=1 if (/-DOPENSSL_IA32_SSE2/); }
109
110$ymm=1 if $xmm;
111 108
112&external_label("OPENSSL_ia32cap_P") if ($xmm); 109&external_label("OPENSSL_ia32cap_P") if ($xmm);
113 110
diff --git a/src/lib/libcrypto/sha/asm/sha512-586.pl b/src/lib/libcrypto/sha/asm/sha512-586.pl
index c1d0684e92..fe1ff487bc 100644
--- a/src/lib/libcrypto/sha/asm/sha512-586.pl
+++ b/src/lib/libcrypto/sha/asm/sha512-586.pl
@@ -38,8 +38,7 @@ require "x86asm.pl";
38 38
39&asm_init($ARGV[0],"sha512-586.pl",$ARGV[$#ARGV] eq "386"); 39&asm_init($ARGV[0],"sha512-586.pl",$ARGV[$#ARGV] eq "386");
40 40
41$sse2=0; 41$sse2=1;
42for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
43 42
44&external_label("OPENSSL_ia32cap_P") if ($sse2); 43&external_label("OPENSSL_ia32cap_P") if ($sse2);
45 44