Commit a6d915e0 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

gcm128.c: make it work with no-sse2.

parent 975138ed
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -719,12 +719,14 @@ void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx,void *key,block128_f block)
	gcm_init_8bit(ctx->Htable,ctx->H.u);
	gcm_init_8bit(ctx->Htable,ctx->H.u);
#elif	TABLE_BITS==4
#elif	TABLE_BITS==4
# if	defined(GHASH_ASM_IAX)			/* both x86 and x86_64 */
# if	defined(GHASH_ASM_IAX)			/* both x86 and x86_64 */
#  if	!defined(GHASH_ASM_X86) || defined(OPENSSL_IA32_SSE2)
	if (OPENSSL_ia32cap_P[1]&(1<<1)) {
	if (OPENSSL_ia32cap_P[1]&(1<<1)) {
		gcm_init_clmul(ctx->Htable,ctx->H.u);
		gcm_init_clmul(ctx->Htable,ctx->H.u);
		ctx->gmult = gcm_gmult_clmul;
		ctx->gmult = gcm_gmult_clmul;
		ctx->ghash = gcm_ghash_clmul;
		ctx->ghash = gcm_ghash_clmul;
		return;
		return;
	}
	}
#  endif
	gcm_init_4bit(ctx->Htable,ctx->H.u);
	gcm_init_4bit(ctx->Htable,ctx->H.u);
#  if	defined(GHASH_ASM_X86)			/* x86 only */
#  if	defined(GHASH_ASM_X86)			/* x86 only */
	if (OPENSSL_ia32cap_P[0]&(1<<23)) {
	if (OPENSSL_ia32cap_P[0]&(1<<23)) {