[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