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

mercurial at gmplib.org mercurial at gmplib.org
Wed Jun 5 16:21:04 CEST 2013


details:   /var/hg/gmp/rev/0a0f9d8becf8
changeset: 15824:0a0f9d8becf8
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Mon Jun 03 12:34:15 2013 +0200
description:
Retune

details:   /var/hg/gmp/rev/042c4020ce94
changeset: 15825:042c4020ce94
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Wed Jun 05 16:20:59 2013 +0200
description:
Remove file from repent author.

diffstat:

 ChangeLog                        |    4 -
 mpn/arm/neon/logops_n.asm        |  139 ----------------------
 mpn/x86_64/coreisbr/gmp-mparam.h |  244 +++++++++++++++-----------------------
 3 files changed, 100 insertions(+), 287 deletions(-)

diffs (truncated from 456 to 300 lines):

diff -r ad0580d92c4c -r 042c4020ce94 ChangeLog
--- a/ChangeLog	Fri May 31 16:49:28 2013 +0200
+++ b/ChangeLog	Wed Jun 05 16:20:59 2013 +0200
@@ -143,10 +143,6 @@
 
 	* mpn/arm/v7a/cora15/cnd-aors_n.asm: New file.
 
-2013-04-26  Richard Henderson  <rth at twiddle.net>
-
-	* mpn/arm/neon/logops_n.asm: New file.
-
 2013-04-25  Torbjorn Granlund  <tege at gmplib.org>
 
 	* mpn/arm/mod_34lsub1.asm: Clear carry smarter.
