summaryrefslogtreecommitdiff
path: root/ext/arm32-neon-salsa2012-asm/salsa2012.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/arm32-neon-salsa2012-asm/salsa2012.h')
-rw-r--r--ext/arm32-neon-salsa2012-asm/salsa2012.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/arm32-neon-salsa2012-asm/salsa2012.h b/ext/arm32-neon-salsa2012-asm/salsa2012.h
index 7820a2e6..719b2e0c 100644
--- a/ext/arm32-neon-salsa2012-asm/salsa2012.h
+++ b/ext/arm32-neon-salsa2012-asm/salsa2012.h
@@ -1,6 +1,14 @@
#ifndef ZT_SALSA2012_ARM32NEON_ASM
#define ZT_SALSA2012_ARM32NEON_ASM
+#if defined(__linux__) || defined(linux) || defined(__LINUX__) || defined(__linux)
+#include <sys/auxv.h>
+#include <asm/hwcap.h>
+#define zt_arm_has_neon() (getauxval(AT_HWCAP) & HWCAP_NEON)
+#else
+#define zt_arm_has_neon() (true)
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif