Merge branch '2.2.x'
[catacomb] / symm / chacha.c
index 80a84c1..cb879e3 100644 (file)
@@ -76,12 +76,20 @@ static void simple_core(unsigned r, const chacha_matrix src,
 extern core__functype chacha_core_x86ish_sse2;
 #endif
 
+#if CPUFAM_ARMEL
+extern core__functype chacha_core_arm_neon;
+#endif
+
 static core__functype *pick_core(void)
 {
 #if CPUFAM_X86 || CPUFAM_AMD64
   DISPATCH_PICK_COND(chacha_core, chacha_core_x86ish_sse2,
                     cpu_feature_p(CPUFEAT_X86_SSE2));
 #endif
+#if CPUFAM_ARMEL
+  DISPATCH_PICK_COND(chacha_core, chacha_core_arm_neon,
+                    cpu_feature_p(CPUFEAT_ARM_NEON));
+#endif
   DISPATCH_PICK_FALLBACK(chacha_core, simple_core);
 }
 
@@ -695,7 +703,7 @@ static void grdestroy(grand *r)
   static const grand_ops grops_rand_##rr = {                           \
     "chacha" #rr, GRAND_CRYPTO, 0,                                     \
     grmisc, grdestroy, grword,                                         \
-    grbyte, grword, grand_range, grfill                                        \
+    grbyte, grword, grand_defaultrange, grfill                         \
   };                                                                   \
                                                                        \
   grand *chacha##rr##_rand(const void *k, size_t ksz, const void *n)   \
@@ -737,7 +745,7 @@ CHACHA_VARS(DEFGRAND)
   static const grand_ops grxops_rand_##rr = {                          \
     "xchacha" #rr, GRAND_CRYPTO, 0,                                    \
     grmisc, grxdestroy_##rr, grword,                                   \
-    grbyte, grword, grand_range, grfill                                        \
+    grbyte, grword, grand_defaultrange, grfill                         \
   };                                                                   \
                                                                        \
   grand *xchacha##rr##_rand(const void *k, size_t ksz, const void *n)  \