[Gmp-commit] /var/hg/gmp: 2 new changesets

mercurial at gmplib.org mercurial at gmplib.org
Fri Apr 27 11:15:39 CEST 2012


details:   /var/hg/gmp/rev/2089eb0fd935
changeset: 14900:2089eb0fd935
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Fri Apr 27 11:10:46 2012 +0200
description:
Avoid v6 instructions.

details:   /var/hg/gmp/rev/9068add0d4fb
changeset: 14901:9068add0d4fb
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Fri Apr 27 11:15:36 2012 +0200
description:
Put new mode1o file in its proper place.

diffstat:

 ChangeLog               |   2 +-
 mpn/arm/mode1o.asm      |  10 +++---
 mpn/arm/v6/mode1o.asm   |  75 -------------------------------------------------
 mpn/arm/v6t2/mode1o.asm |  75 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 81 insertions(+), 81 deletions(-)

diffs (201 lines):

diff -r 448b5bfea636 -r 9068add0d4fb ChangeLog
--- a/ChangeLog	Fri Apr 27 02:17:29 2012 +0200
+++ b/ChangeLog	Fri Apr 27 11:15:36 2012 +0200
@@ -6,7 +6,7 @@
 	* mpn/arm/v6t2/gcd_1.asm: New file.
 
 	* mpn/arm/mode1o.asm: New file.
-	* mpn/arm/v6/mode1o.asm: New file.
+	* mpn/arm/v6t2/mode1o.asm: New file.
 
 	* mpn/arm/arm-defs.m4 (LEA): New define.
 	* mpn/arm/invert_limb.asm: Use LEA.
diff -r 448b5bfea636 -r 9068add0d4fb mpn/arm/mode1o.asm
--- a/mpn/arm/mode1o.asm	Fri Apr 27 02:17:29 2012 +0200
+++ b/mpn/arm/mode1o.asm	Fri Apr 27 11:15:36 2012 +0200
@@ -42,9 +42,9 @@
 
 	ldr	r5, [up], #4		C up[0]
 
