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

mercurial at gmplib.org mercurial at gmplib.org
Thu Oct 20 00:32:04 CEST 2011


details:   /var/hg/gmp/rev/c7cc5e7775af
changeset: 14360:c7cc5e7775af
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Oct 20 00:30:10 2011 +0200
description:
Save just needed registers.

details:   /var/hg/gmp/rev/79584478dfae
changeset: 14361:79584478dfae
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Oct 20 00:31:34 2011 +0200
description:
Rewrite like s390_32/esame code.

details:   /var/hg/gmp/rev/7ac484b22d5d
changeset: 14362:7ac484b22d5d
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu Oct 20 00:31:43 2011 +0200
description:
*** empty log message ***

diffstat:

 ChangeLog                              |  11 +++++++++++
 mpn/s390_32/esame/sqr_diag_addlsh1.asm |  20 ++++++++++----------
 mpn/s390_64/sqr_diag_addlsh1.asm       |  33 +++++++++++++++++----------------
 3 files changed, 38 insertions(+), 26 deletions(-)

diffs (147 lines):

diff -r 8aec7a5a2be7 -r 7ac484b22d5d ChangeLog
--- a/ChangeLog	Wed Oct 19 09:06:58 2011 +0200
+++ b/ChangeLog	Thu Oct 20 00:31:43 2011 +0200
@@ -1,3 +1,14 @@
+2011-10-20  Torbjorn Granlund  <tege at gmplib.org>
+
+	* mpn/s390_64/sqr_diag_addlsh1.asm: Rewrite like s390_32/esame code.
+
+	* mpn/s390_32/esame/sqr_diag_addlsh1.asm: Save just needed registers.
+
+2011-10-19  Torbjorn Granlund  <tege at gmplib.org>
+
+	* mpn/s390_32/esame/add_n.asm: Rewrite, similar to s390_64 code.
+	* mpn/s390_32/esame/add_n.asm: Likewise.
+
 2011-10-17  Torbjorn Granlund  <tege at gmplib.org>
 
 	* mpn/s390_32/esame/aorslsh1_n.asm: New file.
diff -r 8aec7a5a2be7 -r 7ac484b22d5d mpn/s390_32/esame/sqr_diag_addlsh1.asm
--- a/mpn/s390_32/esame/sqr_diag_addlsh1.asm	Wed Oct 19 09:06:58 2011 +0200
+++ b/mpn/s390_32/esame/sqr_diag_addlsh1.asm	Thu Oct 20 00:31:43 2011 +0200
@@ -21,7 +21,7 @@
 
 C            cycles/limb
 C z900		 ?
-C z990		 8
+C z990           8
 C z9		 ?
 C z10		 ?
 C z196		 ?
@@ -34,9 +34,9 @@
 
 ASM_START()
 PROLOGUE(mpn_sqr_diag_addlsh1)
-	stm	%r6, %r11, 24(%r15)
+	stm	%r6, %r9, 24(%r15)
 
-	lhi	%r11, -1		C save non-carry state
+	lhi	%r9, -1			C save non-carry state
 
 	l	%r1, 0(up)
 	mlr	%r0, %r1
@@ -50,28 +50,28 @@
 	la	tp, 8(tp)
 	alcr	%r6, %r6
 	alcr	%r7, %r7
-L(mid):	slbr	%r10, %r10		C save carry
-	ahi	%r11, 1			C restore old carry
+L(mid):	slbr	%r8, %r8		C save carry
+	ahi	%r9, 1			C restore old carry
 	alcr	%r6, %r1
 	alcr	%r7, %r0
 	stm	%r6, %r7, 0(rp)
 	la	rp, 8(rp)
 	l	%r1, 4(up)
 	la	up, 4(up)
-	lr	%r11, %r10		C copy carry save register
+	lr	%r9, %r8		C copy carry save register
 	mlr	%r0, %r1
 	brct	n, L(top)
 
 L(end):	l	%r6, 4(tp)
 	alcr	%r6, %r6
-	slbr	%r10, %r10		C save carry
-	ahi	%r11, 1			C restore old carry
+	slbr	%r8, %r8		C save carry
+	ahi	%r9, 1			C restore old carry
 	lhi	%r7, 1
 	alcr	%r6, %r1
 	alcr	%r7, %r0
-	alr	%r7, %r10
+	alr	%r7, %r8
 	stm	%r6, %r7, 0(rp)
 
-	lm	%r6, %r11, 24(%r15)
+	lm	%r6, %r9, 24(%r15)
 	br	%r14
 EPILOGUE()
diff -r 8aec7a5a2be7 -r 7ac484b22d5d mpn/s390_64/sqr_diag_addlsh1.asm
--- a/mpn/s390_64/sqr_diag_addlsh1.asm	Wed Oct 19 09:06:58 2011 +0200
+++ b/mpn/s390_64/sqr_diag_addlsh1.asm	Thu Oct 20 00:31:43 2011 +0200
@@ -20,8 +20,8 @@
 include(`../config.m4')
 
 C            cycles/limb
-C z900		 24.5
-C z990           18.5
+C z900		 ?
+C z990           14.5
 C z9		 ?
 C z10		 ?
 C z196		 ?
@@ -36,39 +36,40 @@
 PROLOGUE(mpn_sqr_diag_addlsh1)
 	stmg	%r6, %r9, 48(%r15)
 
+	lghi	%r9, -1			C save non-carry state
+
 	lg	%r1, 0(up)
 	mlgr	%r0, %r1
 	aghi	n, -1
 	lg	%r7, 0(tp)
-	srlg	%r9, %r7, 63
-	sllg	%r7, %r7, 1
-	lgr	%r6, %r1
-	algr	%r7, %r0
+	algr	%r7, %r7
+	lghi	%r6, 0
 	j	L(mid)
 
 L(top):	lmg	%r6, %r7, 8(tp)
 	la	tp, 16(tp)
-	srlg	%r8, %r6, 63
-	sllg	%r6, %r6, 1
-	la	%r6, 0(%r6,%r9)
-	srlg	%r9, %r7, 63
-	sllg	%r7, %r7, 1
-	la	%r7, 0(%r7,%r8)
+	alcgr	%r6, %r6
+	alcgr	%r7, %r7
+L(mid):	slbgr	%r8, %r8		C save carry
+	aghi	%r9, 1			C restore old carry
 	alcgr	%r6, %r1
 	alcgr	%r7, %r0
-L(mid):	stmg	%r6, %r7, 0(rp)
+	stmg	%r6, %r7, 0(rp)
 	la	rp, 16(rp)
 	lg	%r1, 8(up)
 	la	up, 8(up)
+	lgr	%r9, %r8		C copy carry save register
 	mlgr	%r0, %r1
 	brctg	n, L(top)
 
 L(end):	lg	%r6, 8(tp)
-	srlg	%r7, %r6, 63
-	sllg	%r6, %r6, 1
-	la	%r6, 0(%r6,%r9)
+	alcgr	%r6, %r6
+	slbgr	%r8, %r8		C save carry
+	aghi	%r9, 1			C restore old carry
+	lghi	%r7, 1
 	alcgr	%r6, %r1
 	alcgr	%r7, %r0
+	algr	%r7, %r8
 	stmg	%r6, %r7, 0(rp)
 
 	lmg	%r6, %r9, 48(%r15)


More information about the gmp-commit mailing list