summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-01-16 17:26:30 -0500
committerJeffrey Walton <noloader@gmail.com>2019-01-16 17:26:30 -0500
commit2718731baca09b09634d4b2fe4fa349c85b59926 (patch)
treeb793e6a8f6ed84f228f1a6ee80396791b9757910 /config.h
parente86a6b32eb5633e820578b97be7b2d79640bfe47 (diff)
downloadcryptopp-git-2718731baca09b09634d4b2fe4fa349c85b59926.tar.gz
Add additional comments
Diffstat (limited to 'config.h')
-rw-r--r--config.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/config.h b/config.h
index 08f9f02d..6c3c8c3b 100644
--- a/config.h
+++ b/config.h
@@ -297,11 +297,13 @@ const lword LWORD_MAX = W64LIT(0xffffffffffffffff);
// 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. For example,
-// Power7 can load unaligned data using vec_vsx_ld but GCC and Clang require
-// 16-byte aligned arrays when using builtin function. Define this to disable
-// Crypto++ code that uses problematic builtins or intrinsics.
-// #define CRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE 1
+// Several compilers discard SIMD code that loads unaligned data. The symptom
+// is often self test failures and UBsan findings of unaligned loads. For
+// example, Power7 can load unaligned data using vec_vsx_ld but some versions
+// of GCC and Clang require 16-byte aligned arrays when using the builtin
+// function. It is not limited to SSE and PowerPC code. Define this to disable
+// Crypto++ code that uses potentially problematic builtins or intrinsics.
+#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)