aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/CMakeLists.txt
diff options
context:
space:
mode:
authorredfish <redfish@galactica.pw>2016-09-04 04:27:51 +0000
committerredfish <redfish@galactica.pw>2016-09-04 06:46:35 +0000
commit24d93370adb14999841e330e5666749db6dd1f7f (patch)
treeb5604328ae6fdfea18a61127bcf92a390aed6730 /src/crypto/CMakeLists.txt
parentMerge pull request #1041 (diff)
downloadmonero-24d93370adb14999841e330e5666749db6dd1f7f.tar.xz
crypto,cmake: enable ASM mul impl on ARM; add cmake opt
This was disabled earlier as part of diagnosing failing tests on ARM, which turned out to be due to aliasing, fixed by adding -fno-strict-aliasing. So, re-enabling it back.
Diffstat (limited to 'src/crypto/CMakeLists.txt')
-rw-r--r--src/crypto/CMakeLists.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt
index 962ec8a06..ed668022f 100644
--- a/src/crypto/CMakeLists.txt
+++ b/src/crypto/CMakeLists.txt
@@ -74,3 +74,13 @@ bitmonero_add_library(crypto
${crypto_sources}
${crypto_headers}
${crypto_private_headers})
+
+if (ARM)
+ option(NO_OPTIMIZED_MULTIPLY_ON_ARM
+ "Compute multiply using generic C implementation instead of ARM ASM" OFF)
+ if(NO_OPTIMIZED_MULTIPLY_ON_ARM)
+ message(STATUS "Using generic C implementation for multiply")
+ set_property(SOURCE slow-hash.c
+ PROPERTY COMPILE_DEFINITIONS "NO_OPTIMIZED_MULTIPLY_ON_ARM")
+ endif()
+endif()