[Gmp-commit] /home/hgfiles/gmp: Improve atom/32 code selection with some asm ...
mercurial at gmplib.org
mercurial at gmplib.org
Fri Jan 28 17:04:24 CET 2011
details: /home/hgfiles/gmp/rev/43cdbb41a5f1
changeset: 13780:43cdbb41a5f1
user: Marco Bodrato <bodrato at mail.dm.unipi.it>
date: Fri Jan 28 17:01:09 2011 +0100
description:
Improve atom/32 code selection with some asm grabbing files.
diffstat:
ChangeLog | 21 +++++++++++++++++++++
mpn/x86/atom/addlsh1_n.asm | 24 ++++++++++++++++++++++++
mpn/x86/atom/aors_n.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/aorsmul_1.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/bdiv_q_1.asm | 24 ++++++++++++++++++++++++
mpn/x86/atom/copyd.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/copyi.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/dive_1.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/divrem_1.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/hamdist.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/logops_n.asm | 24 ++++++++++++++++++++++++
mpn/x86/atom/lshift.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/mod_34lsub1.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/mul_1.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/mul_basecase.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/popcount.asm | 24 ++++++++++++++++++++++++
mpn/x86/atom/rsh1add_n.asm | 24 ++++++++++++++++++++++++
mpn/x86/atom/rshift.asm | 23 +++++++++++++++++++++++
mpn/x86/atom/sqr_basecase.asm | 29 +++++++++++++++++++++++++++++
19 files changed, 446 insertions(+), 0 deletions(-)
diffs (truncated from 525 to 300 lines):
diff -r a287ca5262b8 -r 43cdbb41a5f1 ChangeLog
--- a/ChangeLog Thu Jan 27 22:59:36 2011 +0100
+++ b/ChangeLog Fri Jan 28 17:01:09 2011 +0100
@@ -1,3 +1,24 @@
+2011-01-28 Marco Bodrato <bodrato at mail.dm.unipi.it>
+
+ * mpn/x86/atom/copyd.asm: New file, grabbing another asm file.
+ * mpn/x86/atom/copyi.asm: Likewise.
+ * mpn/x86/atom/aors_n.asm: Likewise.
+ * mpn/x86/atom/addlsh1_n.asm: Likewise.
+ * mpn/x86/atom/aorsmul_1.asm: Likewise.
+ * mpn/x86/atom/bdiv_q_1.asm: Likewise.
+ * mpn/x86/atom/dive_1.asm: Likewise.
+ * mpn/x86/atom/divrem_1.asm: Likewise.
+ * mpn/x86/atom/hamdist.asm: Likewise.
+ * mpn/x86/atom/logops_n.asm: Likewise.
+ * mpn/x86/atom/lshift.asm: Likewise.
+ * mpn/x86/atom/mod_34lsub1.asm: Likewise.
+ * mpn/x86/atom/mul_1.asm: Likewise.
+ * mpn/x86/atom/mul_basecase.asm: Likewise.
+ * mpn/x86/atom/popcount.asm: Likewise.
+ * mpn/x86/atom/rsh1add_n.asm: Likewise.
+ * mpn/x86/atom/rshift.asm: Likewise.
+ * mpn/x86/atom/sqr_basecase.asm: Likewise.
+
2011-01-27 Torbjorn Granlund <tege at gmplib.org>
* mpn/x86_64/atom/rsh1aors_n.asm: New file, grabbing another asm file.
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/addlsh1_n.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/addlsh1_n.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,24 @@
+dnl Intel Atom mpn_addlsh1_n -- mpn x+2*y.
+
+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/pentium4/sse2/addlsh1_n.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/aors_n.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/aors_n.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_add_n/mpn_sub_n -- mpn add or subtract.
+
+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_add_n mpn_add_nc mpn_sub_n mpn_sub_nc)
+include_mpn(`x86/k7/aors_n.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/aorsmul_1.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/aorsmul_1.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_addmul_1/mpn_submul_1 -- add or subtract mpn multiple.
+
+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_addmul_1 mpn_addmul_1c mpn_submul_1 mpn_submul_1c)
+include_mpn(`x86/k6/aorsmul_1.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/bdiv_q_1.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/bdiv_q_1.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,24 @@
+dnl Intel Atom mpn_bdiv_q_1, mpn_pi1_bdiv_q_1 -- schoolbook Hensel
+dnl division by 1-limb divisor, returning quotient only.
+
+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_bdiv_q_1 mpn_pi1_bdiv_q_1)
+include_mpn(`x86/pentium/bdiv_q_1.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/copyd.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/copyd.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_copyd -- copy limb vector, decrementing.
+
+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_copyd)
+include_mpn(`x86/k7/mmx/copyd.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/copyi.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/copyi.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_copyi -- copy limb vector, incrementing.
+
+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_copyi)
+include_mpn(`x86/k7/mmx/copyi.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/dive_1.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/dive_1.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_divexact_1 -- mpn by limb exact division.
+
+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_divexact_1)
+include_mpn(`x86/pentium/dive_1.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/divrem_1.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/divrem_1.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_divrem_1 -- mpn by limb division.
+
+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_preinv_divrem_1 mpn_divrem_1c mpn_divrem_1)
+include_mpn(`x86/pentium4/sse2/divrem_1.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/hamdist.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/hamdist.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,23 @@
+dnl Intel Atom mpn_hamdist -- hamming distance.
+
+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_hamdist)
+include_mpn(`x86/k7/mmx/popham.asm')
diff -r a287ca5262b8 -r 43cdbb41a5f1 mpn/x86/atom/logops_n.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/x86/atom/logops_n.asm Fri Jan 28 17:01:09 2011 +0100
@@ -0,0 +1,24 @@
+dnl Intel Atom mpn_and_n,...,mpn_xnor_n -- bitwise logical operations.
+
+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_and_n mpn_andn_n mpn_nand_n mpn_ior_n mpn_iorn_n mpn_nior_n mpn_xor_n mpn_xnor_n)
More information about the gmp-commit
mailing list