[Gmp-commit] /var/hg/gmp: Reorganise x86/atom addlsh1_n and rsblsh1_n.

mercurial at gmplib.org mercurial at gmplib.org
Mon Feb 21 11:45:46 CET 2011


details:   /var/hg/gmp/rev/503b02006b3b
changeset: 13873:503b02006b3b
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Mon Feb 21 11:45:42 2011 +0100
description:
Reorganise x86/atom addlsh1_n and rsblsh1_n.

diffstat:

 ChangeLog                   |   7 ++++++-
 mpn/x86/atom/addlsh1_n.asm  |  23 -----------------------
 mpn/x86/atom/aorrlsh1_n.asm |  42 ++++++++++++++++++++++++++++++++++++++++++
 mpn/x86/atom/rsblsh1_n.asm  |  42 ------------------------------------------
 4 files changed, 48 insertions(+), 66 deletions(-)

diffs (133 lines):

diff -r 32090a8bebb1 -r 503b02006b3b ChangeLog
--- a/ChangeLog	Sun Feb 20 20:13:18 2011 +0100
+++ b/ChangeLog	Mon Feb 21 11:45:42 2011 +0100
@@ -1,4 +1,9 @@
-2011-02-20  Torbjorn Granlund  <tege at gmplib.org>
+2011-02-21  Torbjorn Granlund  <tege at gmplib.org>
+
+	* mpn/x86/atom/aorrlsh1_n.asm: New file (code from rsblsh_1, slightly
+	slower for addlsh_1 for large operands, but much faster for small).
+	* mpn/x86/atom/addlsh1_n.asm: Remove.
+	* mpn/x86/atom/rsblsh1_n.asm: Remove.
 
 2011-02-20  Marc Glisse  <marc.glisse at inria.fr>
 
diff -r 32090a8bebb1 -r 503b02006b3b mpn/x86/atom/addlsh1_n.asm
--- a/mpn/x86/atom/addlsh1_n.asm	Sun Feb 20 20:13:18 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-dnl  Intel Atom mpn_addlsh1_n -- rp[] = up[] + (vp[] << 1)
-
-dnl  Copyright 2011 Free Software Foundation, Inc.
-dnl
-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
-dnl  modify it under the terms of the GNU Lesser General Public License as
-dnl  published by the Free Software Foundation; either version 3 of the
-dnl  License, or (at your option) any later version.
-dnl
-dnl  The GNU MP Library is distributed in the hope that it will be useful,
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl  Lesser General Public License for more details.
-dnl
-dnl  You should have received a copy of the GNU Lesser General Public License
-dnl  along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
-
-include(`../config.m4')
-
-MULFUNC_PROLOGUE(mpn_addlsh1_n)
-include_mpn(`x86/k7/addlsh1_n.asm')
diff -r 32090a8bebb1 -r 503b02006b3b mpn/x86/atom/aorrlsh1_n.asm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/aorrlsh1_n.asm	Mon Feb 21 11:45:42 2011 +0100
@@ -0,0 +1,42 @@
+dnl  Intel Atom mpn_rsblsh1_n -- rp[] = (vp[] << 1) - up[]
+
+dnl  Contributed to the GNU project by Marco Bodrato.
+
+dnl  Copyright 2011 Free Software Foundation, Inc.
+dnl
+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
+dnl  modify it under the terms of the GNU Lesser General Public License as
+dnl  published by the Free Software Foundation; either version 3 of the
+dnl  License, or (at your option) any later version.
+dnl
+dnl  The GNU MP Library is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl  Lesser General Public License for more details.
+dnl
+dnl  You should have received a copy of the GNU Lesser General Public License
+dnl  along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
+
+include(`../config.m4')
+
+define(LSH, 1)
+define(RSH, 31)
+
+ifdef(`OPERATION_addlsh1_n', `
+	define(M4_inst,        adc)
+	define(M4_opp,         sub)
+	define(M4_function,    mpn_addlsh1_n)
+	define(M4_function_c,  mpn_addlsh1_nc)
+',`ifdef(`OPERATION_rsblsh1_n', `
+	define(M4_inst,        sbb)
+	define(M4_opp,         add)
+	define(M4_function,    mpn_rsblsh1_n)
+	define(M4_function_c,  mpn_rsblsh1_nc)
+',`m4_error(`Need OPERATION_addlsh1_n or OPERATION_rsblsh1_n
+')')')
+
+MULFUNC_PROLOGUE(mpn_addlsh1_n mpn_addlsh1_nc mpn_rsblsh1_n mpn_rsblsh1_nc)
+
+include_mpn(`x86/atom/aorrlshC_n.asm')
diff -r 32090a8bebb1 -r 503b02006b3b mpn/x86/atom/rsblsh1_n.asm
--- a/mpn/x86/atom/rsblsh1_n.asm	Sun Feb 20 20:13:18 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-dnl  Intel Atom mpn_rsblsh1_n -- rp[] = (vp[] << 1) - up[]
-
-dnl  Contributed to the GNU project by Marco Bodrato.
-
-dnl  Copyright 2011 Free Software Foundation, Inc.
-dnl
-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
-dnl  modify it under the terms of the GNU Lesser General Public License as
-dnl  published by the Free Software Foundation; either version 3 of the
-dnl  License, or (at your option) any later version.
-dnl
-dnl  The GNU MP Library is distributed in the hope that it will be useful,
-dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl  Lesser General Public License for more details.
-dnl
-dnl  You should have received a copy of the GNU Lesser General Public License
-dnl  along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
-
-include(`../config.m4')
-
-define(LSH, 1)
-define(RSH, 31)
-
-ifdef(`OPERATION_addlsh1_n', `
-	define(M4_inst,        adcl)
-	define(M4_opp,         subl)
-	define(M4_function,    mpn_addlsh1_n)
-	define(M4_function_c,  mpn_addlsh1_nc)
-',`ifdef(`OPERATION_rsblsh1_n', `
-	define(M4_inst,        sbbl)
-	define(M4_opp,         addl)
-	define(M4_function,    mpn_rsblsh1_n)
-	define(M4_function_c,  mpn_rsblsh1_nc)
-',`m4_error(`Need OPERATION_addlsh1_n or OPERATION_rsblsh1_n
-')')')
-
-MULFUNC_PROLOGUE(mpn_rsblsh1_n mpn_rsblsh1_nc)
-
-include_mpn(`x86/atom/aorrlshC_n.asm')


More information about the gmp-commit mailing list