summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2011-10-18 00:14:11 +0200
committerTorbjorn Granlund <tege@gmplib.org>2011-10-18 00:14:11 +0200
commitf3b95611c600f034e2bc4d216fc9e96a9eba140f (patch)
treea25e140ce03a8d2547d4aac4b5ca64cfc6081f03
parent9ac4d0c59cb1f956f98ef19b6094affd709f412f (diff)
downloadgmp-f3b95611c600f034e2bc4d216fc9e96a9eba140f.tar.gz
Add cycle tables.
-rw-r--r--mpn/s390_64/add_n.asm6
-rw-r--r--mpn/s390_64/addmul_1.asm7
-rw-r--r--mpn/s390_64/aorslsh1_n.asm6
-rw-r--r--mpn/s390_64/bdiv_dbm1c.asm6
-rw-r--r--mpn/s390_64/copyd.asm7
-rw-r--r--mpn/s390_64/copyi.asm4
-rw-r--r--mpn/s390_64/invert_limb.asm6
-rw-r--r--mpn/s390_64/lshift.asm6
-rw-r--r--mpn/s390_64/mod_34lsub1.asm4
-rw-r--r--mpn/s390_64/mul_1.asm7
-rw-r--r--mpn/s390_64/rshift.asm6
-rw-r--r--mpn/s390_64/sqr_diag_addlsh1.asm6
-rw-r--r--mpn/s390_64/sub_n.asm6
-rw-r--r--mpn/s390_64/submul_1.asm7
14 files changed, 75 insertions, 9 deletions
diff --git a/mpn/s390_64/add_n.asm b/mpn/s390_64/add_n.asm
index 8828372a2..3fa914e91 100644
--- a/mpn/s390_64/add_n.asm
+++ b/mpn/s390_64/add_n.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 3.5
+C z900 6.5
+C z990 3.5
+C z9 ?
+C z10 ?
+C z196 ?
C TODO
C * Optimise for small n
diff --git a/mpn/s390_64/addmul_1.asm b/mpn/s390_64/addmul_1.asm
index d7688273d..ad4c74c82 100644
--- a/mpn/s390_64/addmul_1.asm
+++ b/mpn/s390_64/addmul_1.asm
@@ -19,6 +19,13 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
+C cycles/limb
+C z900 34
+C z990 23
+C z9 ?
+C z10 ?
+C z196 ?
+
C INPUT PARAMETERS
define(`rp', `%r2')
define(`up', `%r3')
diff --git a/mpn/s390_64/aorslsh1_n.asm b/mpn/s390_64/aorslsh1_n.asm
index 978038df5..98bd7e776 100644
--- a/mpn/s390_64/aorslsh1_n.asm
+++ b/mpn/s390_64/aorslsh1_n.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 5
+C z900 10
+C z990 5
+C z9 ?
+C z10 ?
+C z196 ?
C TODO
C * Optimise for small n
diff --git a/mpn/s390_64/bdiv_dbm1c.asm b/mpn/s390_64/bdiv_dbm1c.asm
index b64ba448b..8be3a7885 100644
--- a/mpn/s390_64/bdiv_dbm1c.asm
+++ b/mpn/s390_64/bdiv_dbm1c.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 23
+C z900 29
+C z990 23
+C z9 ?
+C z10 ?
+C z196 ?
C INPUT PARAMETERS
define(`qp', `%r2')
diff --git a/mpn/s390_64/copyd.asm b/mpn/s390_64/copyd.asm
index 223f27cc3..4873a44ad 100644
--- a/mpn/s390_64/copyd.asm
+++ b/mpn/s390_64/copyd.asm
@@ -21,12 +21,17 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
+C z900 2.67
C z990 1.5
+C z9 ?
+C z10 ?
+C z196 ?
C FIXME:
C * Avoid saving/restoring callee-saves registers for n < 3. This could be
C done by setting rp=r1, up=r2, i=r0 and r3,r4,r5 for clock regs.
-C We coould then use r3...r10 in main loop.
+C We could then use r3...r10 in main loop.
+C * Could we use some EX trick, modifying lmg/stmg, for the feed-in code?
C INPUT PARAMETERS
define(`rp_param', `%r2')
diff --git a/mpn/s390_64/copyi.asm b/mpn/s390_64/copyi.asm
index a06b6c770..a566968cd 100644
--- a/mpn/s390_64/copyi.asm
+++ b/mpn/s390_64/copyi.asm
@@ -21,7 +21,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
+C z900 1.25
C z990 0.75
+C z9 ?
+C z10 ?
+C z196 ?
C NOTE
C * This is based on GNU libc memcpy which was written by Martin Schwidefsky.
diff --git a/mpn/s390_64/invert_limb.asm b/mpn/s390_64/invert_limb.asm
index 8938583e3..9d0054b6b 100644
--- a/mpn/s390_64/invert_limb.asm
+++ b/mpn/s390_64/invert_limb.asm
@@ -22,7 +22,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 92
+C z900 142
+C z990 88
+C z9 ?
+C z10 ?
+C z196 ?
ASM_START()
TEXT
diff --git a/mpn/s390_64/lshift.asm b/mpn/s390_64/lshift.asm
index b71ecbd80..31d07a1c5 100644
--- a/mpn/s390_64/lshift.asm
+++ b/mpn/s390_64/lshift.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 4.3
+C z900 7.25
+C z990 4.25
+C z9 ?
+C z10 ?
+C z196 ?
C FIXME
C * Streamline feed-in code.
diff --git a/mpn/s390_64/mod_34lsub1.asm b/mpn/s390_64/mod_34lsub1.asm
index a87f8d44e..2417f7b2d 100644
--- a/mpn/s390_64/mod_34lsub1.asm
+++ b/mpn/s390_64/mod_34lsub1.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
+C z900 5.8
C z990 2
+C z9 ?
+C z10 ?
+C z196 ?
C TODO
C * Optimise summation code, see x86_64.
diff --git a/mpn/s390_64/mul_1.asm b/mpn/s390_64/mul_1.asm
index 42bec3daa..03df8cb0b 100644
--- a/mpn/s390_64/mul_1.asm
+++ b/mpn/s390_64/mul_1.asm
@@ -19,6 +19,13 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
+C cycles/limb
+C z900 29
+C z990 22
+C z9 ?
+C z10 ?
+C z196 ?
+
C INPUT PARAMETERS
define(`rp', `%r2')
define(`up', `%r3')
diff --git a/mpn/s390_64/rshift.asm b/mpn/s390_64/rshift.asm
index 17aae070c..7e80f5742 100644
--- a/mpn/s390_64/rshift.asm
+++ b/mpn/s390_64/rshift.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 4.3
+C z900 7.25
+C z990 4.25
+C z9 ?
+C z10 ?
+C z196 ?
C FIXME
C * Streamline feed-in code.
diff --git a/mpn/s390_64/sqr_diag_addlsh1.asm b/mpn/s390_64/sqr_diag_addlsh1.asm
index 958d96371..793a4c107 100644
--- a/mpn/s390_64/sqr_diag_addlsh1.asm
+++ b/mpn/s390_64/sqr_diag_addlsh1.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 19
+C z900 24.5
+C z990 18.5
+C z9 ?
+C z10 ?
+C z196 ?
C INPUT PARAMETERS
define(`rp', `%r2')
diff --git a/mpn/s390_64/sub_n.asm b/mpn/s390_64/sub_n.asm
index df64ce3a3..b1ab2d310 100644
--- a/mpn/s390_64/sub_n.asm
+++ b/mpn/s390_64/sub_n.asm
@@ -20,7 +20,11 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
-C z990 3.5
+C z900 6.5
+C z990 3.5
+C z9 ?
+C z10 ?
+C z196 ?
C TODO
C * Optimise for small n
diff --git a/mpn/s390_64/submul_1.asm b/mpn/s390_64/submul_1.asm
index 251e14566..b78f26623 100644
--- a/mpn/s390_64/submul_1.asm
+++ b/mpn/s390_64/submul_1.asm
@@ -19,6 +19,13 @@ dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
+C cycles/limb
+C z900 35
+C z990 24
+C z9 ?
+C z10 ?
+C z196 ?
+
C INPUT PARAMETERS
define(`rp', `%r2')
define(`up', `%r3')