gcm128.c: make it work with no-sse2.
authorAndy Polyakov <appro@openssl.org>
Sat, 12 Feb 2011 11:47:55 +0000 (11:47 +0000)
committerAndy Polyakov <appro@openssl.org>
Sat, 12 Feb 2011 11:47:55 +0000 (11:47 +0000)
crypto/modes/gcm128.c

index 1287bce7735dec159e395433e2f847d6a2421a10..cdb6c847a96516324497640fcef4440ecd7f7d4b 100644 (file)
@@ -719,12 +719,14 @@ void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx,void *key,block128_f block)
        gcm_init_8bit(ctx->Htable,ctx->H.u);
 #elif  TABLE_BITS==4
 # 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)) {
                gcm_init_clmul(ctx->Htable,ctx->H.u);
                ctx->gmult = gcm_gmult_clmul;
                ctx->ghash = gcm_ghash_clmul;
                return;
        }
+#  endif
        gcm_init_4bit(ctx->Htable,ctx->H.u);
 #  if  defined(GHASH_ASM_X86)                  /* x86 only */
        if (OPENSSL_ia32cap_P[0]&(1<<23)) {