Update Power8 support for Autotools

pull/548/head
Jeffrey Walton 2017-11-14 20:54:43 -05:00
parent 8fee0bb13f
commit a3784a3ac5
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
2 changed files with 18 additions and 16 deletions

View File

@ -419,17 +419,6 @@ ifeq ($(XLC_COMPILER),1)
CXXFLAGS += -q32
endif
endif
ifeq ($(findstring -q64,$(CXXFLAGS)),-q64)
ifeq ($(findstring -X64,$(ARFLAGS)),)
ARFLAGS := -r -X64
endif
else
ifeq ($(findstring -q32,$(CXXFLAGS)),-q32)
ifeq ($(findstring -X32,$(ARFLAGS)),)
ARFLAGS := -r -X32
endif
endif
endif
endif
endif # X86, X64, ARM32, ARM64, PPC32, PPC64, etc

View File

@ -610,23 +610,36 @@ NAMESPACE_END
#if (CRYPTOPP_BOOL_PPC32 || CRYPTOPP_BOOL_PPC64)
#if defined(CRYPTOPP_DISABLE_ALTIVEC) || defined(CRYPTOPP_DISABLE_ASM)
# undef CRYPTOPP_DISABLE_ALTIVEC
# undef CRYPTOPP_DISABLE_POWER7
# undef CRYPTOPP_DISABLE_POWER8
# define CRYPTOPP_DISABLE_ALTIVEC 1
# define CRYPTOPP_DISABLE_POWER7 1
# define CRYPTOPP_DISABLE_POWER8 1
#endif
// An old Apple G5 with GCC 4.01 has AltiVec, but its only Power4 or so.
// We need Power7 or above, so the makefile defines CRYPTOPP_DISABLE_ALTIVEC.
#if !defined(CRYPTOPP_POWER7_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) && !defined(CRYPTOPP_DISABLE_ASM)
# if defined(_ARCH_PWR7) || (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40000)
#if !defined(CRYPTOPP_ALTIVEC_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC)
# if defined(_ARCH_PWR4) || (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40100)
# define CRYPTOPP_ALTIVEC_AVAILABLE 1
# endif
#endif
#if !defined(CRYPTOPP_POWER7_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER7) && defined(CRYPTOPP_ALTIVEC_AVAILABLE)
# if defined(_ARCH_PWR7) || (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40100)
# define CRYPTOPP_POWER7_AVAILABLE 1
# endif
#endif
#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) && !defined(CRYPTOPP_DISABLE_ASM)
#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8) && defined(CRYPTOPP_POWER7_AVAILABLE)
# if defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || (CRYPTOPP_GCC_VERSION >= 40800)
# define CRYPTOPP_ALTIVEC_AVAILABLE 1
# define CRYPTOPP_POWER8_AVAILABLE 1
# endif
#endif
#if !defined(CRYPTOPP_POWER8_CRYPTO_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) && !defined(CRYPTOPP_DISABLE_ASM)
#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8) && defined(CRYPTOPP_POWER7_AVAILABLE)
# if defined(__CRYPTO__) || defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || (CRYPTOPP_GCC_VERSION >= 40800)
# define CRYPTOPP_POWER8_AES_AVAILABLE 1
//# define CRYPTOPP_POWER8_SHA_AVAILABLE 1