Fix SIMON128 and SPECK128 NEON compile with MSVC compiler (GH #776)
parent
e039efa2d3
commit
a20c56ea49
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue