[git] GCRYPT - branch, master, updated. libgcrypt-1.5.0-218-g4e44401
by Jussi Kivilinna
cvs at cvs.gnupg.org
Fri Sep 6 11:45:53 CEST 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU crypto library".
The branch, master has been updated
via 4e4440153258e2f0dfdcaa8443820af06984ecb1 (commit)
from e0ae31fcce3bd57b24751ff3c82cba820e493c3a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4e4440153258e2f0dfdcaa8443820af06984ecb1
Author: Jussi Kivilinna <jussi.kivilinna at iki.fi>
Date: Fri Sep 6 11:11:37 2013 +0300
Tune armv6 mpi assembly
* mpi/armv6/mpih-mul1.S: Tune assembly for Cortex-A8.
* mpi/armv6/mpih-mul2.S: Ditto.
* mpi/armv6/mpih-mul3.S: Ditto.
--
Little bit of tuning of assembly functions with help of Cortex-A8 profiler.
Old (armhf/Cortex-A8 1Ghz):
Algorithm generate 100*sign 100*verify
------------------------------------------------
RSA 1024 bit 350ms 2230ms 50ms
RSA 2048 bit 3500ms 11890ms 150ms
RSA 3072 bit 23900ms 32540ms 280ms
RSA 4096 bit 15750ms 69420ms 450ms
Algorithm generate 100*sign 100*verify
------------------------------------------------
DSA 1024/160 - 990ms 930ms
DSA 2048/224 - 3840ms 3400ms
DSA 3072/256 - 8280ms 7620ms
Algorithm generate 100*sign 100*verify
------------------------------------------------
ECDSA 192 bit 60ms 1760ms 3300ms
ECDSA 224 bit 80ms 2240ms 4300ms
ECDSA 256 bit 110ms 2740ms 5420ms
ECDSA 384 bit 230ms 5680ms 11300ms
ECDSA 521 bit 540ms 13590ms 26890ms
New:
Algorithm generate 100*sign 100*verify
------------------------------------------------
RSA 1024 bit 350ms 2190ms 60ms
RSA 2048 bit 8910ms 11800ms 150ms
RSA 3072 bit 11000ms 31810ms 270ms
RSA 4096 bit 50290ms 68690ms 450ms
Algorithm generate 100*sign 100*verify
------------------------------------------------
DSA 1024/160 - 980ms 920ms
DSA 2048/224 - 3780ms 3370ms
DSA 3072/256 - 8100ms 7060ms
Algorithm generate 100*sign 100*verify
------------------------------------------------
ECDSA 192 bit 70ms 1730ms 3200ms
ECDSA 224 bit 90ms 2180ms 4220ms
ECDSA 256 bit 110ms 2660ms 5200ms
ECDSA 384 bit 220ms 5660ms 10910ms
ECDSA 521 bit 530ms 13420ms 26000ms
Signed-off-by: Jussi Kivilinna <jussi.kivilinna at iki.fi>
diff --git a/mpi/armv6/mpih-mul1.S b/mpi/armv6/mpih-mul1.S
index ae19a15..0aa41ef 100644
--- a/mpi/armv6/mpih-mul1.S
+++ b/mpi/armv6/mpih-mul1.S
@@ -60,18 +60,18 @@ _gcry_mpih_mul_1:
beq .Lend;
.Large_loop:
- mov %r9, #0;
ldm %r1!, {%r5, %r6, %r7, %r8};
+ mov %r9, #0;
mov %r10, #0;
umlal %r4, %r9, %r5, %r3;
mov %r11, #0;
umlal %r9, %r10, %r6, %r3;
- mov %lr, #0;
+ str %r4, [%r0], #4;
+ mov %r4, #0;
umlal %r10, %r11, %r7, %r3;
subs %r2, #4;
- umlal %r11, %lr, %r8, %r3;
- stm %r0!, {%r4, %r9, %r10, %r11};
- mov %r4, %lr;
+ umlal %r11, %r4, %r8, %r3;
+ stm %r0!, {%r9, %r10, %r11};
bne .Large_loop;
.Lend:
diff --git a/mpi/armv6/mpih-mul2.S b/mpi/armv6/mpih-mul2.S
index 02f7c07..a7eb8a1 100644
--- a/mpi/armv6/mpih-mul2.S
+++ b/mpi/armv6/mpih-mul2.S
@@ -61,8 +61,8 @@ _gcry_mpih_addmul_1:
beq .Lend;
.Large_loop:
- ldm %r0, {%r4, %r6, %r8, %r10};
ldr %r5, [%r1], #4;
+ ldm %r0, {%r4, %r6, %r8, %r10};
sub %r2, #4;
adcs %r4, %lr;
diff --git a/mpi/armv6/mpih-mul3.S b/mpi/armv6/mpih-mul3.S
index e42fc30..034929e 100644
--- a/mpi/armv6/mpih-mul3.S
+++ b/mpi/armv6/mpih-mul3.S
@@ -63,20 +63,23 @@ _gcry_mpih_submul_1:
.Large_loop:
ldr %r5, [%r1], #4;
- ldm %r0, {%r4, %r6, %r8, %r10};
-
mov %r9, #0;
+ ldr %r4, [%r0, #0];
+
umlal %lr, %r9, %r5, %r3;
+ ldr %r6, [%r0, #4];
ldr %r5, [%r1], #4;
sbcs %r4, %r4, %lr;
mov %lr, #0;
umlal %r9, %lr, %r5, %r3;
+ ldr %r8, [%r0, #8];
ldr %r5, [%r1], #4;
sbcs %r6, %r6, %r9;
mov %r9, #0;
umlal %lr, %r9, %r5, %r3;
+ ldr %r10, [%r0, #12];
ldr %r5, [%r1], #4;
sbcs %r8, %r8, %lr;
-----------------------------------------------------------------------
Summary of changes:
mpi/armv6/mpih-mul1.S | 10 +++++-----
mpi/armv6/mpih-mul2.S | 2 +-
mpi/armv6/mpih-mul3.S | 7 +++++--
3 files changed, 11 insertions(+), 8 deletions(-)
hooks/post-receive
--
The GNU crypto library
http://git.gnupg.org
More information about the Gnupg-commits
mailing list