I386_ONLY was used to prefer a different assembler sequence in the sha512 code, which would be faster on 80386 processors, but slower on 80486 and above.
This code path has never been enabled, and there are actually no plans to make libcrypto friendlier to genuine 80386 chips, so why bother keeping this - it's only contributing to obfuscation. Index: cryptlib.c =================================================================== RCS file: /cvs/src/lib/libcrypto/cryptlib.c,v retrieving revision 1.37 diff -u -p -r1.37 cryptlib.c --- cryptlib.c 13 Sep 2015 16:56:11 -0000 1.37 +++ cryptlib.c 4 Nov 2016 08:49:22 -0000 @@ -635,7 +635,7 @@ OPENSSL_cpu_caps(void) return *(uint64_t *)OPENSSL_ia32cap_P; } -#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY) +#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) #define OPENSSL_CPUID_SETUP typedef unsigned long long IA32CAP; void Index: md32_common.h =================================================================== RCS file: /cvs/src/lib/libcrypto/md32_common.h,v retrieving revision 1.21 diff -u -p -r1.21 md32_common.h --- md32_common.h 4 Sep 2016 14:31:29 -0000 1.21 +++ md32_common.h 4 Nov 2016 08:49:22 -0000 @@ -152,8 +152,8 @@ static inline uint32_t ROTATE(uint32_t a #if defined(DATA_ORDER_IS_BIG_ENDIAN) #if defined(__GNUC__) && __GNUC__>=2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) -# if ((defined(__i386) || defined(__i386__)) && !defined(I386_ONLY)) || \ - (defined(__x86_64) || defined(__x86_64__)) +# if (defined(__i386) || defined(__i386__) || \ + defined(__x86_64) || defined(__x86_64__)) /* * This gives ~30-40% performance improvement in SHA-256 compiled * with gcc [on P4]. Well, first macro to be frank. We can pull Index: arch/alpha/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/alpha/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/alpha/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/alpha/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/amd64/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/amd64/opensslconf.h,v retrieving revision 1.9 diff -u -p -r1.9 opensslconf.h --- arch/amd64/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.9 +++ arch/amd64/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/arm/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/arm/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/arm/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/arm/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/hppa/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/hppa/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/hppa/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/hppa/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/i386/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/i386/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/i386/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/i386/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/m88k/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/m88k/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/m88k/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/m88k/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/mips64/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/mips64/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/mips64/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/mips64/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/powerpc/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/powerpc/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/powerpc/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/powerpc/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/sh/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/sh/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/sh/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/sh/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/sparc/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/sparc/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/sparc/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/sparc/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: arch/sparc64/opensslconf.h =================================================================== RCS file: /cvs/src/lib/libcrypto/arch/sparc64/opensslconf.h,v retrieving revision 1.7 diff -u -p -r1.7 opensslconf.h --- arch/sparc64/opensslconf.h 19 Jun 2015 06:05:11 -0000 1.7 +++ arch/sparc64/opensslconf.h 4 Nov 2016 08:49:22 -0000 @@ -1,9 +1,6 @@ #include <openssl/opensslfeatures.h> /* crypto/opensslconf.h.in */ -/* Generate 80386 code? */ -#undef I386_ONLY - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) #define OPENSSLDIR "/etc/ssl" #endif Index: engine/eng_padlock.c =================================================================== RCS file: /cvs/src/lib/libcrypto/engine/eng_padlock.c,v retrieving revision 1.14 diff -u -p -r1.14 eng_padlock.c --- engine/eng_padlock.c 7 Feb 2015 13:19:15 -0000 1.14 +++ engine/eng_padlock.c 4 Nov 2016 08:49:23 -0000 @@ -100,7 +100,7 @@ In addition, because of the heavy use of inline assembler, compiler choice is limited to GCC and Microsoft C. */ #undef COMPILE_HW_PADLOCK -#if !defined(I386_ONLY) && !defined(OPENSSL_NO_INLINE_ASM) +#if !defined(OPENSSL_NO_INLINE_ASM) # if (defined(__GNUC__) && (defined(__i386__) || defined(__i386))) # define COMPILE_HW_PADLOCK # endif Index: evp/e_aes.c =================================================================== RCS file: /cvs/src/lib/libcrypto/evp/e_aes.c,v retrieving revision 1.29 diff -u -p -r1.29 e_aes.c --- evp/e_aes.c 10 Sep 2015 15:56:25 -0000 1.29 +++ evp/e_aes.c 4 Nov 2016 08:49:23 -0000 @@ -143,14 +143,14 @@ void AES_xts_decrypt(const char *inp, ch const AES_KEY *key1, const AES_KEY *key2, const unsigned char iv[16]); #endif -#if defined(AES_ASM) && !defined(I386_ONLY) && ( \ +#if defined(AES_ASM) && ( \ ((defined(__i386) || defined(__i386__) || \ defined(_M_IX86)) && defined(OPENSSL_IA32_SSE2))|| \ defined(__x86_64) || defined(__x86_64__) || \ defined(_M_AMD64) || defined(_M_X64) || \ defined(__INTEL__) ) -extern unsigned int OPENSSL_ia32cap_P[2]; +extern unsigned int OPENSSL_ia32cap_P[]; #ifdef VPAES_ASM #define VPAES_CAPABLE (OPENSSL_ia32cap_P[1]&(1<<(41-32))) Index: modes/gcm128.c =================================================================== RCS file: /cvs/src/lib/libcrypto/modes/gcm128.c,v retrieving revision 1.13 diff -u -p -r1.13 gcm128.c --- modes/gcm128.c 10 Sep 2015 15:56:25 -0000 1.13 +++ modes/gcm128.c 4 Nov 2016 08:49:23 -0000 @@ -638,8 +638,7 @@ static void gcm_gmult_1bit(u64 Xi[2],con #endif #if TABLE_BITS==4 && defined(GHASH_ASM) -# if !defined(I386_ONLY) && \ - (defined(__i386) || defined(__i386__) || \ +# if (defined(__i386) || defined(__i386__) || \ defined(__x86_64) || defined(__x86_64__) || \ defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64)) # define GHASH_ASM_X86_OR_64 Index: modes/modes_lcl.h =================================================================== RCS file: /cvs/src/lib/libcrypto/modes/modes_lcl.h,v retrieving revision 1.8 diff -u -p -r1.8 modes_lcl.h --- modes/modes_lcl.h 10 Jul 2014 22:45:57 -0000 1.8 +++ modes/modes_lcl.h 4 Nov 2016 08:49:23 -0000 @@ -34,7 +34,7 @@ typedef unsigned char u8; # define BSWAP4(x) ({ u32 ret=(x); \ asm ("bswapl %0" \ : "+r"(ret)); ret; }) -# elif (defined(__i386) || defined(__i386__)) && !defined(I386_ONLY) +# elif (defined(__i386) || defined(__i386__)) # define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \ asm ("bswapl %0; bswapl %1" \ : "+r"(hi),"+r"(lo)); \ Index: sha/sha512.c =================================================================== RCS file: /cvs/src/lib/libcrypto/sha/sha512.c,v retrieving revision 1.14 diff -u -p -r1.14 sha512.c --- sha/sha512.c 10 Sep 2015 15:56:26 -0000 1.14 +++ sha/sha512.c 4 Nov 2016 08:49:23 -0000 @@ -320,23 +320,12 @@ static const SHA_LONG64 K512[80] = { : "=r"(ret) \ : "0"(ret)); ret; }) # elif (defined(__i386) || defined(__i386__)) -# if defined(I386_ONLY) -# define PULL64(x) ({ const unsigned int *p=(const unsigned int *)(&(x));\ - unsigned int hi=p[0],lo=p[1]; \ - asm("xchgb %%ah,%%al;xchgb %%dh,%%dl;"\ - "roll $16,%%eax; roll $16,%%edx; "\ - "xchgb %%ah,%%al;xchgb %%dh,%%dl;" \ - : "=a"(lo),"=d"(hi) \ - : "0"(lo),"1"(hi) : "cc"); \ - ((SHA_LONG64)hi)<<32|lo; }) -# else # define PULL64(x) ({ const unsigned int *p=(const unsigned int *)(&(x));\ unsigned int hi=p[0],lo=p[1]; \ asm ("bswapl %0; bswapl %1;" \ : "=r"(lo),"=r"(hi) \ : "0"(lo),"1"(hi)); \ ((SHA_LONG64)hi)<<32|lo; }) -# endif # elif (defined(_ARCH_PPC) && defined(__64BIT__)) || defined(_ARCH_PPC64) # define ROTR(a,n) ({ SHA_LONG64 ret; \ asm ("rotrdi %0,%1,%2" \