mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
build: Restrict check for CRC32C intrinsic to aarch64
`crc32c`'s hardware accelerated code doesn't handle ARM 32-bit at all.
Make the check in `configure.ac` check for this architecture explicitly.
For the release binaries, the current `configure.ac` check happens
to work: it enables it on aarch64 but disables it for armhf. However
some combination of compiler version and settings might ostensibly cause
this check to succeed on armhf (as reported on IRC). So make the 64-bit
platform requirement explicit.
Github-Pull: #23045
Rebased-From: f2747d1602
This commit is contained in:
parent
eff9709723
commit
85c78e08ec
1 changed files with 5 additions and 1 deletions
|
@ -568,13 +568,17 @@ AX_CHECK_COMPILE_FLAG([-march=armv8-a+crc+crypto],[[ARM_CRC_CXXFLAGS="-march=arm
|
|||
|
||||
TEMP_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $ARM_CRC_CXXFLAGS"
|
||||
AC_MSG_CHECKING(for ARM CRC32 intrinsics)
|
||||
AC_MSG_CHECKING(for AArch64 CRC32 intrinsics)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <arm_acle.h>
|
||||
#include <arm_neon.h>
|
||||
]],[[
|
||||
#ifdef __aarch64__
|
||||
__crc32cb(0, 0); __crc32ch(0, 0); __crc32cw(0, 0); __crc32cd(0, 0);
|
||||
vmull_p64(0, 0);
|
||||
#else
|
||||
#error "crc32c library does not support hardware acceleration on 32-bit ARM"
|
||||
#endif
|
||||
]])],
|
||||
[ AC_MSG_RESULT(yes); enable_arm_crc=yes; ],
|
||||
[ AC_MSG_RESULT(no)]
|
||||
|
|
Loading…
Add table
Reference in a new issue