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

mercurial at gmplib.org mercurial at gmplib.org
Tue Apr 30 01:02:09 CEST 2013


details:   /var/hg/gmp/rev/dbb859455fe3
changeset: 15777:dbb859455fe3
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Tue Apr 30 01:01:49 2013 +0200
description:
New file, was mis-named.

details:   /var/hg/gmp/rev/f1c123c3a516
changeset: 15778:f1c123c3a516
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Tue Apr 30 01:02:02 2013 +0200
description:
ChangeLog

diffstat:

 ChangeLog                         |    2 +
 mpn/arm/v7a/cora15/cnd-aors_n.asm |  147 --------------------------------------
 mpn/arm/v7a/cora15/cnd_aors_n.asm |  147 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 149 insertions(+), 147 deletions(-)

diffs (truncated from 313 to 300 lines):

diff -r 911e493979ef -r f1c123c3a516 ChangeLog
--- a/ChangeLog	Tue Apr 30 00:29:40 2013 +0200
+++ b/ChangeLog	Tue Apr 30 01:02:02 2013 +0200
@@ -1,5 +1,7 @@
 2013-04-29  Torbjorn Granlund  <tege at gmplib.org>
 
+	* mpn/arm/v7a/cora15/cnd_aors_n.asm: New file, was mis-named.
+
 	* mpn/sparc64/ultrasparct3/addmul_1.asm: Rewrite.
 
 	* mpn/sparc64/ultrasparct3/submul_1.asm: Rewrite.
