summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-04-27 20:35:01 -0400
committerGitHub <noreply@github.com>2019-04-27 20:35:01 -0400
commit39418a85122fa7954cca6354be30a44d6335874e (patch)
treeeae89a92177cb1c2e96a44435821d4d65086b481 /config.h
parentd451751eb269ff1345c9937107788d678c70e36f (diff)
downloadcryptopp-git-39418a85122fa7954cca6354be30a44d6335874e.tar.gz
Use PowerPC unaligned loads and stores with Power8 (GH #825, PR #826)
Use PowerPC unaligned loads and stores with Power8. Formerly we were using Power7 as the floor because the IBM POWER Architecture manuals said unaligned loads and stores were available. However, some compilers generate bad code for unaligned loads and stores using `-march=power7`, so bump to a known good.
Diffstat (limited to 'config.h')
-rw-r--r--config.h18
1 files changed, 0 insertions, 18 deletions
diff --git a/config.h b/config.h
index 3642b3cf..283c4090 100644
--- a/config.h
+++ b/config.h
@@ -74,24 +74,6 @@
// Also see https://bugs.llvm.org/show_bug.cgi?id=39895 .
// #define CRYPTOPP_DISABLE_MIXED_ASM 1
-// Several compilers discard SIMD code that loads unaligned data. The symptom
-// is often self test failures and UBsan findings for unaligned loads. For
-// example, Power7 can load unaligned data using vec_vsx_ld but some versions
-// of GCC and Clang require 16-byte aligned data when using the builtin.
-// It is not limited to SSE and PowerPC code. Define this to disable
-// Crypto++ code that uses potentially problematic builtins or intrinsics.
-// Also see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88234 and
-// https://bugs.llvm.org/show_bug.cgi?id=39704
-// #define CRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE 1
-
-// This list will probably grow over time as more compilers are identified.
-#if defined(CRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE)
-# define CRYPTOPP_DISABLE_LEA_SIMD 1
-# define CRYPTOPP_DISABLE_SIMON_SIMD 1
-# define CRYPTOPP_DISABLE_SPECK_SIMD 1
-# define CRYPTOPP_DISABLE_SM4_SIMD 1
-#endif
-
// Define CRYPTOPP_NO_CXX11 to avoid C++11 related features shown at the
// end of this file. Some compilers and standard C++ headers advertise C++11
// but they are really just C++03 with some additional C++11 headers and