From: Ard Biesheuvel <ard.biesheuvel@linaro.org> To: Sami Tolvanen <samitolvanen@google.com> Cc: "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>, Herbert Xu <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, Andy Polyakov <appro@openssl.org> Subject: Re: [PATCHv2] arm: crypto: Add optimized SHA-256/224 Date: Mon, 23 Mar 2015 19:26:03 +0100 [thread overview] Message-ID: <CAKv+Gu8qcVVTqy6Fd8PMA8ZTxiMssKz+TbMQW=fAhCBpUH2jTw@mail.gmail.com> (raw) In-Reply-To: <20150323135009.GB820@google.com> (resending due to size bounce) On 23 March 2015 at 14:50, Sami Tolvanen <samitolvanen@google.com> wrote: > Add Andy Polyakov's optimized assembly and NEON implementations for > SHA-256/224. > > The sha256-armv4.pl script for generating the assembly code is from > OpenSSL commit 2ecd32a1f8f0643ae7b38f59bbaf9f0d6ef326fe. > > Compared to sha256-generic these implementations have the following > tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805): > > bs b/u sha256-neon sha256-asm > 16 16 x1.32 x1.19 > 64 16 x1.27 x1.15 > 64 64 x1.36 x1.20 > 256 16 x1.22 x1.11 > 256 64 x1.36 x1.19 > 256 256 x1.59 x1.23 > 1024 16 x1.21 x1.10 > 1024 256 x1.65 x1.23 > 1024 1024 x1.76 x1.25 > 2048 16 x1.21 x1.10 > 2048 256 x1.66 x1.23 > 2048 1024 x1.78 x1.25 > 2048 2048 x1.79 x1.25 > 4096 16 x1.20 x1.09 > 4096 256 x1.66 x1.23 > 4096 1024 x1.79 x1.26 > 4096 4096 x1.82 x1.26 > 8192 16 x1.20 x1.09 > 8192 256 x1.67 x1.23 > 8192 1024 x1.80 x1.26 > 8192 4096 x1.85 x1.28 > 8192 8192 x1.85 x1.27 > > Where bs refers to block size and b/u to bytes per update. > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > Cc: Andy Polyakov <appro@openssl.org> > This builds fine and passes the tcrypt.ko tests in ARM and Thumb2 and even in big-endian (ARM) mode, so Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Nice work! Ard. > --- > Changes since v1: > Rebased to Herbert's cryptodev tree > Include sha256-armv4.pl and use it to generate sha256-core.S > Add integer-only assembly version as sha256-asm > Add support for SHA-224 to the glue code > Change priority for sha256/224-ce to 300 > > --- > arch/arm/crypto/Kconfig | 7 > arch/arm/crypto/Makefile | 8 > arch/arm/crypto/sha2-ce-glue.c | 4 > arch/arm/crypto/sha256-armv4.pl | 713 ++++++ > arch/arm/crypto/sha256-core.S_shipped | 2775 ++++++++++++++++++++++++ > arch/arm/crypto/sha256_glue.c | 246 ++ > arch/arm/crypto/sha256_glue.h | 23 > arch/arm/crypto/sha256_neon_glue.c | 172 + > 8 files changed, 3945 insertions(+), 3 deletions(-) >
WARNING: multiple messages have this Message-ID (diff)
From: ard.biesheuvel@linaro.org (Ard Biesheuvel) To: linux-arm-kernel@lists.infradead.org Subject: [PATCHv2] arm: crypto: Add optimized SHA-256/224 Date: Mon, 23 Mar 2015 19:26:03 +0100 [thread overview] Message-ID: <CAKv+Gu8qcVVTqy6Fd8PMA8ZTxiMssKz+TbMQW=fAhCBpUH2jTw@mail.gmail.com> (raw) In-Reply-To: <20150323135009.GB820@google.com> (resending due to size bounce) On 23 March 2015 at 14:50, Sami Tolvanen <samitolvanen@google.com> wrote: > Add Andy Polyakov's optimized assembly and NEON implementations for > SHA-256/224. > > The sha256-armv4.pl script for generating the assembly code is from > OpenSSL commit 2ecd32a1f8f0643ae7b38f59bbaf9f0d6ef326fe. > > Compared to sha256-generic these implementations have the following > tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805): > > bs b/u sha256-neon sha256-asm > 16 16 x1.32 x1.19 > 64 16 x1.27 x1.15 > 64 64 x1.36 x1.20 > 256 16 x1.22 x1.11 > 256 64 x1.36 x1.19 > 256 256 x1.59 x1.23 > 1024 16 x1.21 x1.10 > 1024 256 x1.65 x1.23 > 1024 1024 x1.76 x1.25 > 2048 16 x1.21 x1.10 > 2048 256 x1.66 x1.23 > 2048 1024 x1.78 x1.25 > 2048 2048 x1.79 x1.25 > 4096 16 x1.20 x1.09 > 4096 256 x1.66 x1.23 > 4096 1024 x1.79 x1.26 > 4096 4096 x1.82 x1.26 > 8192 16 x1.20 x1.09 > 8192 256 x1.67 x1.23 > 8192 1024 x1.80 x1.26 > 8192 4096 x1.85 x1.28 > 8192 8192 x1.85 x1.27 > > Where bs refers to block size and b/u to bytes per update. > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > Cc: Andy Polyakov <appro@openssl.org> > This builds fine and passes the tcrypt.ko tests in ARM and Thumb2 and even in big-endian (ARM) mode, so Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Nice work! Ard. > --- > Changes since v1: > Rebased to Herbert's cryptodev tree > Include sha256-armv4.pl and use it to generate sha256-core.S > Add integer-only assembly version as sha256-asm > Add support for SHA-224 to the glue code > Change priority for sha256/224-ce to 300 > > --- > arch/arm/crypto/Kconfig | 7 > arch/arm/crypto/Makefile | 8 > arch/arm/crypto/sha2-ce-glue.c | 4 > arch/arm/crypto/sha256-armv4.pl | 713 ++++++ > arch/arm/crypto/sha256-core.S_shipped | 2775 ++++++++++++++++++++++++ > arch/arm/crypto/sha256_glue.c | 246 ++ > arch/arm/crypto/sha256_glue.h | 23 > arch/arm/crypto/sha256_neon_glue.c | 172 + > 8 files changed, 3945 insertions(+), 3 deletions(-) >
next prev parent reply other threads:[~2015-03-23 18:26 UTC|newest] Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-16 15:48 [PATCH] arm: crypto: Add NEON optimized SHA-256 Sami Tolvanen 2015-03-16 15:48 ` Sami Tolvanen 2015-03-16 16:08 ` Ard Biesheuvel 2015-03-16 16:08 ` Ard Biesheuvel 2015-03-16 16:23 ` Sami Tolvanen 2015-03-16 16:23 ` Sami Tolvanen 2015-03-17 6:56 ` Ard Biesheuvel 2015-03-17 6:56 ` Ard Biesheuvel 2015-03-17 15:09 ` Andy Polyakov 2015-03-17 15:09 ` Andy Polyakov 2015-03-17 15:21 ` Sami Tolvanen 2015-03-17 15:21 ` Sami Tolvanen 2015-03-17 15:51 ` Ard Biesheuvel 2015-03-17 15:51 ` Ard Biesheuvel 2015-03-23 13:50 ` [PATCHv2] arm: crypto: Add optimized SHA-256/224 Sami Tolvanen 2015-03-23 13:50 ` Sami Tolvanen 2015-03-23 18:26 ` Ard Biesheuvel [this message] 2015-03-23 18:26 ` Ard Biesheuvel 2015-03-24 11:35 ` Herbert Xu 2015-03-24 11:35 ` Herbert Xu 2015-03-24 11:40 ` Ard Biesheuvel 2015-03-24 11:40 ` Ard Biesheuvel 2015-03-24 11:46 ` Herbert Xu 2015-03-24 11:46 ` Herbert Xu 2015-03-24 11:57 ` Ard Biesheuvel 2015-03-24 11:57 ` Ard Biesheuvel 2015-03-24 11:32 ` Herbert Xu 2015-03-24 11:32 ` Herbert Xu 2015-03-24 11:33 ` Ard Biesheuvel 2015-03-24 11:33 ` Ard Biesheuvel 2015-03-24 12:27 ` Jean-Christophe PLAGNIOL-VILLARD 2015-03-24 12:27 ` Jean-Christophe PLAGNIOL-VILLARD 2015-03-24 12:42 ` Ard Biesheuvel 2015-03-24 12:42 ` Ard Biesheuvel 2015-03-24 13:05 ` Jean-Christophe PLAGNIOL-VILLARD 2015-03-24 13:05 ` Jean-Christophe PLAGNIOL-VILLARD 2015-03-24 13:06 ` Ard Biesheuvel 2015-03-24 13:06 ` Ard Biesheuvel 2015-03-24 14:46 ` Ard Biesheuvel 2015-03-24 14:46 ` Ard Biesheuvel 2015-03-24 17:05 ` Jean-Christophe PLAGNIOL-VILLARD 2015-03-24 17:05 ` Jean-Christophe PLAGNIOL-VILLARD 2015-03-24 17:40 ` Ard Biesheuvel 2015-03-24 17:40 ` Ard Biesheuvel 2015-03-24 18:17 ` Sami Tolvanen 2015-03-24 18:17 ` Sami Tolvanen 2015-03-25 6:49 ` Ard Biesheuvel 2015-03-25 6:49 ` Ard Biesheuvel 2015-03-27 10:42 ` Andy Polyakov 2015-03-27 10:42 ` Andy Polyakov 2015-03-27 10:44 ` Ard Biesheuvel 2015-03-27 10:44 ` Ard Biesheuvel 2015-03-27 18:07 ` Ard Biesheuvel 2015-03-27 18:07 ` Ard Biesheuvel 2015-03-29 13:27 ` Andy Polyakov 2015-03-29 13:27 ` Andy Polyakov 2015-03-30 8:37 ` [PATCHv3] " Sami Tolvanen 2015-03-30 8:37 ` Sami Tolvanen 2015-04-01 12:43 ` Herbert Xu 2015-04-01 12:43 ` Herbert Xu 2015-04-01 13:19 ` Sami Tolvanen 2015-04-01 13:19 ` Sami Tolvanen 2015-04-03 10:04 ` Herbert Xu 2015-04-03 10:04 ` Herbert Xu 2015-03-25 20:00 ` [PATCH] arm: crypto: Add NEON optimized SHA-256 Jean-Christophe PLAGNIOL-VILLARD 2015-03-25 20:00 ` Jean-Christophe PLAGNIOL-VILLARD
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAKv+Gu8qcVVTqy6Fd8PMA8ZTxiMssKz+TbMQW=fAhCBpUH2jTw@mail.gmail.com' \ --to=ard.biesheuvel@linaro.org \ --cc=appro@openssl.org \ --cc=davem@davemloft.net \ --cc=herbert@gondor.apana.org.au \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-crypto@vger.kernel.org \ --cc=samitolvanen@google.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.