Microsoft ARM support

* Adjusted config to compile for Microsoft ARM (e.g. Windows Universal apps)
pull/84/head
Marco Deckel 2015-12-14 15:49:49 +01:00
parent d9502a6ea9
commit f6499edf3a
3 changed files with 4 additions and 4 deletions

View File

@ -414,7 +414,7 @@ NAMESPACE_END
#define CRYPTOPP_X64_ASM_AVAILABLE #define CRYPTOPP_X64_ASM_AVAILABLE
#endif #endif
#if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__)) #if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__)) && !defined(_M_ARM)
#define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 1 #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 1
#else #else
#define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0 #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0

View File

@ -32,7 +32,7 @@
#include <iostream> #include <iostream>
#if _MSC_VER >= 1400 #if (_MSC_VER >= 1400) && !defined(_M_ARM)
#include <intrin.h> #include <intrin.h>
#endif #endif
@ -186,7 +186,7 @@ static word AtomicInverseModPower2(word A)
#define GetBorrow(u) u##1 #define GetBorrow(u) u##1
#else #else
#define Declare2Words(x) dword x; #define Declare2Words(x) dword x;
#if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER) #if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER) && !defined(_M_ARM)
#define MultiplyWords(p, a, b) p = __emulu(a, b); #define MultiplyWords(p, a, b) p = __emulu(a, b);
#else #else
#define MultiplyWords(p, a, b) p = (dword)a*b; #define MultiplyWords(p, a, b) p = (dword)a*b;

View File

@ -467,7 +467,7 @@ VMAC_Base::VHASH_Update_SSE2(const word64 *data, size_t blocksRemainingInWord64,
#define AccumulateNH(a, b, c) a += word128(b)*(c) #define AccumulateNH(a, b, c) a += word128(b)*(c)
#define Multiply128(r, i1, i2) r = word128(word64(i1)) * word64(i2) #define Multiply128(r, i1, i2) r = word128(word64(i1)) * word64(i2)
#else #else
#if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER) #if _MSC_VER >= 1400 && !defined(__INTEL_COMPILER) && !defined(_M_ARM)
#define MUL32(a, b) __emulu(word32(a), word32(b)) #define MUL32(a, b) __emulu(word32(a), word32(b))
#else #else
#define MUL32(a, b) ((word64)((word32)(a)) * (word32)(b)) #define MUL32(a, b) ((word64)((word32)(a)) * (word32)(b))