-	ubfx	r12, d, #1, #7
-	ldrb	r4, [r4, r12]
-	smulbb	r12, r4, r4
+	and	r12, d, #254
+	ldrb	r4, [r4, r12, lsr #1]
+	mul	r12, r4, r4
 	mul	r12, d, r12
 	rsb	r12, r12, r4, asl #1
 	mul	r4, r12, r12
@@ -59,12 +59,12 @@
 	sub	n, n, #1
 	mul	r12, r4, cy
 	tst	n, n
-	umull	r12, cy, r12, d
+	umull	r12, cy, d, r12
 	bne	L(top)
 
 L(end):	sbcs	cy, r5, cy
 	mul	r12, r4, cy
-	umull	r12, r0, r12, d
+	umull	r12, r0, d, r12
 	addcc	r0, r0, #1
 
 	ldmfd	sp!, {r4, r5}
diff -r 448b5bfea636 -r 9068add0d4fb mpn/arm/v6/mode1o.asm
--- a/mpn/arm/v6/mode1o.asm	Fri Apr 27 02:17:29 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-dnl  ARM mpn_modexact_1c_odd
-
-dnl  Contributed to the GNU project by Torbjorn Granlund.
-
-dnl  Copyright 2012 Free Software Foundation, Inc.
-
-dnl  This file is part of the GNU MP Library.
-
-dnl  The GNU MP Library is free software; you can redistribute it and/or modify
-dnl  it under the terms of the GNU Lesser General Public License as published
-dnl  by the Free Software Foundation; either version 3 of the License, or (at
-dnl  your option) any later version.
-
-dnl  The GNU MP Library is distributed in the hope that it will be useful, but
-dnl  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
-dnl  License for more details.
-
-dnl  You should have received a copy of the GNU Lesser General Public License
-dnl  along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
-
-include(`../config.m4')
-
-C	     cycles/limb
-C StrongARM	 ?
-C XScale	 ?
-C Cortex-A8	 ?
-C Cortex-A9	 9
-C Cortex-A15	 ?
-
-define(`up', `r0')
-define(`n',  `r1')
-define(`d',  `r2')
-define(`cy', `r3')
-
-	.protected	binvert_limb_table
-ASM_START()
-PROLOGUE(mpn_modexact_1c_odd)
-	stmfd	sp!, {r4, r5, r6, r7}
-
-	LEA(	r4, binvert_limb_table)
-
-	ldr	r6, [up], #4		C up[0]
-
-	ubfx	r12, d, #1, #7
-	ldrb	r4, [r4, r12]
-	smulbb	r12, r4, r4
-	mul	r12, d, r12
-	rsb	r12, r12, r4, asl #1
-	mul	r4, r12, r12
-	mul	r4, d, r4
-	rsb	r4, r4, r12, asl #1	C r4 = inverse
-
-	subs	n, n, #1
-	sub	r6, r6, cy
-	mul	r6, r6, r4
-	beq	L(end)
-
-	rsb	r5, r4, #0		C r5 = -inverse
-
-L(top):	ldr	r7, [up], #4
-	mov	r12, #0
-	umaal	r12, cy, r6, d
-	mul	r6, r7, r4
-	mla	r6, cy, r5, r6
-	subs	n, n, #1
-	bne	L(top)
-
-L(end):	mov	r12, #0
-	umaal	r12, cy, r6, d
-	mov	r0, cy
-
-	ldmfd	sp!, {r4, r5, r6, r7}
-	bx	r14
-EPILOGUE()
diff -r 448b5bfea636 -r 9068add0d4fb mpn/arm/v6t2/mode1o.asm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/arm/v6t2/mode1o.asm	Fri Apr 27 11:15:36 2012 +0200
@@ -0,0 +1,75 @@
+dnl  ARM mpn_modexact_1c_odd
+
+dnl  Contributed to the GNU project by Torbjorn Granlund.
+
+dnl  Copyright 2012 Free Software Foundation, Inc.
+
+dnl  This file is part of the GNU MP Library.
+
+dnl  The GNU MP Library is free software; you can redistribute it and/or modify
+dnl  it under the terms of the GNU Lesser General Public License as published
+dnl  by the Free Software Foundation; either version 3 of the License, or (at
+dnl  your option) any later version.
+
+dnl  The GNU MP Library is distributed in the hope that it will be useful, but
+dnl  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+dnl  License for more details.
+
+dnl  You should have received a copy of the GNU Lesser General Public License
+dnl  along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
+
+include(`../config.m4')
+
+C	     cycles/limb
+C StrongARM	 ?
+C XScale	 ?
+C Cortex-A8	 ?
+C Cortex-A9	 9
+C Cortex-A15	 ?
+
+define(`up', `r0')
+define(`n',  `r1')
+define(`d',  `r2')
+define(`cy', `r3')
+
+	.protected	binvert_limb_table
+ASM_START()
+PROLOGUE(mpn_modexact_1c_odd)
+	stmfd	sp!, {r4, r5, r6, r7}
+
+	LEA(	r4, binvert_limb_table)
+
+	ldr	r6, [up], #4		C up[0]
+
+	ubfx	r12, d, #1, #7
+	ldrb	r4, [r4, r12]
+	smulbb	r12, r4, r4
+	mul	r12, d, r12
+	rsb	r12, r12, r4, asl #1
+	mul	r4, r12, r12
+	mul	r4, d, r4
+	rsb	r4, r4, r12, asl #1	C r4 = inverse
+
+	subs	n, n, #1
+	sub	r6, r6, cy
+	mul	r6, r6, r4
+	beq	L(end)
+
+	rsb	r5, r4, #0		C r5 = -inverse
+
+L(top):	ldr	r7, [up], #4
+	mov	r12, #0
+	umaal	r12, cy, r6, d
+	mul	r6, r7, r4
+	mla	r6, cy, r5, r6
+	subs	n, n, #1
+	bne	L(top)
+
+L(end):	mov	r12, #0
+	umaal	r12, cy, r6, d
+	mov	r0, cy
+
+	ldmfd	sp!, {r4, r5, r6, r7}
+	bx	r14
+EPILOGUE()


More information about the gmp-commit mailing list