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

mercurial at gmplib.org mercurial at gmplib.org
Thu Aug 15 20:46:15 UTC 2019


details:   /var/hg/gmp/rev/c86c4b36f054
changeset: 17813:c86c4b36f054
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Thu Aug 15 22:34:34 2019 +0200
description:
Use bd2 instead of bd4 gcd_11 code.

details:   /var/hg/gmp/rev/fad0937a0af8
changeset: 17814:fad0937a0af8
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Thu Aug 15 22:45:45 2019 +0200
description:
Remove file, added as a result of bad mesurements.

diffstat:

 mpn/x86_64/coreinhm/gcd_11.asm |   93 -------------------------------------
 mpn/x86_64/zen/gcd_11.asm      |    2 +-
 mpn/x86_64/zen2/gcd_11.asm     |  103 -----------------------------------------
 3 files changed, 1 insertions(+), 197 deletions(-)

diffs (213 lines):

diff -r e8e308deeae5 -r fad0937a0af8 mpn/x86_64/coreinhm/gcd_11.asm
--- a/mpn/x86_64/coreinhm/gcd_11.asm	Wed Aug 14 01:57:21 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-dnl  AMD64 mpn_gcd_11 optimised for Intel NHM, WSM.
-
-dnl  Based on the K7 gcd_1.asm, by Kevin Ryde.  Rehacked for AMD64 by Torbjorn
-dnl  Granlund.
-
-dnl  Copyright 2000-2002, 2005, 2009, 2011, 2012, 2017, 2019 Free Software
-dnl  Foundation, Inc.
-
-dnl  This file is part of the GNU MP Library.
-dnl
-dnl  The GNU MP Library is free software; you can redistribute it and/or modify
-dnl  it under the terms of either:
-dnl
-dnl    * the GNU Lesser General Public License as published by the Free
-dnl      Software Foundation; either version 3 of the License, or (at your
-dnl      option) any later version.
-dnl
-dnl  or
-dnl
-dnl    * the GNU General Public License as published by the Free Software
-dnl      Foundation; either version 2 of the License, or (at your option) any
-dnl      later version.
-dnl
-dnl  or both in parallel, as here.
-dnl
-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 General Public License
-dnl  for more details.
-dnl
-dnl  You should have received copies of the GNU General Public License and the
-dnl  GNU Lesser General Public License along with the GNU MP Library.  If not,
-dnl  see https://www.gnu.org/licenses/.
-
-include(`../config.m4')
-
-
-C	     cycles/bit (approx)
-C AMD K8,K9	 ?
-C AMD K10	 ?
-C AMD bd1	 ?
-C AMD bd2	 ?
-C AMD bd3	 ?
-C AMD bd4	 ?
-C AMD bt1	 ?
-C AMD bt2	 ?
-C AMD zn1	 ?
-C AMD zn2	 ?
-C Intel P4	 ?
-C Intel CNR	 5.05
-C Intel PNR	 5.05
-C Intel NHM	 5.09  *
-C Intel WSM	 5.09  *
-C Intel SBR	 4.83
-C Intel IBR	 ?
-C Intel HWL	 4.49
-C Intel BWL	 4.09
-C Intel SKL	 4.09
-C Intel atom	 ?
-C Intel SLM	 ?
-C Intel GLM	 ?
-C Intel GLM+	 ?
-C VIA nano	 ?
-
-define(`u0',    `%rdi')
-define(`v0',    `%rsi')
-
-ABI_SUPPORT(DOS64)
-ABI_SUPPORT(STD64)
-
-ASM_START()
-	TEXT
-	ALIGN(16)
-PROLOGUE(mpn_gcd_11)
-	FUNC_ENTRY(2)
-	mov	v0, %rax	C
-	sub	u0, v0		C
-	jz	L(end)		C
-
-	ALIGN(16)		C
-L(top):	bsf	v0, %rcx	C
-	mov	u0, %r9		C
-	sub	%rax, u0	C
-	cmovc	v0, u0		C u = |u - v|
-	cmovc	%r9, %rax	C v = min(u,v)
-	shr	R8(%rcx), u0	C
-	mov	%rax, v0	C
-	sub	u0, v0		C
-	jnz	L(top)		C
-
-L(end):	FUNC_EXIT()
-	ret
-EPILOGUE()
diff -r e8e308deeae5 -r fad0937a0af8 mpn/x86_64/zen/gcd_11.asm
--- a/mpn/x86_64/zen/gcd_11.asm	Wed Aug 14 01:57:21 2019 +0200
+++ b/mpn/x86_64/zen/gcd_11.asm	Thu Aug 15 22:45:45 2019 +0200
@@ -34,4 +34,4 @@
 ABI_SUPPORT(STD64)
 
 MULFUNC_PROLOGUE(mpn_gcd_11)
-include_mpn(`x86_64/bd4/gcd_11.asm')
+include_mpn(`x86_64/bd2/gcd_11.asm')
diff -r e8e308deeae5 -r fad0937a0af8 mpn/x86_64/zen2/gcd_11.asm
--- a/mpn/x86_64/zen2/gcd_11.asm	Wed Aug 14 01:57:21 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-dnl  AMD64 mpn_gcd_11 optimised for AMD ZN2.
-
-dnl  Based on the K7 gcd_1.asm, by Kevin Ryde.  Rehacked for AMD64 by Torbjorn
-dnl  Granlund.
-
-dnl  Copyright 2000-2002, 2005, 2009, 2011, 2012, 2017, 2019 Free Software
-dnl  Foundation, Inc.
-
-dnl  This file is part of the GNU MP Library.
-dnl
-dnl  The GNU MP Library is free software; you can redistribute it and/or modify
-dnl  it under the terms of either:
-dnl
-dnl    * the GNU Lesser General Public License as published by the Free
-dnl      Software Foundation; either version 3 of the License, or (at your
-dnl      option) any later version.
-dnl
-dnl  or
-dnl
-dnl    * the GNU General Public License as published by the Free Software
-dnl      Foundation; either version 2 of the License, or (at your option) any
-dnl      later version.
-dnl
-dnl  or both in parallel, as here.
-dnl
-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 General Public License
-dnl  for more details.
-dnl
-dnl  You should have received copies of the GNU General Public License and the
-dnl  GNU Lesser General Public License along with the GNU MP Library.  If not,
-dnl  see https://www.gnu.org/licenses/.
-
-include(`../config.m4')
-
-
-C	     cycles/bit (approx)
-C AMD K8,K9	 -
-C AMD K10	 -
-C AMD bd1	 -
-C AMD bd2	 -
-C AMD bd3	 -
-C AMD bd4	 3.07
-C AMD bt1	 -
-C AMD bt2	 -
-C AMD zn1	 3.10
-C AMD zn2	 3.17  *
-C Intel P4	 -
-C Intel CNR	 -
-C Intel PNR	 -
-C Intel NHM	 -
-C Intel WSM	 -
-C Intel SBR	 -
-C Intel IBR	 -
-C Intel HWL	 ?
-C Intel BWL	 ?
-C Intel SKL	 ?
-C Intel atom	 -
-C Intel SLM	 -
-C Intel GLM	 -
-C Intel GLM+	 -
-C VIA nano	 -
-
-define(`u0',    `%rdi')
-define(`v0',    `%rsi')
-
-ABI_SUPPORT(DOS64)
-ABI_SUPPORT(STD64)
-
-ASM_START()
-	TEXT
-	ALIGN(16)
-PROLOGUE(mpn_gcd_11)
-	FUNC_ENTRY(2)
-	mov	u0, %r9
-	jmp	L(ent)		C
-
-	ALIGN(16)		C
-L(top):	cmovc	%rax, u0	C u = |v - u|
-	cmovc	%r9, v0		C v = min(u,v)
-	rep;bsf	%rax, %rcx	C
-	shrx(	%rcx, u0, %r9)	C
-	shrx(	%rcx, u0, u0)	C
-L(ent):	mov	v0, %rax	C
-	sub	u0, v0		C v - u
-	sub	%rax, u0	C u - v
-	jz	L(end)		C
-
-	cmovc	v0, u0		C u = |v - u|
-	cmovc	%r9, %rax	C v = min(u,v)
-	rep;bsf	v0, %rcx	C
-	shrx(	%rcx, u0, %r9)	C
-	shrx(	%rcx, u0, u0)	C
-	mov	%rax, v0	C
-	sub	u0, %rax	C v - u
-	sub	v0, u0		C u - v
-	jnz	L(top)		C
-
-	mov	v0, %rax
-L(end):	FUNC_EXIT()
-	ret
-EPILOGUE()


More information about the gmp-commit mailing list