[Gmp-commit] /var/hg/gmp: 2 new changesets

mercurial at gmplib.org mercurial at gmplib.org
Sat Mar 26 20:19:18 UTC 2016


details:   /var/hg/gmp/rev/ab723fa0ea71
changeset: 17052:ab723fa0ea71
user:      Torbjorn Granlund <torbjorng at google.com>
date:      Sat Mar 26 21:18:52 2016 +0100
description:
New file.

details:   /var/hg/gmp/rev/f521440b7d12
changeset: 17053:f521440b7d12
user:      Torbjorn Granlund <torbjorng at google.com>
date:      Sat Mar 26 21:19:11 2016 +0100
description:
ChangeLog

diffstat:

 ChangeLog                      |   4 ++
 mpn/arm64/sqr_diag_addlsh1.asm |  79 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+), 0 deletions(-)

diffs (94 lines):

diff -r 4c72419c22a5 -r f521440b7d12 ChangeLog
--- a/ChangeLog	Fri Mar 25 20:35:16 2016 +0100
+++ b/ChangeLog	Sat Mar 26 21:19:11 2016 +0100
@@ -1,3 +1,7 @@
+2016-03-26  Torbjörn Granlund  <torbjorng at google.com>
+
+	* mpn/arm64/sqr_diag_addlsh1.asm: New file.
+
 2016-03-25  Torbjörn Granlund  <torbjorng at google.com>
 
 	* mpn/arm64/xgene1/aors_n.asm: New file.
diff -r 4c72419c22a5 -r f521440b7d12 mpn/arm64/sqr_diag_addlsh1.asm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpn/arm64/sqr_diag_addlsh1.asm	Sat Mar 26 21:19:11 2016 +0100
@@ -0,0 +1,79 @@
+dnl  ARM64 mpn_sqr_dial_addlsh1.
+
+dnl  Contributed to the GNU project by Torbjörn Granlund.
+
+dnl  Copyright 2016 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
+C Cortex-A53	 6.85
+C Cortex-A57	 ?
+C X-Gene	 4.1
+
+define(`rp', `x0')
+define(`tp', `x1')
+define(`up', `x2')
+define(`n',  `x3')
+
+ASM_START()
+PROLOGUE(mpn_sqr_diag_addlsh1)
+	ldp	x4, x5, [up], #16
+	mul	x10, x4, x4
+	umulh	x13, x4, x4
+	str	x10, [rp], #8
+
+	ldp	x6, x7, [tp], #16
+	mul	x4, x5, x5
+	adds	x10, x13, xzr
+	sub	n, n, #1
+	b	L(dm)
+
+L(top):	ldr	x5, [up], #8
+	adds	x10, x6, x10
+	adcs	x11, x7, x4
+	ldp	x6, x7, [tp], #16
+	mul	x4, x5, x5
+	stp	x10, x11, [rp], #16
+	add	x10, x13, x12
+L(dm):	adcs	x6, x6, x6
+	sub	n, n, #1
+	adcs	x7, x7, x7
+	umulh	x13, x5, x5
+	adc	x12, xzr, xzr
+	cbnz	n, L(top)
+
+	adds	x10, x6, x10
+	adcs	x11, x7, x4
+	stp	x10, x11, [rp], #16
+	adc	x13, x12, x13
+	str	x13, [rp]
+
+	ret
+EPILOGUE()


More information about the gmp-commit mailing list