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

mercurial at gmplib.org mercurial at gmplib.org
Wed May 3 17:14:56 UTC 2017


details:   /var/hg/gmp/rev/36d802618d2d
changeset: 17374:36d802618d2d
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Wed May 03 19:11:55 2017 +0200
description:
Remove spurious DOS decls.

details:   /var/hg/gmp/rev/8a865fcd2bf3
changeset: 17375:8a865fcd2bf3
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Wed May 03 19:12:01 2017 +0200
description:
Remove spurious DOS decls.

details:   /var/hg/gmp/rev/84d6122a67b9
changeset: 17376:84d6122a67b9
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Wed May 03 19:13:29 2017 +0200
description:
Adjust c/l number.

details:   /var/hg/gmp/rev/a1a2fcae1874
changeset: 17377:a1a2fcae1874
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Wed May 03 19:13:56 2017 +0200
description:
Tune.

diffstat:

 mpn/x86_64/bd1/mul_1.asm       |   2 +-
 mpn/x86_64/core2/aorsmul_1.asm |  19 ++++++++++---------
 mpn/x86_64/zen/aorsmul_1.asm   |   7 -------
 mpn/x86_64/zen/mul_1.asm       |  11 ++---------
 4 files changed, 13 insertions(+), 26 deletions(-)

diffs (121 lines):

diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/bd1/mul_1.asm
--- a/mpn/x86_64/bd1/mul_1.asm	Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/bd1/mul_1.asm	Wed May 03 19:13:56 2017 +0200
@@ -48,7 +48,7 @@
 C Intel BWL      2.49
 C Intel SKL      2.50
 C Intel atom    20.3
-C Intel SLM      8
+C Intel SLM      7.8
 C VIA nano       4.25
 
 C The loop of this code is the result of running a code generation and
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/core2/aorsmul_1.asm
--- a/mpn/x86_64/core2/aorsmul_1.asm	Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/core2/aorsmul_1.asm	Wed May 03 19:13:56 2017 +0200
@@ -48,7 +48,7 @@
 C Intel BWL      2.87
 C Intel SKL      2.79
 C Intel atom    20.6
-C Intel SLM      8
+C Intel SLM      7.6
 C VIA nano       5.25
 
 C INPUT PARAMETERS
@@ -116,23 +116,24 @@
 	mul	%rcx
 
 L(start_nc):
-	bt	$0, R32(%rbx)
-	jc	L(odd)
+	test	$1, R8(%rbx)
+	jnz	L(odd)
 
 	lea	(%rax), %r11
 	mov	8(up,%rbx,8), %rax
 	lea	(%rdx), %rbp
 	mul	%rcx
 	add	$2, %rbx
-	jns	L(n2)
+	jz	L(n2)
 
 	lea	(%rax), %r8
 	mov	(up,%rbx,8), %rax
 	lea	(%rdx), %r9
 	jmp	L(mid)
 
-L(odd):	add	$1, %rbx
-	jns	L(n1)
+	ALIGN(8)
+L(odd):	inc	%rbx
+	jz	L(n1)
 
 	lea	(%rax), %r8
 	mov	(up,%rbx,8), %rax
@@ -169,16 +170,16 @@
 	ADDSUB	%r8, %r10
 	adc	%r9, %r11
 	mov	%r10, -8(rp)
-	adc	$0, %rbp
+	adc	%rbx, %rbp		C rbx = 0
 L(n2):	mov	(rp), %r10
 	ADDSUB	%r11, %r10
 	adc	%rbp, %rax
 	mov	%r10, (rp)
-	adc	$0, %rdx
+	adc	%rbx, %rdx		C rbx = 0
 L(n1):	mov	8(rp), %r10
 	ADDSUB	%rax, %r10
 	mov	%r10, 8(rp)
-	mov	R32(%rbx), R32(%rax)	C zero rax
+	mov	R32(%rbx), R32(%rax)	C rbx = 0
 	adc	%rdx, %rax
 	pop	%rbp
 	pop	%rbx
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/zen/aorsmul_1.asm
--- a/mpn/x86_64/zen/aorsmul_1.asm	Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/zen/aorsmul_1.asm	Wed May 03 19:13:56 2017 +0200
@@ -74,13 +74,6 @@
 
 MULFUNC_PROLOGUE(mpn_addmul_1 mpn_submul_1)
 
-IFDOS(`	define(`up', ``%rsi'')	') dnl
-IFDOS(`	define(`rp', ``%rcx'')	') dnl
-IFDOS(`	define(`vl', ``%r9'')	') dnl
-IFDOS(`	define(`r9', ``rdi'')	') dnl
-IFDOS(`	define(`n',  ``%r8'')	') dnl
-IFDOS(`	define(`r8', ``r11'')	') dnl
-
 ASM_START()
 	TEXT
 	ALIGN(16)
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/zen/mul_1.asm
--- a/mpn/x86_64/zen/mul_1.asm	Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/zen/mul_1.asm	Wed May 03 19:13:56 2017 +0200
@@ -61,13 +61,6 @@
 define(`n',       `%rcx')
 define(`v0',      `%rdx')
 
-IFDOS(`	define(`up', ``%rsi'')	') dnl
-IFDOS(`	define(`rp', ``%rcx'')	') dnl
-IFDOS(`	define(`v0', ``%r9'')	') dnl
-IFDOS(`	define(`r9', ``rdi'')	') dnl
-IFDOS(`	define(`n',  ``%r8'')	') dnl
-IFDOS(`	define(`r8', ``r11'')	') dnl
-
 ASM_START()
 	TEXT
 	ALIGN(16)
@@ -114,10 +107,10 @@
 
 L(b2):	mov	%r8, %r10		C carry-in limb
 	mulx(	%r9, %r13, %r12)
-	.byte	0xc4,0xe2,0xe3,0xf6,0x44,0xce,0x08 	C mulx 8(up,n,8), %rbx, %rax
+	.byte	0xc4,0xe2,0xe3,0xf6,0x44,0xce,0x08	C mulx 8(up,n,8), %rbx, %rax
 	sub	$-2, n
 	jz	L(wd2)
-	.byte	0xc4,0x62,0xb3,0xf6,0x04,0xce	  	C mulx (up,n,8), %r9, %r8
+	.byte	0xc4,0x62,0xb3,0xf6,0x04,0xce		C mulx (up,n,8), %r9, %r8
 	add	%r10, %r13
 	jmp	L(lo2)
 


More information about the gmp-commit mailing list