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

mercurial at gmplib.org mercurial at gmplib.org
Thu Mar 7 07:44:02 CET 2013


details:   /var/hg/gmp/rev/ea3024894689
changeset: 15529:ea3024894689
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Mar 07 07:41:39 2013 +0100
description:
Optimise out two carry propagating adds.

details:   /var/hg/gmp/rev/a3b015c61f16
changeset: 15530:a3b015c61f16
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Mar 07 07:43:10 2013 +0100
description:
Non-semantic changes to make it more similar to submul_1.

details:   /var/hg/gmp/rev/2555b8f1a1a2
changeset: 15531:2555b8f1a1a2
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Mar 07 07:43:42 2013 +0100
description:
Fix file headers.

details:   /var/hg/gmp/rev/e5d36fd9cd95
changeset: 15532:e5d36fd9cd95
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Mar 07 07:43:56 2013 +0100
description:
ChangeLog.

diffstat:

 ChangeLog                             |   9 +++++++--
 mpn/sparc64/ultrasparct3/add_n.asm    |   2 ++
 mpn/sparc64/ultrasparct3/addmul_1.asm |  16 +++++++++-------
 mpn/sparc64/ultrasparct3/mul_1.asm    |   4 +++-
 mpn/sparc64/ultrasparct3/sub_n.asm    |   2 ++
 mpn/sparc64/ultrasparct3/submul_1.asm |  22 +++++++++++-----------
 6 files changed, 34 insertions(+), 21 deletions(-)

diffs (186 lines):

diff -r 84dd2a40a886 -r e5d36fd9cd95 ChangeLog
--- a/ChangeLog	Wed Mar 06 12:33:38 2013 +0100
+++ b/ChangeLog	Thu Mar 07 07:43:56 2013 +0100
@@ -1,3 +1,8 @@
+2013-03-07  Torbjorn Granlund  <tege at gmplib.org>
+
+	* mpn/sparc64/ultrasparct3/submul_1.asm: Optimise out two carry
+	propagating adds.
+
 2013-03-06  David Miller  <davem at davemloft.net>
 
 	* config.guess: Recognize UltraSparc T4 under Linux.
@@ -8,10 +13,10 @@
 	* mpn/sparc64/ultrasparct3/submul_1.asm: New file.
 	* mpn/sparc64/ultrasparct3/add_n.asm: New file.
 	* mpn/sparc64/ultrasparct3/sub_n.asm: New file.
-	
+
 	* mpn/sparc32/ultrasparct1/mul_1.asm: Unroll main loop one time, add
 	T2/T3/T4 timings.
-	* mpn/sparc32/ultrasparct1/addmul_1.asm: Likewise.	
+	* mpn/sparc32/ultrasparct1/addmul_1.asm: Likewise.
 	* mpn/sparc32/ultrasparct1/submul_1.asm: Likewise.
 
 2013-03-04  Torbjorn Granlund  <tege at gmplib.org>
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/add_n.asm
--- a/mpn/sparc64/ultrasparct3/add_n.asm	Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/add_n.asm	Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
 dnl  SPARC v9 mpn_add_n for T3/T4.
 
+dnl  Contributed to the GNU project by David Miller.
+
 dnl  Copyright 2013 Free Software Foundation, Inc.
 
 dnl  This file is part of the GNU MP Library.
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/addmul_1.asm
--- a/mpn/sparc64/ultrasparct3/addmul_1.asm	Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/addmul_1.asm	Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
 dnl  SPARC v9 mpn_addmul_1 for T3/T4.
 
+dnl  Contributed to the GNU project by David Miller.
+
 dnl  Copyright 2013 Free Software Foundation, Inc.
 
 dnl  This file is part of the GNU MP Library.
