[Gmp-commit] /var/hg/gmp: 6 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Sat Jun 6 19:15:32 UTC 2015
details: /var/hg/gmp/rev/08cb8289ed5d
changeset: 16675:08cb8289ed5d
user: Torbjorn Granlund <torbjorng at google.com>
date: Sat Jun 06 21:12:15 2015 +0200
description:
New file.
details: /var/hg/gmp/rev/d089e85ad326
changeset: 16676:d089e85ad326
user: Torbjorn Granlund <torbjorng at google.com>
date: Sat Jun 06 21:12:33 2015 +0200
description:
ChangeLog
details: /var/hg/gmp/rev/8c499a5a6000
changeset: 16677:8c499a5a6000
user: Torbjorn Granlund <torbjorng at google.com>
date: Sat Jun 06 21:13:59 2015 +0200
description:
(powerpc): Add p8 directory for power8 and later.
details: /var/hg/gmp/rev/23177c866241
changeset: 16678:23177c866241
user: Torbjorn Granlund <torbjorng at google.com>
date: Sat Jun 06 21:14:08 2015 +0200
description:
ChangeLog
details: /var/hg/gmp/rev/eb8f02833fea
changeset: 16679:eb8f02833fea
user: Torbjorn Granlund <torbjorng at google.com>
date: Sat Jun 06 21:15:09 2015 +0200
description:
Recognise any arm*neon CPU.
details: /var/hg/gmp/rev/fd8f399f5b49
changeset: 16680:fd8f399f5b49
user: Torbjorn Granlund <torbjorng at google.com>
date: Sat Jun 06 21:15:23 2015 +0200
description:
ChangeLog
diffstat:
ChangeLog | 6 +++
config.sub | 2 +-
configure.ac | 2 +-
mpn/powerpc64/mode64/p8/invert_limb.asm | 53 +++++++++++++++++++++++++++++++++
4 files changed, 61 insertions(+), 2 deletions(-)
diffs (94 lines):
diff -r a4aef9ca8a11 -r fd8f399f5b49 ChangeLog
--- a/ChangeLog Sat Jun 06 14:12:11 2015 +0200
+++ b/ChangeLog Sat Jun 06 21:15:23 2015 +0200
@@ -1,3 +1,9 @@
+2015-06-06 Torbjörn Granlund <torbjorng at google.com>
+
+ * config.sub: Recognise any arm*neon CPU.
+ * configure.ac (powerpc): Add p8 directory for power8 and later.
+ * mpn/powerpc64/mode64/p8/invert_limb.asm: New file.
+
2015-06-01 Torbjörn Granlund <torbjorng at google.com>
* tune/speed.c (routine): Measure "mpn_sqrt" and "mpn_root", which are
diff -r a4aef9ca8a11 -r fd8f399f5b49 config.sub
--- a/config.sub Sat Jun 06 14:12:11 2015 +0200
+++ b/config.sub Sat Jun 06 21:15:23 2015 +0200
@@ -130,7 +130,7 @@
armsa1 | armxscale | arm9tdmi | arm9te | \
arm10* | arm11mpcore | armsa1 | arm1136 | arm1156 | arm1176 | \
armcortexa5 | armcortexa7 | armcortexa8 | armcortexa9 | armcortexa15 | \
-armcortexr4 | armcortexr5 | armcortexm3)
+armcortexr4 | armcortexr5 | armcortexm3 | arm*neon)
test_cpu="arm";;
*)
diff -r a4aef9ca8a11 -r fd8f399f5b49 configure.ac
--- a/configure.ac Sat Jun 06 14:12:11 2015 +0200
+++ b/configure.ac Sat Jun 06 21:15:23 2015 +0200
@@ -1076,7 +1076,7 @@
cpu_path="p7 p5 p4 p3-p7" ;;
[power[89]]) gcc_cflags_cpu="-mtune=power8 -mtune=power7 -mtune=power5"
xlc_cflags_arch="-qarch=pwr8 -qarch=pwr7 -qarch=pwr5"
- cpu_path="p7 p5 p4 p3-p7" ;;
+ cpu_path="p8 p7 p5 p4 p3-p7" ;;
esac
case $host in
diff -r a4aef9ca8a11 -r fd8f399f5b49 mpn/powerpc64/mode64/p8/invert_limb.asm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/powerpc64/mode64/p8/invert_limb.asm Sat Jun 06 21:15:23 2015 +0200
@@ -0,0 +1,53 @@
+dnl PowerPC-64 mpn_invert_limb -- Invert a normalized limb.
+
+dnl Copyright 2015 Free Software 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/limb (approximate)
+C POWER3/PPC630 -
+C POWER4/PPC970 -
+C POWER5 -
+C POWER6 -
+C POWER7 ?
+C POWER8 32
+
+C This runs on POWER7 and later, but is faster only on later CPUs.
+C We might want to inline this, considering its small footprint.
+
+ASM_START()
+PROLOGUE(mpn_invert_limb)
+ sldi. r4, r3, 1
+ neg r5, r3
+ divdeu r3, r5, r3
+ beq- L(1)
+ blr
+L(1): li r3, -1
+ blr
+EPILOGUE()
More information about the gmp-commit
mailing list