From e8fc1b04226bf300cd173918f3acc1cbc7f2e2b2 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Sun, 26 Aug 2018 01:54:38 -0400 Subject: [PATCH] Fix Android Aarch32/Aarch64 code paths in neon-simd.cpp --- neon-simd.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/neon-simd.cpp b/neon-simd.cpp index d95ee1b9..5b5099b1 100644 --- a/neon-simd.cpp +++ b/neon-simd.cpp @@ -1,3 +1,4 @@ + // crc-simd.cpp - written and placed in the public domain by // Jeffrey Walton, Uri Blumenthal and Marcel Raad. // @@ -49,7 +50,9 @@ extern "C" { bool CPU_ProbeARMv7() { -#if defined(CRYPTOPP_NO_CPU_FEATURE_PROBES) +#if defined(__aarch32__) || defined(__aarch64__) + return true; +#elif defined(CRYPTOPP_NO_CPU_FEATURE_PROBES) return false; #elif (CRYPTOPP_ARM_NEON_AVAILABLE) # if defined(CRYPTOPP_MS_STYLE_INLINE_ASSEMBLY) @@ -92,6 +95,8 @@ bool CPU_ProbeARMv7() sigprocmask(SIG_SETMASK, (sigset_t*)&oldMask, NULLPTR); signal(SIGILL, oldHandler); return result; +# else + return false; # endif #else return false; @@ -100,7 +105,9 @@ bool CPU_ProbeARMv7() bool CPU_ProbeNEON() { -#if defined(CRYPTOPP_NO_CPU_FEATURE_PROBES) +#if defined(__aarch32__) || defined(__aarch64__) + return true; +#elif defined(CRYPTOPP_NO_CPU_FEATURE_PROBES) return false; #elif (CRYPTOPP_ARM_NEON_AVAILABLE) # if defined(CRYPTOPP_MS_STYLE_INLINE_ASSEMBLY) @@ -163,6 +170,8 @@ bool CPU_ProbeNEON() sigprocmask(SIG_SETMASK, (sigset_t*)&oldMask, NULLPTR); signal(SIGILL, oldHandler); return result; +# else + return false; # endif #else return false;