diff options
author | Torbjorn Granlund <tege@gmplib.org> | 2011-10-18 00:14:11 +0200 |
---|---|---|
committer | Torbjorn Granlund <tege@gmplib.org> | 2011-10-18 00:14:11 +0200 |
commit | f3b95611c600f034e2bc4d216fc9e96a9eba140f (patch) | |
tree | a25e140ce03a8d2547d4aac4b5ca64cfc6081f03 /mpn | |
parent | 9ac4d0c59cb1f956f98ef19b6094affd709f412f (diff) | |
download | gmp-f3b95611c600f034e2bc4d216fc9e96a9eba140f.tar.gz |
Add cycle tables.
Diffstat (limited to 'mpn')
-rw-r--r-- | mpn/s390_64/add_n.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/addmul_1.asm | 7 | ||||
-rw-r--r-- | mpn/s390_64/aorslsh1_n.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/bdiv_dbm1c.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/copyd.asm | 7 | ||||
-rw-r--r-- | mpn/s390_64/copyi.asm | 4 | ||||
-rw-r--r-- | mpn/s390_64/invert_limb.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/lshift.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/mod_34lsub1.asm | 4 | ||||
-rw-r--r-- | mpn/s390_64/mul_1.asm | 7 | ||||
-rw-r--r-- | mpn/s390_64/rshift.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/sqr_diag_addlsh1.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/sub_n.asm | 6 | ||||
-rw-r--r-- | mpn/s390_64/submul_1.asm | 7 |
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') |