summaryrefslogtreecommitdiff
path: root/tune/Makefile.am
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2000-12-18 01:28:03 +0100
committerKevin Ryde <user42@zip.com.au>2000-12-18 01:28:03 +0100
commitd06c5c0886e6530427993c5f6f3b0ab4cc199e0d (patch)
tree06c588e876a7108eeb0630a955a0f515f6c8dab3 /tune/Makefile.am
parentd483446d5ac41354837031ccff32e25b9ed18f15 (diff)
downloadgmp-d06c5c0886e6530427993c5f6f3b0ab4cc199e0d.tar.gz
* tune/tuneup.c (USE_PREINV_MOD_1): Tune this, rearrange mpn_divrem_1
and mpn_mod_1 handling in support of it. * tune/Makefile.am: Consequent changes to divrem_1.c and mod_1.c.
Diffstat (limited to 'tune/Makefile.am')
-rw-r--r--tune/Makefile.am26
1 files changed, 20 insertions, 6 deletions
diff --git a/tune/Makefile.am b/tune/Makefile.am
index ccf66ff98..6663f879c 100644
--- a/tune/Makefile.am
+++ b/tune/Makefile.am
@@ -93,21 +93,35 @@ DISTCLEANFILES = sqr_basecase.c
# Generating these little files at build time seems better than including
-# them in the distribution, since the list can be changed easily.
+# them in the distribution, since the list can be changed more easily.
#
-# FIXME: Would like for example mul_n.c to depend on $(top_builddir)/mul_n.c
-# so the recompiled object will be rebuilt if that file changes.
+# mpn/generic/tdiv_qr.c uses mpn_divrem_1, but only for a 1 limb divisor,
+# which is never used during tuning, so it doesn't matter whether it picks
+# up a tuned or untuned version of that routine.
+#
+# FIXME: Would like say mul_n.c to depend on $(top_builddir)/mul_n.c so the
+# recompiled object will be rebuilt if that file changes.
-TUNE_MPN_SRCS = \
- dc_divrem_n.c divrem_1.c gcd.c mod_1.c mul_n.c mul_fft.c mul.c tdiv_qr.c
+TUNE_MPN_SRCS = $(TUNE_MPN_SRCS_BASIC) divrem_1.c mod_1.c
+TUNE_MPN_SRCS_BASIC = dc_divrem_n.c gcd.c mul_n.c mul_fft.c mul.c tdiv_qr.c
TUNE_MPZ_SRCS = fib_ui.c
-$(TUNE_MPN_SRCS):
+$(TUNE_MPN_SRCS_BASIC):
for i in $(TUNE_MPN_SRCS); do \
echo "#define TUNE_PROGRAM_BUILD 1" >$$i; \
echo "#include \"mpn/generic/$$i\"" >>$$i; \
done
+divrem_1.c:
+ echo "#define TUNE_PROGRAM_BUILD 1" >divrem_1.c
+ echo "#define __gmpn_divrem_1 mpn_divrem_1_tune" >>divrem_1.c
+ echo "#include \"mpn/generic/divrem_1.c\"" >>divrem_1.c
+
+mod_1.c:
+ echo "#define TUNE_PROGRAM_BUILD 1" >mod_1.c
+ echo "#define __gmpn_mod_1 mpn_mod_1_tune" >>mod_1.c
+ echo "#include \"mpn/generic/mod_1.c\"" >>mod_1.c
+
$(TUNE_MPZ_SRCS):
for i in $(TUNE_MPZ_SRCS); do \
echo "#define TUNE_PROGRAM_BUILD 1" >$$i; \