@@ -20,7 +22,7 @@
 include(`../config.m4')
 
 C		   cycles/limb
-C UltraSPARC T3:	 28
+C UltraSPARC T3:	28
 C UltraSPARC T4:	 5.5
 
 C INPUT PARAMETERS
@@ -51,12 +53,12 @@
 	mulx	%l1, v0, %o2
 	sub	n, 2, n
 	umulxhi	%l1, v0, %o3
-	addxccc	%o0, %o5, %o0
-	addxccc	%o2, %o1, %o2
+	addxccc	%o5, %o0, %o0
+	addxccc	%o1, %o2, %o2
 	addxc	%g0, %o3, %o5
-	addcc	%o0, %l2, %o0
+	addcc	%l2, %o0, %o0
 	stx	%o0, [rp-16]
-	addxccc	%o2, %l3, %o2
+	addxccc	%l3, %o2, %o2
 	brgz	n, L(top)
 	 stx	%o2, [rp-8]
 
@@ -74,7 +76,7 @@
 	stx	%o0, [rp+0]
 
 L(done):
-	addxc	%g0, %o5, %o5
+	addxc	%g0, %o5, %i0
 	ret
-	 restore %o5, 0, %o0
+	 restore
 EPILOGUE()
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/mul_1.asm
--- a/mpn/sparc64/ultrasparct3/mul_1.asm	Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/mul_1.asm	Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
 dnl  SPARC v9 mpn_mul_1 for T3/T4.
 
+dnl  Contributed to the GNU project by David Miller.
+
 dnl  Copyright 2013 Free Software Foundation, Inc.
 
 dnl  This file is part of the GNU MP Library.
@@ -20,7 +22,7 @@
 include(`../config.m4')
 
 C		   cycles/limb
-C UltraSPARC T3:	 25.5
+C UltraSPARC T3:	25.5
 C UltraSPARC T4:	 3.8
 
 C INPUT PARAMETERS
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/sub_n.asm
--- a/mpn/sparc64/ultrasparct3/sub_n.asm	Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/sub_n.asm	Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
 dnl  SPARC v9 mpn_sub_n for T3/T4.
 
+dnl  Contributed to the GNU project by David Miller.
+
 dnl  Copyright 2013 Free Software Foundation, Inc.
 
 dnl  This file is part of the GNU MP Library.
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/submul_1.asm
--- a/mpn/sparc64/ultrasparct3/submul_1.asm	Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/submul_1.asm	Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
 dnl  SPARC v9 mpn_submul_1 for T3/T4.
 
+dnl  Contributed to the GNU project by David Miller.
+
 dnl  Copyright 2013 Free Software Foundation, Inc.
 
 dnl  This file is part of the GNU MP Library.
@@ -20,8 +22,8 @@
 include(`../config.m4')
 
 C		   cycles/limb
-C UltraSPARC T3:	 29.5
-C UltraSPARC T4:	 6.5
+C UltraSPARC T3:	 ?
+C UltraSPARC T4:	 5.8
 
 C INPUT PARAMETERS
 define(`rp', `%i0')
@@ -37,12 +39,12 @@
 	save	%sp, -176, %sp
 	subcc	n, 1, n
 	be	L(final_one)
-	 clr	%o5
+	 subcc	%g0, %g0, %o5
 
 L(top):
 	ldx	[up+0], %l0
+	ldx	[up+8], %l1
 	ldx	[rp+0], %l2
-	ldx	[up+8], %l1
 	ldx	[rp+8], %l3
 	mulx	%l0, v0, %o0
 	add	up, 16, up
@@ -51,15 +53,13 @@
 	mulx	%l1, v0, %o2
 	sub	n, 2, n
 	umulxhi	%l1, v0, %o3
-	addcc	%o5, %o0, %o0
+	addxccc	%o5, %o0, %o0
 	addxc	%g0, %o1, %o5
 	subcc	%l2, %o0, %o0
-	addxc	%g0, %o5, %o5
 	stx	%o0, [rp-16]
-	addcc	%o5, %o2, %o2
+	addxccc	%o5, %o2, %o2
 	addxc	%g0, %o3, %o5
 	subcc	%l3, %o2, %o2
-	addxc	%g0, %o5, %o5
 	brgz	n, L(top)
 	 stx	%o2, [rp-8]
 
@@ -71,13 +71,13 @@
 	ldx	[rp+0], %l2
 	mulx	%l0, v0, %o0
 	umulxhi	%l0, v0, %o1
-	addcc	%o5, %o0, %o0
+	addxccc	%o5, %o0, %o0
 	addxc	%g0, %o1, %o5
 	subcc	%l2, %o0, %o0
-	addxc	%g0, %o5, %o5
 	stx	%o0, [rp+0]
 
 L(done):
+	addxc	%g0, %o5, %i0
 	ret
-	 restore %o5, 0, %o0
+	 restore
 EPILOGUE()


More information about the gmp-commit mailing list