[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