diff --git a/config.h b/config.h index 38a61da4..3d721e87 100644 --- a/config.h +++ b/config.h @@ -655,8 +655,9 @@ NAMESPACE_END // not provide an ARM implementation. The Cryptogams implementation // is about 2x faster than C/C++. Define this to use the Cryptogams // AES implementation on GNU Linux systems. When defined, Crypto++ -// will use aes-armv4.S. -#if !defined(CRYPTOPP_DISABLE_ASM) && defined(__GNUC__) && defined(__arm__) +// will use aes-armv4.S. LLVM miscomiles aes-armv4.S so disable +// under Clang. See https://bugs.llvm.org/show_bug.cgi?id=38133. +#if !defined(CRYPTOPP_DISABLE_ASM) && defined(__arm__) && defined(__GNUC__) && !defined(__clang__) # define CRYPTOGAMS_ARM_AES 1 #endif