summaryrefslogtreecommitdiff
path: root/tune/speed.h
diff options
context:
space:
mode:
authorTorbjorn Granlund <torbjorng@google.com>2015-06-01 22:57:49 +0200
committerTorbjorn Granlund <torbjorng@google.com>2015-06-01 22:57:49 +0200
commitdb8e3c5895cb94b63a2c428a81c4eb0efa9f572d (patch)
treebd88fab60abae987467b0a029d1b5ffea0d76fd0 /tune/speed.h
parent61e33f9b51dc561b5406cf2f9039df3f54ce8bab (diff)
downloadgmp-db8e3c5895cb94b63a2c428a81c4eb0efa9f572d.tar.gz
Measure mpn_sqrtrem and mpn_rootrem in remainder-less mode.
Diffstat (limited to 'tune/speed.h')
-rw-r--r--tune/speed.h35
1 files changed, 4 insertions, 31 deletions
diff --git a/tune/speed.h b/tune/speed.h
index 1beb88839..0c28780bd 100644
--- a/tune/speed.h
+++ b/tune/speed.h
@@ -329,6 +329,8 @@ double speed_mpn_sqr_diagonal (struct speed_params *);
double speed_mpn_sqr (struct speed_params *);
double speed_mpn_sqrtrem (struct speed_params *);
double speed_mpn_rootrem (struct speed_params *);
+double speed_mpn_sqrt (struct speed_params *);
+double speed_mpn_root (struct speed_params *);
double speed_mpn_sub_n (struct speed_params *);
double speed_mpn_sub_1 (struct speed_params *);
double speed_mpn_sub_1_inplace (struct speed_params *);
@@ -3290,7 +3292,7 @@ int speed_routine_count_zeros_setup (struct speed_params *, mp_ptr, int, int);
}
-#define SPEED_ROUTINE_MPN_SQRTREM(function) \
+#define SPEED_ROUTINE_MPN_SQRTROOT_CALL(call) \
{ \
mp_ptr wp, wp2; \
unsigned i; \
@@ -3311,36 +3313,7 @@ int speed_routine_count_zeros_setup (struct speed_params *, mp_ptr, int, int);
speed_starttime (); \
i = s->reps; \
do \
- function (wp, wp2, s->xp, s->size); \
- while (--i != 0); \
- t = speed_endtime (); \
- \
- TMP_FREE; \
- return t; \
- }
-
-#define SPEED_ROUTINE_MPN_ROOTREM(function) \
- { \
- mp_ptr wp, wp2; \
- unsigned i; \
- double t; \
- TMP_DECL; \
- \
- SPEED_RESTRICT_COND (s->size >= 1); \
- \
- TMP_MARK; \
- SPEED_TMP_ALLOC_LIMBS (wp, s->size, s->align_wp); \
- SPEED_TMP_ALLOC_LIMBS (wp2, s->size, s->align_wp2); \
- \
- speed_operand_src (s, s->xp, s->size); \
- speed_operand_dst (s, wp, s->size); \
- speed_operand_dst (s, wp2, s->size); \
- speed_cache_fill (s); \
- \
- speed_starttime (); \
- i = s->reps; \
- do \
- function (wp, wp2, s->xp, s->size, s->r); \
+ call; \
while (--i != 0); \
t = speed_endtime (); \
\