Fix Android Aarch32/Aarch64 code paths in neon-simd.cpp

pull/334/head
Jeffrey Walton 2018-08-26 01:54:38 -04:00
parent eba078838f
commit e8fc1b0422
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,4 @@
// crc-simd.cpp - written and placed in the public domain by // crc-simd.cpp - written and placed in the public domain by
// Jeffrey Walton, Uri Blumenthal and Marcel Raad. // Jeffrey Walton, Uri Blumenthal and Marcel Raad.
// //
@ -49,7 +50,9 @@ extern "C" {
bool CPU_ProbeARMv7() 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; return false;
#elif (CRYPTOPP_ARM_NEON_AVAILABLE) #elif (CRYPTOPP_ARM_NEON_AVAILABLE)
# if defined(CRYPTOPP_MS_STYLE_INLINE_ASSEMBLY) # if defined(CRYPTOPP_MS_STYLE_INLINE_ASSEMBLY)
@ -92,6 +95,8 @@ bool CPU_ProbeARMv7()
sigprocmask(SIG_SETMASK, (sigset_t*)&oldMask, NULLPTR); sigprocmask(SIG_SETMASK, (sigset_t*)&oldMask, NULLPTR);
signal(SIGILL, oldHandler); signal(SIGILL, oldHandler);
return result; return result;
# else
return false;
# endif # endif
#else #else
return false; return false;
@ -100,7 +105,9 @@ bool CPU_ProbeARMv7()
bool CPU_ProbeNEON() 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; return false;
#elif (CRYPTOPP_ARM_NEON_AVAILABLE) #elif (CRYPTOPP_ARM_NEON_AVAILABLE)
# if defined(CRYPTOPP_MS_STYLE_INLINE_ASSEMBLY) # if defined(CRYPTOPP_MS_STYLE_INLINE_ASSEMBLY)
@ -163,6 +170,8 @@ bool CPU_ProbeNEON()
sigprocmask(SIG_SETMASK, (sigset_t*)&oldMask, NULLPTR); sigprocmask(SIG_SETMASK, (sigset_t*)&oldMask, NULLPTR);
signal(SIGILL, oldHandler); signal(SIGILL, oldHandler);
return result; return result;
# else
return false;
# endif # endif
#else #else
return false; return false;