diff -r 911e493979ef -r f1c123c3a516 mpn/arm/v7a/cora15/cnd-aors_n.asm
--- a/mpn/arm/v7a/cora15/cnd-aors_n.asm	Tue Apr 30 00:29:40 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-dnl  ARM mpn_cnd_add_n/mpn_cnd_sub_n optimised for A15.
-
-dnl  Copyright 2013 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		best
-C StrongARM:     -
-C XScale	 ?
-C Cortex-A7	 ?
-C Cortex-A8	 ?
-C Cortex-A9	 3.75			 3
-C Cortex-A15	 1.78			this
-
-C This code does not run as well as one could have hoped, since 1.5 c/l seems
-C realistic for this insn mix.
-
-C Architecture requirements:
-C v5	-
-C v5t	-
-C v5te	ldrd strd
-C v6	-
-C v6t2	-
-C v7a	-
-
-define(`cnd',`r0')
-define(`rp', `r1')
-define(`up', `r2')
-define(`vp', `r3')
-define(`n',  `r12')
-
-ifdef(`OPERATION_cnd_add_n', `
-  define(`ADDSUB',	adds)
-  define(`ADDSUBC',	adcs)
-  define(`IFADD',	`$1')
-  define(`INITCY',      `cmn	r0, #0')
-  define(`RETVAL',	`adc	r0, n, #0')
-  define(`RETVAL2',	`adc	r0, n, #1')
-  define(`func',	mpn_cnd_add_n)
-  define(`func_nc',	mpn_add_nc)')
-ifdef(`OPERATION_cnd_sub_n', `
-  define(`ADDSUB',	subs)
-  define(`ADDSUBC',	sbcs)
-  define(`IFADD',	`')
-  define(`INITCY',      `cmp	r0, #0')
-  define(`RETVAL',	`sbc	r0, r0, r0
-			and	r0, r0, #1')
-  define(`RETVAL2',	`RETVAL')
-  define(`func',	mpn_cnd_sub_n)
-  define(`func_nc',	mpn_sub_nc)')
-
-MULFUNC_PROLOGUE(mpn_cnd_add_n mpn_cnd_sub_n)
-
-ASM_START()
-PROLOGUE(func)
-	ldr	n, [sp]
-	push	{ r4-r9 }
-
-	cmp	cnd, #1
-	sbc	cnd, cnd, cnd		C conditionally set to 0xffffffff
-
-	ands	r6, n, #3
-	mov	n, n, lsr #2
-	beq	L(b00)
-	cmp	r6, #2
-	bcc	L(b01)
-	beq	L(b10)
-
-L(b11):	ldr	r5, [up], #4
-	ldr	r7, [vp], #4
-	bic	r7, r7, cnd
-	ADDSUB	r9, r5, r7
-	ldrd	r4, r5, [up, #0]
-	ldrd	r6, r7, [vp, #0]
-	bic	r6, r6, cnd
-	bic	r7, r7, cnd
-	str	r9, [rp], #-4
-	b	L(lo)
-
-L(b00):	ldrd	r4, r5, [up], #-8
-	ldrd	r6, r7, [vp], #-8
-	bic	r6, r6, cnd
-	bic	r7, r7, cnd
-	INITCY
-	sub	rp, rp, #16
-	b	L(mid)
-
-L(b01):	ldr	r5, [up], #-4
-	ldr	r7, [vp], #-4
-	bic	r7, r7, cnd
-	ADDSUB	r9, r5, r7
-	str	r9, [rp], #-12
-	tst	n, n
-	beq	L(wd1)
-L(gt1):	ldrd	r4, r5, [up, #8]
-	ldrd	r6, r7, [vp, #8]
-	bic	r6, r6, cnd
-	bic	r7, r7, cnd
-	b	L(mid)
-
-L(b10):	ldrd	r4, r5, [up]
-	ldrd	r6, r7, [vp]
-	bic	r6, r6, cnd
-	bic	r7, r7, cnd
-	INITCY
-	sub	rp, rp, #8
-	b	L(lo)
-
-	ALIGN(16)
-L(top):	ldrd	r6, r7, [vp, #8]
-	ldrd	r4, r5, [up, #8]
-	bic	r6, r6, cnd
-	bic	r7, r7, cnd
-	strd	r8, r9, [rp, #8]
-L(mid):	ADDSUBC	r8, r4, r6
-	ADDSUBC	r9, r5, r7
-	ldrd	r6, r7, [vp, #16]!
-	ldrd	r4, r5, [up, #16]!
-	bic	r6, r6, cnd
-	bic	r7, r7, cnd
-	sub	n, n, #1
-	strd	r8, r9, [rp, #16]!
-L(lo):	ADDSUBC	r8, r4, r6
-	ADDSUBC	r9, r5, r7
-	tst	n, n
-	bne	L(top)
-
-L(end):	strd	r8, r9, [rp, #8]
-L(wd1):	RETVAL
-	pop	{ r4-r9 }
-	bx	r14
-EPILOGUE()
diff -r 911e493979ef -r f1c123c3a516 mpn/arm/v7a/cora15/cnd_aors_n.asm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/arm/v7a/cora15/cnd_aors_n.asm	Tue Apr 30 01:02:02 2013 +0200
@@ -0,0 +1,147 @@
+dnl  ARM mpn_cnd_add_n/mpn_cnd_sub_n optimised for A15.
+
+dnl  Copyright 2013 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		best
+C StrongARM:     -
+C XScale	 ?
+C Cortex-A7	 ?
+C Cortex-A8	 ?
+C Cortex-A9	 3.75			 3
+C Cortex-A15	 1.78			this
+
+C This code does not run as well as one could have hoped, since 1.5 c/l seems
+C realistic for this insn mix.
+
+C Architecture requirements:
+C v5	-
+C v5t	-
+C v5te	ldrd strd
+C v6	-
+C v6t2	-
+C v7a	-
+
+define(`cnd',`r0')
+define(`rp', `r1')
+define(`up', `r2')
+define(`vp', `r3')
+define(`n',  `r12')
+
+ifdef(`OPERATION_cnd_add_n', `
+  define(`ADDSUB',	adds)
+  define(`ADDSUBC',	adcs)
+  define(`IFADD',	`$1')
+  define(`INITCY',      `cmn	r0, #0')
+  define(`RETVAL',	`adc	r0, n, #0')
+  define(`RETVAL2',	`adc	r0, n, #1')
+  define(`func',	mpn_cnd_add_n)
+  define(`func_nc',	mpn_add_nc)')
+ifdef(`OPERATION_cnd_sub_n', `
+  define(`ADDSUB',	subs)
+  define(`ADDSUBC',	sbcs)
+  define(`IFADD',	`')
+  define(`INITCY',      `cmp	r0, #0')
+  define(`RETVAL',	`sbc	r0, r0, r0
+			and	r0, r0, #1')
+  define(`RETVAL2',	`RETVAL')
+  define(`func',	mpn_cnd_sub_n)
+  define(`func_nc',	mpn_sub_nc)')
+
+MULFUNC_PROLOGUE(mpn_cnd_add_n mpn_cnd_sub_n)
+
+ASM_START()
+PROLOGUE(func)
+	ldr	n, [sp]
+	push	{ r4-r9 }
+
+	cmp	cnd, #1
+	sbc	cnd, cnd, cnd		C conditionally set to 0xffffffff
+
+	ands	r6, n, #3
+	mov	n, n, lsr #2
+	beq	L(b00)
+	cmp	r6, #2
+	bcc	L(b01)
+	beq	L(b10)
+
+L(b11):	ldr	r5, [up], #4
+	ldr	r7, [vp], #4
+	bic	r7, r7, cnd
+	ADDSUB	r9, r5, r7
+	ldrd	r4, r5, [up, #0]
+	ldrd	r6, r7, [vp, #0]
+	bic	r6, r6, cnd
+	bic	r7, r7, cnd
+	str	r9, [rp], #-4
+	b	L(lo)
+
+L(b00):	ldrd	r4, r5, [up], #-8
+	ldrd	r6, r7, [vp], #-8
+	bic	r6, r6, cnd
+	bic	r7, r7, cnd
+	INITCY
+	sub	rp, rp, #16
+	b	L(mid)
+
+L(b01):	ldr	r5, [up], #-4
+	ldr	r7, [vp], #-4
+	bic	r7, r7, cnd
+	ADDSUB	r9, r5, r7
+	str	r9, [rp], #-12
+	tst	n, n
+	beq	L(wd1)
+L(gt1):	ldrd	r4, r5, [up, #8]
+	ldrd	r6, r7, [vp, #8]
+	bic	r6, r6, cnd
+	bic	r7, r7, cnd
+	b	L(mid)
+
+L(b10):	ldrd	r4, r5, [up]
+	ldrd	r6, r7, [vp]
+	bic	r6, r6, cnd
+	bic	r7, r7, cnd
+	INITCY
+	sub	rp, rp, #8
+	b	L(lo)
+
+	ALIGN(16)
+L(top):	ldrd	r6, r7, [vp, #8]
+	ldrd	r4, r5, [up, #8]
+	bic	r6, r6, cnd
+	bic	r7, r7, cnd
+	strd	r8, r9, [rp, #8]
+L(mid):	ADDSUBC	r8, r4, r6
+	ADDSUBC	r9, r5, r7
+	ldrd	r6, r7, [vp, #16]!
+	ldrd	r4, r5, [up, #16]!
+	bic	r6, r6, cnd


More information about the gmp-commit mailing list