From 126a2d3ddac6e54e807fc6e4f115de54de845ce4 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Wed, 31 Dec 2025 10:16:24 +0000 Subject: Require SSE in order to use gcm_{gmult,ghash}_4bit_mmx(). Contrary to naming, the '"June" MMX version' of gcm_ghash_4bit_mmx() uses SSE, while the 'pure-MMX "May" version' does not. This detail got missed when I was untangling OPENSSL_IA32_SSE2. Found the hard way by Tate Baldwin and Dennis Camera. --- src/lib/libcrypto/modes/gcm128_i386.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/libcrypto') diff --git a/src/lib/libcrypto/modes/gcm128_i386.c b/src/lib/libcrypto/modes/gcm128_i386.c index ac517fdb04..14b0b9ce64 100644 --- a/src/lib/libcrypto/modes/gcm128_i386.c +++ b/src/lib/libcrypto/modes/gcm128_i386.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gcm128_i386.c,v 1.1 2025/06/28 12:39:10 jsing Exp $ */ +/* $OpenBSD: gcm128_i386.c,v 1.2 2025/12/31 10:16:24 jsing Exp $ */ /* * Copyright (c) 2025 Joel Sing * @@ -43,7 +43,7 @@ gcm128_init(GCM128_CONTEXT *ctx) return; } - if ((crypto_cpu_caps_i386 & CRYPTO_CPU_CAPS_I386_MMX) != 0) { + if ((crypto_cpu_caps_i386 & CRYPTO_CPU_CAPS_I386_SSE) != 0) { gcm_init_4bit(ctx->Htable, ctx->H.u); ctx->gmult = gcm_gmult_4bit_mmx; ctx->ghash = gcm_ghash_4bit_mmx; -- cgit v1.2.3-55-g6feb