Only enable 128-bit Poly1305 on X86_64 right now. Has compilation issues on ARM, but the 64-bit version should be fine.

This commit is contained in:
Adam Ierymenko 2015-10-07 10:40:59 -07:00
parent ab0228f626
commit c952fbbd8d

View File

@ -20,6 +20,9 @@ namespace ZeroTier {
#if 0 #if 0
// "Naive" implementation, which is slower... might still want this on some older
// or weird platforms if the later versions have issues.
static inline void add(unsigned int h[17],const unsigned int c[17]) static inline void add(unsigned int h[17],const unsigned int c[17])
{ {
unsigned int j; unsigned int j;
@ -132,10 +135,10 @@ typedef struct poly1305_context {
unsigned char opaque[136]; unsigned char opaque[136];
} poly1305_context; } poly1305_context;
#if defined(_MSC_VER) || defined(__GNUC__) #if (defined(_MSC_VER) || defined(__GNUC__)) && (defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(__AMD64) || defined(__AMD64__))
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// 128-bit implementation for MSC and GCC // 128-bit implementation for MSC and GCC from Poly1305-donna
#if defined(_MSC_VER) #if defined(_MSC_VER)
#include <intrin.h> #include <intrin.h>