Fix SIMON128 and SPECK128 NEON compile with MSVC compiler (GH #776)

pull/778/head
Jeffrey Walton 2019-01-03 20:06:39 -05:00
parent e039efa2d3
commit a20c56ea49
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
2 changed files with 16 additions and 0 deletions

View File

@ -62,6 +62,14 @@ using CryptoPP::vec_swap; // SunCC
#if (CRYPTOPP_ARM_NEON_AVAILABLE) #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> template <class T>
inline T UnpackHigh64(const T& a, const T& b) inline T UnpackHigh64(const T& a, const T& b)
{ {

View File

@ -61,6 +61,14 @@ using CryptoPP::word64;
#if (CRYPTOPP_ARM_NEON_AVAILABLE) #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> template <class T>
inline T UnpackHigh64(const T& a, const T& b) inline T UnpackHigh64(const T& a, const T& b)
{ {