Browse Source

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

Adam Ierymenko 9 years ago
parent
commit
c952fbbd8d
1 changed files with 5 additions and 2 deletions
  1. 5 2
      node/Poly1305.cpp

+ 5 - 2
node/Poly1305.cpp

@@ -20,6 +20,9 @@ namespace ZeroTier {
 
 #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])
 {
   unsigned int j;
@@ -132,10 +135,10 @@ typedef struct poly1305_context {
   unsigned char opaque[136];
 } 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)
   #include <intrin.h>