summaryrefslogtreecommitdiff
path: root/simon128_simd.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-01-03 20:06:39 -0500
committerJeffrey Walton <noloader@gmail.com>2019-01-03 20:06:39 -0500
commita20c56ea4911ae052cf358b191a1009cbb6c0b45 (patch)
treeb0b9f083ace809c851a1e3fdb2a7f8c356464151 /simon128_simd.cpp
parente039efa2d34afd33b0b4c1b083af86589f9556ca (diff)
downloadcryptopp-git-a20c56ea4911ae052cf358b191a1009cbb6c0b45.tar.gz
Fix SIMON128 and SPECK128 NEON compile with MSVC compiler (GH #776)
Diffstat (limited to 'simon128_simd.cpp')
-rw-r--r--simon128_simd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/simon128_simd.cpp b/simon128_simd.cpp
index a6cdf0d8..29a9b1bc 100644
--- a/simon128_simd.cpp
+++ b/simon128_simd.cpp
@@ -62,6 +62,14 @@ using CryptoPP::vec_swap; // SunCC
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// Missing from Microsoft's implementation???
+#if defined(_MSC_VER)
+inline uint64x2_t vld1q_dup_u64(const uint64_t* ptr)
+{
+ return vmovq_n_u64(*ptr);
+}
+#endif
+
template <class T>
inline T UnpackHigh64(const T& a, const T& b)
{