summaryrefslogtreecommitdiff
path: root/arm
diff options
context:
space:
mode:
authorYuriy M. Kaminskiy <yumkam@gmail.com>2019-01-02 19:41:32 +0300
committerNiels Möller <nisse@lysator.liu.se>2019-01-19 09:21:40 +0100
commit67bae1b9e595a03dccea92b39f3cbad64345f3f8 (patch)
treeb08030e2811ebd7400cb169d74024040d05787ee /arm
parentf9f14f18d917a4a4fcb678a9e90961e5fd7114ef (diff)
downloadnettle-67bae1b9e595a03dccea92b39f3cbad64345f3f8.tar.gz
Add --enable-fat support for arm neon chacha20
On BCM2837B0 (Cortex-A53) @1.4GHz (Raspberry Pi 3B+), Before: `gnutls-cli --benchmark-ciphers` CHACHA20-POLY1305 (16384) 51.54 MB/sec `gnutls-cli --benchmark-tls-ciphers`: ECDHE_RSA_CHACHA20_POLY1305 (payload 1400) 21.31 MB/sec ECDHE_RSA_CHACHA20_POLY1305 (payload 15360) 24.60 MB/sec `nettle-benchmark` chacha encrypt 71.90 chacha decrypt 71.89 chacha_poly1305 encrypt 48.17 chacha_poly1305 decrypt 48.17 chacha_poly1305 update 146.03 After: `gnutls-cli --benchmark-ciphers` CHACHA20-POLY1305 (16384) 68.44 MB/sec `gnutls-cli --benchmark-tls-ciphers`: ECDHE_RSA_CHACHA20_POLY1305 (payload 1400) 27.25 MB/sec ECDHE_RSA_CHACHA20_POLY1305 (payload 15360) 32.41 MB/sec `nettle-benchmark` chacha encrypt 106.00 chacha decrypt 105.94 chacha_poly1305 encrypt 65.94 chacha_poly1305 decrypt 65.96 chacha_poly1305 update 175.24
Diffstat (limited to 'arm')
-rw-r--r--arm/fat/chacha-core-internal-2.asm37
1 files changed, 37 insertions, 0 deletions
diff --git a/arm/fat/chacha-core-internal-2.asm b/arm/fat/chacha-core-internal-2.asm
new file mode 100644
index 00000000..66a5c145
--- /dev/null
+++ b/arm/fat/chacha-core-internal-2.asm
@@ -0,0 +1,37 @@
+C arm/fat/chacha-core-internal-2.asm
+
+
+ifelse(<
+ Copyright (C) 2015 Niels Möller
+
+ This file is part of GNU Nettle.
+
+ GNU Nettle is free software: you can redistribute it and/or
+ modify it under the terms of either:
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your
+ option) any later version.
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ or both in parallel, as here.
+
+ GNU Nettle is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see http://www.gnu.org/licenses/.
+>)
+
+dnl PROLOGUE(_nettle_chacha_core) picked up by configure
+
+define(<fat_transform>, <$1_neon>)
+include_src(<arm/neon/chacha-core-internal.asm>)