summaryrefslogtreecommitdiff
path: root/config_asm.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-10-23 18:15:47 -0400
committerGitHub <noreply@github.com>2019-10-23 18:15:47 -0400
commit06cee3cdf488aef5afb1d98effa6f1e76d492189 (patch)
tree98f9d460067d6e575c0dc93295de832bacedcab0 /config_asm.h
parentaeadfcfc5b482b52f1d43af386c0953914483aca (diff)
downloadcryptopp-git-06cee3cdf488aef5afb1d98effa6f1e76d492189.tar.gz
Fix AIX and Linux compiles for PowerPC (PR #902)
Diffstat (limited to 'config_asm.h')
-rw-r--r--config_asm.h26
1 files changed, 17 insertions, 9 deletions
diff --git a/config_asm.h b/config_asm.h
index 1c60c54d..a2028d5c 100644
--- a/config_asm.h
+++ b/config_asm.h
@@ -411,6 +411,8 @@
# endif
#endif
+#if defined(CRYPTOPP_ALTIVEC_AVAILABLE)
+
// We need Power7 for unaligned loads and stores
#if !defined(CRYPTOPP_POWER7_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER7)
# if defined(_ARCH_PWR7) || (CRYPTOPP_XLC_VERSION >= 100000) || \
@@ -419,6 +421,8 @@
# endif
#endif
+#if defined(CRYPTOPP_POWER7_AVAILABLE)
+
// We need Power8 for in-core crypto and 64-bit vector types
#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8)
# if defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || \
@@ -427,14 +431,6 @@
# endif
#endif
-// Power9 for random numbers
-#if !defined(CRYPTOPP_POWER9_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER9)
-# if defined(_ARCH_PWR9) || (CRYPTOPP_XLC_VERSION >= 130200) || \
- (CRYPTOPP_GCC_VERSION >= 70000) || (CRYPTOPP_LLVM_CLANG_VERSION >= 80000)
-# define CRYPTOPP_POWER9_AVAILABLE 1
-# endif
-#endif
-
#if !defined(CRYPTOPP_POWER8_AES_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8_AES) && defined(CRYPTOPP_POWER8_AVAILABLE)
# if defined(__CRYPTO__) || defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || \
(CRYPTOPP_GCC_VERSION >= 40800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 70000)
@@ -445,8 +441,20 @@
# endif
#endif
-#endif // CRYPTOPP_DISABLE_ASM
+#if defined(CRYPTOPP_POWER8_AVAILABLE)
+
+// Power9 for random numbers
+#if !defined(CRYPTOPP_POWER9_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER9)
+# if defined(_ARCH_PWR9) || (CRYPTOPP_XLC_VERSION >= 130200) || \
+ (CRYPTOPP_GCC_VERSION >= 70000) || (CRYPTOPP_LLVM_CLANG_VERSION >= 80000)
+# define CRYPTOPP_POWER9_AVAILABLE 1
+# endif
+#endif
+#endif // CRYPTOPP_POWER8_AVAILABLE
+#endif // CRYPTOPP_POWER7_AVAILABLE
+#endif // CRYPTOPP_ALTIVEC_AVAILABLE
+#endif // CRYPTOPP_DISABLE_ASM
#endif // PPC32, PPC64
#endif // CRYPTOPP_CONFIG_ASM_H