Index: crypto/external/bsd/openssl/dist/crypto/engine/eng_aesni.c =================================================================== RCS file: /cvsroot/src/crypto/external/bsd/openssl/dist/crypto/engine/eng_aesni.c,v retrieving revision 1.6 diff -p -u -r1.6 eng_aesni.c --- crypto/external/bsd/openssl/dist/crypto/engine/eng_aesni.c 26 Jul 2012 20:21:20 -0000 1.6 +++ crypto/external/bsd/openssl/dist/crypto/engine/eng_aesni.c 17 Feb 2013 19:11:03 -0000 @@ -152,23 +152,11 @@ static const char aesni_id[] = "aesni" /* ===== Engine "management" functions ===== */ -#if defined(_WIN32) -typedef unsigned __int64 IA32CAP; -#else -typedef unsigned long long IA32CAP; -#endif - /* Prepare the ENGINE structure for registration */ static int aesni_bind_helper(ENGINE *e) { - int engage; - if (sizeof(OPENSSL_ia32cap_P) > 4) { - engage = (int)((OPENSSL_ia32cap_P[0] >> 30) >> 27) & 1; - } else { - IA32CAP OPENSSL_ia32_cpuid(void); - engage = (int)(OPENSSL_ia32_cpuid() >> 57) & 1; - } + int engage = (OPENSSL_ia32cap_P[1] & (1 << (57-32))) != 0; /* Register everything or return with an error */ if (!ENGINE_set_id(e, aesni_id) ||