[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