diff -r ad0580d92c4c -r 042c4020ce94 mpn/arm/neon/logops_n.asm
--- a/mpn/arm/neon/logops_n.asm	Fri May 31 16:49:28 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-dnl  ARM mpn_and_n, et al.
-
-dnl  Contributed to the GNU project by Richard Henderson.
-
-dnl  Copyright 2013 Richard Henderson.
-
-dnl  This file is part of the GNU MP Library.
-
-dnl  The GNU MP Library is free software; you can redistribute it and/or modify
-dnl  it under the terms of the GNU Lesser General Public License as published
-dnl  by the Free Software Foundation; either version 3 of the License, or (at
-dnl  your option) any later version.
-
-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 Lesser General Public
-dnl  License for more details.
-
-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')
-
-C            cycles/limb             cycles/limb
-C          and andn ior iorn xor   nand nior xnor
-C StrongARM	 ?			 ?
-C XScale	 ?			 ?
-C Cortex-A8	 ?			 ?
-C Cortex-A9	 2.1			 2.6
-C Cortex-A15	 0.78			 0.94
-
-define(`rp', `r0')
-define(`up', `r1')
-define(`vp', `r2')
-define(`n',  `r3')
-
-define(`POSTOP')
-
-ifdef(`OPERATION_and_n',`
-  define(`func',    `mpn_and_n')
-  define(`LOGOP',   `vand	$1, $2, $3')')
-ifdef(`OPERATION_andn_n',`
-  define(`func',    `mpn_andn_n')
-  define(`LOGOP',   `vbic	$1, $2, $3')')
-ifdef(`OPERATION_nand_n',`
-  define(`func',    `mpn_nand_n')
-  define(`POSTOP',  `vmvn	$1, $1')
-  define(`LOGOP',   `vand	$1, $2, $3')')
-ifdef(`OPERATION_ior_n',`
-  define(`func',    `mpn_ior_n')
-  define(`LOGOP',   `vorr	$1, $2, $3')')
-ifdef(`OPERATION_iorn_n',`
-  define(`func',    `mpn_iorn_n')
-  define(`LOGOP',   `vorn	$1, $2, $3')')
-ifdef(`OPERATION_nior_n',`
-  define(`func',    `mpn_nior_n')
-  define(`POSTOP',  `vmvn	$1, $1')
-  define(`LOGOP',   `vorr	$1, $2, $3')')
-ifdef(`OPERATION_xor_n',`
-  define(`func',    `mpn_xor_n')
-  define(`LOGOP',   `veor	$1, $2, $3')')
-ifdef(`OPERATION_xnor_n',`
-  define(`func',    `mpn_xnor_n')
-  define(`POSTOP',  `vmvn	$1, $1')
-  define(`LOGOP',   `veor	$1, $2, $3')')
-
-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)
-
-ASM_START()
-	.fpu	neon
-PROLOGUE(func)
-	cmp		n, #7
-	ble		L(bc)
-
-C Perform a few initial operation until rp is 128-bit aligned
-	tst		rp, #4
-	beq		L(al1)
-	vld1.32		{d0[0]}, [up]!
-	vld1.32		{d1[0]}, [vp]!
-	sub		n, n, #1
-	LOGOP(		d0, d0, d1)
-	POSTOP(		d0, d0)
-	vst1.32		{d0[0]}, [rp]!
-L(al1):	tst		rp, #8
-	beq		L(al2)
-	vld1.32		{d0}, [up]!
-	vld1.32		{d1}, [vp]!
-	sub		n, n, #2
-	LOGOP(		d0, d0, d1)
-	POSTOP(		d0, d0)
-	vst1.32		{d0}, [rp:64]!
-L(al2):	vld1.32		{q2}, [up]!
-	vld1.32		{q3}, [vp]!
-	subs		n, n, #12
-	blt		L(end)
-
-	ALIGN(16)
-L(top):	vld1.32		{q0}, [up]!
-	LOGOP(		q2, q2, q3)
-	vld1.32		{q1}, [vp]!
-	POSTOP(		q2, q2)
-	subs		n, n, #8
-	vst1.32		{q2}, [rp:128]!
-	vld1.32		{q2}, [up]!
-	LOGOP(		q0, q0, q1)
-	vld1.32		{q3}, [vp]!
-	POSTOP(		q0, q0)
-	vst1.32		{q0}, [rp:128]!
-	bge	L(top)
-
-L(end):	LOGOP(		q2, q2, q3)
-	POSTOP(		q2, q2)
-	vst1.32		{q2}, [rp:128]!
-
-C Handle last 0-7 limbs.  Note that rp is aligned after loop, but not when we
-C arrive here via L(bc)
-L(bc):	tst		n, #4
-	beq		L(tl1)
-	vld1.32		{q0}, [up]!
-	vld1.32		{q1}, [vp]!
-	LOGOP(		q0, q0, q1)
-	POSTOP(		q0, q0)
-	vst1.32		{q0}, [rp]!
-L(tl1):	tst		n, #2
-	beq		L(tl2)
-	vld1.32		{d0}, [up]!
-	vld1.32		{d1}, [vp]!
-	LOGOP(		d0, d0, d1)
-	POSTOP(		d0, d0)
-	vst1.32		{d0}, [rp]!
-L(tl2):	tst		n, #1
-	beq		L(tl3)
-	vld1.32		{d0[0]}, [up]
-	vld1.32		{d1[0]}, [vp]
-	LOGOP(		d0, d0, d1)
-	POSTOP(		d0, d0)
-	vst1.32		{d0[0]}, [rp]
-L(tl3):	bx		lr
-EPILOGUE()
diff -r ad0580d92c4c -r 042c4020ce94 mpn/x86_64/coreisbr/gmp-mparam.h
--- a/mpn/x86_64/coreisbr/gmp-mparam.h	Fri May 31 16:49:28 2013 +0200
+++ b/mpn/x86_64/coreisbr/gmp-mparam.h	Wed Jun 05 16:20:59 2013 +0200
@@ -1,7 +1,7 @@
 /* Sandy Bridge gmp-mparam.h -- Compiler/machine parameter header file.
 
 Copyright 1991, 1993, 1994, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -26,187 +26,143 @@
 #define MOD_1_NORM_THRESHOLD                 0  /* always */
 #define MOD_1_UNNORM_THRESHOLD               0  /* always */
 #define MOD_1N_TO_MOD_1_1_THRESHOLD          3
-#define MOD_1U_TO_MOD_1_1_THRESHOLD          3
+#define MOD_1U_TO_MOD_1_1_THRESHOLD          2
 #define MOD_1_1_TO_MOD_1_2_THRESHOLD         9
-#define MOD_1_2_TO_MOD_1_4_THRESHOLD        20
-#define PREINV_MOD_1_TO_MOD_1_THRESHOLD     10
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD        22
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD      6
 #define USE_PREINV_DIVREM_1                  1  /* native */
 #define DIV_QR_2_PI2_THRESHOLD           MP_SIZE_T_MAX  /* never */
 #define DIVEXACT_1_THRESHOLD                 0  /* always (native) */
 #define BMOD_1_TO_MOD_1_THRESHOLD           30
 
-#define MUL_TOOM22_THRESHOLD                18
+#define MUL_TOOM22_THRESHOLD                16
 #define MUL_TOOM33_THRESHOLD                57
 #define MUL_TOOM44_THRESHOLD               154
 #define MUL_TOOM6H_THRESHOLD               226
-#define MUL_TOOM8H_THRESHOLD               333
+#define MUL_TOOM8H_THRESHOLD               309
 
 #define MUL_TOOM32_TO_TOOM43_THRESHOLD      97
-#define MUL_TOOM32_TO_TOOM53_THRESHOLD     108
-#define MUL_TOOM42_TO_TOOM53_THRESHOLD     105
-#define MUL_TOOM42_TO_TOOM63_THRESHOLD     114
-#define MUL_TOOM43_TO_TOOM54_THRESHOLD     138
+#define MUL_TOOM32_TO_TOOM53_THRESHOLD     102
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD     103
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD     105
+#define MUL_TOOM43_TO_TOOM54_THRESHOLD     118
 
 #define SQR_BASECASE_THRESHOLD               0  /* always (native) */
 #define SQR_TOOM2_THRESHOLD                 26
-#define SQR_TOOM3_THRESHOLD                 81
-#define SQR_TOOM4_THRESHOLD                250
-#define SQR_TOOM6_THRESHOLD                345
-#define SQR_TOOM8_THRESHOLD                381
+#define SQR_TOOM3_THRESHOLD                 93
+#define SQR_TOOM4_THRESHOLD                226
+#define SQR_TOOM6_THRESHOLD                318
+#define SQR_TOOM8_THRESHOLD                430
 
 #define MULMID_TOOM42_THRESHOLD             24
 
-#define MULMOD_BNM1_THRESHOLD               14
+#define MULMOD_BNM1_THRESHOLD               11
 #define SQRMOD_BNM1_THRESHOLD               14
 
-#define POWM_SEC_TABLE  4,35,516,1036,1222
+#define MUL_FFT_MODF_THRESHOLD             595  /* k = 5 */
+#define MUL_FFT_TABLE3                                      \
+  { {    595, 5}, {     19, 6}, {     10, 5}, {     21, 6}, \
+    {     11, 5}, {     23, 6}, {     25, 7}, {     25, 8}, \
+    {     13, 7}, {     28, 8}, {     15, 7}, {     32, 8}, \
+    {     17, 7}, {     35, 8}, {     21, 9}, {     11, 8}, \
+    {     27, 9}, {     15, 8}, {     35, 9}, {     19, 8}, \
+    {     39, 9}, {     23, 8}, {     47, 9}, {     27,10}, \
+    {     15, 9}, {     39,10}, {     23, 9}, {     51,11}, \
+    {     15,10}, {     31, 9}, {     67,10}, {     39, 9}, \
+    {     79,10}, {     47, 9}, {     95,10}, {     55,11}, \
+    {     31,10}, {     79,11}, {     47,10}, {     95,12}, \
+    {     31,11}, {     63,10}, {    135,11}, {     79,10}, \
+    {    167,11}, {     95,10}, {    191, 9}, {    383,11}, \
+    {    111,12}, {     63,11}, {    143, 9}, {    575,12}, \
+    {     95,10}, {    383,13}, {     63,12}, {    127,10}, \
+    {    575,12}, {    159,10}, {    639,11}, {    335,10}, \
+    {    671,11}, {    351,10}, {    703,12}, {    191,11}, \
+    {    383,10}, {    767,11}, {    415,10}, {    831,11}, \
+    {    447,13}, {    127,11}, {    543,10}, {   1087,11}, \
+    {    607,10}, {   1215, 9}, {   2431,11}, {    671,12}, \
+    {    351,11}, {    703,12}, {    383,11}, {    767,12}, \
+    {    415,11}, {    831,12}, {    447,11}, {    895,12}, \
+    {    479,14}, {    127,12}, {    511,11}, {   1023,12}, \
+    {    543,11}, {   1087,12}, {    607,11}, {   1215,13}, \
+    {    319,12}, {    735,13}, {    383,12}, {    831,13}, \
+    {    447,12}, {    959,13}, {    511,12}, {   1087,13}, \
+    {    575,12}, {   1215,13}, {   8192,14}, {  16384,15}, \
+    {  32768,16}, {  65536,17}, { 131072,18}, { 262144,19}, \
+    { 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \
+    {8388608,24} }
+#define MUL_FFT_TABLE3_SIZE 113
+#define MUL_FFT_THRESHOLD                 5760
 
-#define MUL_FFT_MODF_THRESHOLD             380  /* k = 5 */
-#define MUL_FFT_TABLE3                                      \
-  { {    380, 5}, {     17, 6}, {      9, 5}, {     19, 6}, \
-    {     11, 5}, {     23, 6}, {     21, 7}, {     11, 6}, \
-    {     23, 7}, {     21, 8}, {     11, 7}, {     24, 8}, \
-    {     13, 7}, {     27, 8}, {     15, 7}, {     31, 8}, \
-    {     17, 7}, {     35, 8}, {     19, 7}, {     39, 8}, \
+#define SQR_FFT_MODF_THRESHOLD             565  /* k = 5 */
+#define SQR_FFT_TABLE3                                      \
+  { {    565, 5}, {     19, 6}, {     10, 5}, {     21, 6}, \
+    {     25, 7}, {     25, 8}, {     13, 7}, {     28, 8}, \
+    {     15, 7}, {     31, 8}, {     17, 7}, {     35, 8}, \
     {     21, 9}, {     11, 8}, {     27, 9}, {     15, 8}, \
     {     35, 9}, {     19, 8}, {     41, 9}, {     23, 8}, \
-    {     49, 9}, {     27,10}, {     15, 9}, {     39,10}, \
+    {     47, 9}, {     27,10}, {     15, 9}, {     39,10}, \
     {     23, 9}, {     51,11}, {     15,10}, {     31, 9}, \
-    {     67,10}, {     39, 9}, {     83,10}, {     47, 9}, \
-    {     95,10}, {     55,11}, {     31,10}, {     79,11}, \
-    {     47,10}, {     95,12}, {     31,11}, {     63,10}, \
-    {    135,11}, {     79,10}, {    159, 9}, {    319,10}, \
-    {    167,11}, {     95,10}, {    191, 9}, {    383,12}, \
-    {     63,11}, {    127,10}, {    255, 9}, {    511,10}, \
-    {    271,11}, {    143,10}, {    287, 9}, {    575,10}, \
-    {    303,11}, {    159,10}, {    319,12}, {     95,11}, \
-    {    191,10}, {    383,11}, {    207,10}, {    415,13}, \
-    {     63,12}, {    127,11}, {    255,10}, {    511,11}, \
-    {    271,10}, {    543,11}, {    287,10}, {    575,11}, \
-    {    303,10}, {    607,12}, {    159,11}, {    319,10}, \
-    {    639,11}, {    351,10}, {    703, 9}, {   1407,11}, \
-    {    367,12}, {    191,11}, {    383,10}, {    767,11}, \
-    {    415,10}, {    831,12}, {    223,11}, {    447,10}, \
-    {    895,13}, {    127,12}, {    255,11}, {    543,10}, \
-    {   1087,12}, {    287,11}, {    575,10}, {   1151,11}, \
-    {    607,12}, {    319,11}, {    639,12}, {    351,11}, \
-    {    703,10}, {   1407,11}, {    735,13}, {    191,12}, \
-    {    383,11}, {    767,12}, {    415,11}, {    831,10}, \
-    {   1663,12}, {    447,11}, {    895,14}, {    127,13}, \
-    {    255,12}, {    511,11}, {   1023,12}, {    543,11}, \
-    {   1087,12}, {    575,11}, {   1151,12}, {    607,11}, \
-    {   1215,13}, {    319,12}, {    639,11}, {   1279,12}, \
-    {    703,11}, {   1407,13}, {    383,12}, {    767,11}, \
-    {   1535,12}, {    831,11}, {   1663,13}, {    447,12}, \
-    {    959,11}, {   1919,14}, {    255,13}, {    511,12}, \
-    {   1087,13}, {    575,12}, {   1215,11}, {   2431,13}, \


More information about the gmp-commit mailing list