summaryrefslogtreecommitdiffhomepage
path: root/src/crypto/zinc/poly1305
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto/zinc/poly1305')
-rw-r--r--src/crypto/zinc/poly1305/poly1305-arm.pl2
-rw-r--r--src/crypto/zinc/poly1305/poly1305-arm64.pl12
2 files changed, 8 insertions, 6 deletions
diff --git a/src/crypto/zinc/poly1305/poly1305-arm.pl b/src/crypto/zinc/poly1305/poly1305-arm.pl
index 88a4260..30a2005 100644
--- a/src/crypto/zinc/poly1305/poly1305-arm.pl
+++ b/src/crypto/zinc/poly1305/poly1305-arm.pl
@@ -460,7 +460,7 @@ my ($T0,$T1,$MASK) = map("q$_",(15,4,0));
my ($in2,$zeros,$tbl0,$tbl1) = map("r$_",(4..7));
$code.=<<___;
-#if __ARM_MAX_ARCH__>=7
+#if (defined(__KERNEL__) && defined(CONFIG_KERNEL_MODE_NEON)) || (!defined(__KERNEL__) && __ARM_MAX_ARCH__>=7)
.fpu neon
.type poly1305_init_neon,%function
diff --git a/src/crypto/zinc/poly1305/poly1305-arm64.pl b/src/crypto/zinc/poly1305/poly1305-arm64.pl
index cf0ce9d..d513b45 100644
--- a/src/crypto/zinc/poly1305/poly1305-arm64.pl
+++ b/src/crypto/zinc/poly1305/poly1305-arm64.pl
@@ -68,11 +68,6 @@ $code.=<<___;
// forward "declarations" are required for Apple
.globl poly1305_blocks
.globl poly1305_emit
-#ifdef __KERNEL__
-.globl poly1305_blocks_neon
-.globl poly1305_emit_neon
-#endif
-
.globl poly1305_init
.type poly1305_init,%function
.align 5
@@ -301,6 +296,12 @@ __poly1305_splat:
ret
.size __poly1305_splat,.-__poly1305_splat
+#if !defined(__KERNEL__) || defined(CONFIG_KERNEL_MODE_NEON)
+#ifdef __KERNEL__
+.globl poly1305_blocks_neon
+.globl poly1305_emit_neon
+#endif
+
.type poly1305_blocks_neon,%function
.align 5
poly1305_blocks_neon:
@@ -933,6 +934,7 @@ poly1305_emit_neon:
ret
.size poly1305_emit_neon,.-poly1305_emit_neon
+#endif
.align 5
.Lzeros: