From 6590a928cea56c3d786ff43fbc1d83efda48df20 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Mon, 7 Aug 2017 21:04:23 -0400 Subject: [PATCH] Add Android ARMv8 guards --- crc-simd.cpp | 2 +- gcm-simd.cpp | 2 +- rijndael-simd.cpp | 3 +-- sha-simd.cpp | 4 ++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/crc-simd.cpp b/crc-simd.cpp index 85c05a2c..d3034546 100644 --- a/crc-simd.cpp +++ b/crc-simd.cpp @@ -81,7 +81,7 @@ bool CPU_TryCRC32_ARMV8() } return result; #else -# if defined(__ANDROID__) +# if defined(__ANDROID__) && (defined(__aarch64__) || defined(__aarch32__)) if (android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_CRC32) return true; // https://sourceware.org/ml/libc-help/2017-08/msg00012.html diff --git a/gcm-simd.cpp b/gcm-simd.cpp index 6438705d..1741def8 100644 --- a/gcm-simd.cpp +++ b/gcm-simd.cpp @@ -214,7 +214,7 @@ bool CPU_TryPMULL_ARMV8() } return result; # else -# if defined(__ANDROID__) +# if defined(__ANDROID__) && (defined(__aarch64__) || defined(__aarch32__)) if (android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_PMULL) return true; // https://sourceware.org/ml/libc-help/2017-08/msg00012.html diff --git a/rijndael-simd.cpp b/rijndael-simd.cpp index 269a8047..ca4a25db 100644 --- a/rijndael-simd.cpp +++ b/rijndael-simd.cpp @@ -104,7 +104,7 @@ bool CPU_TryAES_ARMV8() } return result; # else -# if defined(__ANDROID__) +# if defined(__ANDROID__) && (defined(__aarch64__) || defined(__aarch32__)) if (android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_AES) return true; // https://sourceware.org/ml/libc-help/2017-08/msg00012.html @@ -180,7 +180,6 @@ void Rijndael_Enc_ProcessAndXorBlock_ARMV8(const byte *inBlock, const byte *xorB data = vaeseq_u8(data, vld1q_u8(keys+128)); data = vaesmcq_u8(data); - // Unroll the loop, profit 0.3 cpb. unsigned int i=9; for ( ; i