From 2718731baca09b09634d4b2fe4fa349c85b59926 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Wed, 16 Jan 2019 17:26:30 -0500 Subject: [PATCH] Add additional comments --- config.h | 12 +++++++----- 1 file 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)