summaryrefslogtreecommitdiff
path: root/blake2b_simd.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-11-21 00:25:05 -0500
committerJeffrey Walton <noloader@gmail.com>2018-11-21 00:25:05 -0500
commit0998b40d2da6da5b257f38e9535a981ebc1b6e30 (patch)
tree971d80d95d7be7facc5334c87b72baee8b890c98 /blake2b_simd.cpp
parenta65d55a3fd0b752fd23e10ec1555192621c322a8 (diff)
downloadcryptopp-git-0998b40d2da6da5b257f38e9535a981ebc1b6e30.tar.gz
Disable Altivec for BLAKE2s on AIX 7.1 and XLC 12.01 (GH #743)
Diffstat (limited to 'blake2b_simd.cpp')
-rw-r--r--blake2b_simd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/blake2b_simd.cpp b/blake2b_simd.cpp
index 2f26c816..ca5aa054 100644
--- a/blake2b_simd.cpp
+++ b/blake2b_simd.cpp
@@ -24,6 +24,14 @@
# undef CRYPTOPP_ARM_NEON_AVAILABLE
#endif
+// BLAKE2s bug on AIX 7.1 (POWER7) with XLC 12.01
+// https://github.com/weidai11/cryptopp/issues/743
+#if defined(__xlC__) && (__xlC__ < 0x0d01)
+# define CRYPTOPP_DISABLE_ALTIVEC 1
+# undef CRYPTOPP_POWER7_AVAILABLE
+# undef CRYPTOPP_ALTIVEC_AVAILABLE
+#endif
+
#if (CRYPTOPP_SSE41_AVAILABLE)
# include <emmintrin.h>
# include <tmmintrin.h>