| Index: gcc/gmp/tune/Makefile.am
|
| diff --git a/gcc/gmp/tune/Makefile.am b/gcc/gmp/tune/Makefile.am
|
| deleted file mode 100644
|
| index 3c7f62c820c673167faebba356c31e85427d3b59..0000000000000000000000000000000000000000
|
| --- a/gcc/gmp/tune/Makefile.am
|
| +++ /dev/null
|
| @@ -1,203 +0,0 @@
|
| -## Process this file with automake to generate Makefile.in
|
| -
|
| -# Copyright 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
|
| -#
|
| -# This file is part of the GNU MP Library.
|
| -#
|
| -# The GNU MP Library is free software; you can redistribute it and/or modify
|
| -# it under the terms of the GNU Lesser General Public License as published by
|
| -# the Free Software Foundation; either version 3 of the License, or (at your
|
| -# option) any later version.
|
| -#
|
| -# The GNU MP Library is distributed in the hope that it will be useful, but
|
| -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
| -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
| -# License for more details.
|
| -#
|
| -# You should have received a copy of the GNU Lesser General Public License
|
| -# along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
|
| -
|
| -
|
| -INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/tests
|
| -
|
| -EXTRA_DIST = alpha.asm pentium.asm sparcv9.asm hppa.asm hppa2.asm hppa2w.asm \
|
| - ia64.asm powerpc.asm powerpc64.asm x86_64.asm many.pl
|
| -noinst_HEADERS = speed.h
|
| -
|
| -# Prefer -static on the speed and tune programs, since that can avoid
|
| -# overheads of shared library linkages on some systems. Libtool tends to
|
| -# botch -static if configured with --disable-static, perhaps reasonably
|
| -# enough. In any event under --disable-static the only choice is a dynamic
|
| -# link so there's no point in -static.
|
| -#
|
| -if ENABLE_STATIC
|
| -STATIC = -static
|
| -else
|
| -STATIC =
|
| -endif
|
| -
|
| -
|
| -EXTRA_LTLIBRARIES = libspeed.la
|
| -
|
| -libspeed_la_SOURCES = \
|
| - common.c divrem1div.c divrem1inv.c divrem2div.c divrem2inv.c \
|
| - freq.c \
|
| - gcdext_single.c gcdext_double.c gcdextod.c gcdextos.c \
|
| - jacbase1.c jacbase2.c jacbase3.c \
|
| - mod_1_div.c mod_1_inv.c modlinv.c \
|
| - noop.c powm_mod.c powm_redc.c pre_divrem_1.c \
|
| - set_strb.c set_strs.c set_strp.c time.c \
|
| - sb_div.c sb_inv.c
|
| -
|
| -libspeed_la_DEPENDENCIES = $(SPEED_CYCLECOUNTER_OBJ) \
|
| - $(top_builddir)/tests/libtests.la $(top_builddir)/libgmp.la
|
| -libspeed_la_LIBADD = $(libspeed_la_DEPENDENCIES) $(LIBM)
|
| -libspeed_la_LDFLAGS = $(STATIC)
|
| -
|
| -$(top_builddir)/tests/libtests.la:
|
| - cd $(top_builddir)/tests; $(MAKE) $(AM_MAKEFLAGS) libtests.la
|
| -
|
| -
|
| -# The library code is faster static than shared on some systems, so do
|
| -# tuning and measuring with static, since users who care about maximizing
|
| -# speed will be using that. speed-dynamic exists to show the difference.
|
| -#
|
| -# On Solaris 8, gcc 2.95.2 -static is somehow broken (it creates executables
|
| -# that immediately seg fault), so -all-static is not used. The only thing
|
| -# -all-static does is make libc static linked as well as libgmp, and that
|
| -# makes a difference only when measuring malloc and friends in the speed
|
| -# program. This can always be forced with "make speed_LDFLAGS=-all-static
|
| -# ..." if desired, see tune/README.
|
| -
|
| -EXTRA_PROGRAMS = speed speed-dynamic speed-ext tuneup
|
| -
|
| -DEPENDENCIES = libspeed.la
|
| -LDADD = $(DEPENDENCIES)
|
| -
|
| -speed_SOURCES = speed.c
|
| -speed_LDFLAGS = $(STATIC)
|
| -
|
| -speed_dynamic_SOURCES = speed.c
|
| -
|
| -speed_ext_SOURCES = speed-ext.c
|
| -speed_ext_LDFLAGS = $(STATIC)
|
| -
|
| -tuneup_SOURCES = tuneup.c
|
| -nodist_tuneup_SOURCES = sqr_basecase.c $(TUNE_MPN_SRCS)
|
| -tuneup_DEPENDENCIES = $(TUNE_SQR_OBJ) libspeed.la
|
| -tuneup_LDADD = $(tuneup_DEPENDENCIES)
|
| -tuneup_LDFLAGS = $(STATIC)
|
| -
|
| -
|
| -tune:
|
| - $(MAKE) $(AM_MAKEFLAGS) tuneup$(EXEEXT)
|
| - ./tuneup
|
| -
|
| -allprogs: $(EXTRA_PROGRAMS)
|
| -
|
| -# $(MANY_CLEAN) and $(MANY_DISTCLEAN) are hooks for many.pl
|
| -CLEANFILES = $(EXTRA_PROGRAMS) $(EXTRA_LTLIBRARIES) \
|
| - $(TUNE_MPN_SRCS) sqr_asm.asm \
|
| - stg.gnuplot stg.data \
|
| - mtg.gnuplot mtg.data \
|
| - fibg.gnuplot fibg.data \
|
| - graph.gnuplot graph.data \
|
| - $(MANY_CLEAN)
|
| -DISTCLEANFILES = sqr_basecase.c $(MANY_DISTCLEAN)
|
| -
|
| -
|
| -# Generating these little files at build time seems better than including
|
| -# them in the distribution, since the list can be changed more easily.
|
| -#
|
| -# mpn/generic/tdiv_qr.c uses mpn_divrem_1 and mpn_divrem_2, but only for 1
|
| -# and 2 limb divisors, which are never used during tuning, so it doesn't
|
| -# matter whether it picks up a tuned or untuned version of those.
|
| -#
|
| -# divrem_1 and mod_1 are recompiled renamed to "_tune" to avoid a linking
|
| -# problem. If a native divrem_1 provides an mpn_divrem_1c entrypoint then
|
| -# common.c will want that, but the generic divrem_1 doesn't provide it,
|
| -# likewise for mod_1. The simplest way around this is to have the tune
|
| -# build versions renamed suitably.
|
| -#
|
| -# 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 = $(TUNE_MPN_SRCS_BASIC) divrem_1.c mod_1.c
|
| -TUNE_MPN_SRCS_BASIC = dc_divrem_n.c divrem_2.c gcd.c gcdext.c get_str.c \
|
| - set_str.c matrix22_mul.c hgcd.c mul_n.c toom44_mul.c toom4_sqr.c \
|
| - mullow_n.c mul_fft.c mul.c sb_divrem_mn.c tdiv_qr.c
|
| -
|
| -$(TUNE_MPN_SRCS_BASIC):
|
| - for i in $(TUNE_MPN_SRCS_BASIC); 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
|
| -
|
| -sqr_asm.asm: $(top_builddir)/mpn/sqr_basecase.asm
|
| - echo 'define(SQR_KARATSUBA_THRESHOLD_OVERRIDE,SQR_KARATSUBA_THRESHOLD_MAX)' >sqr_asm.asm
|
| - echo 'include(../mpn/sqr_basecase.asm)' >>sqr_asm.asm
|
| -
|
| -
|
| -include ../mpn/Makeasm.am
|
| -
|
| -
|
| -# "mk" is multiplication in the karatsuba range
|
| -# "st" is squaring in the toom-cook range, etc
|
| -# "g" forms produce graphs
|
| -
|
| -mk:
|
| - ./speed -s 5-40 -c mpn_mul_basecase mpn_kara_mul_n
|
| -
|
| -MTS = -s 50-150 -c
|
| -mt:
|
| - ./speed $(MTS) mpn_kara_mul_n mpn_toom3_mul_n
|
| -mtg:
|
| - ./speed $(MTS) -P mtg mpn_kara_mul_n mpn_toom3_mul_n
|
| -
|
| -sk:
|
| - ./speed -s 5-40 -c mpn_sqr_basecase mpn_kara_sqr_n
|
| -
|
| -STS = -s 50-150 -c
|
| -st:
|
| - ./speed $(STS) mpn_kara_sqr_n mpn_toom3_sqr_n
|
| -stg:
|
| - ./speed $(STS) -P stg mpn_kara_sqr_n mpn_toom3_sqr_n
|
| -
|
| -dc:
|
| - ./speed -s 5-40 -c mpn_dc_divrem_sb mpn_dc_divrem_n mpn_dc_tdiv_qr
|
| -
|
| -fib:
|
| - ./speed -s 40-60 -c mpz_fib_ui
|
| -fibg:
|
| - ./speed -s 10-300 -P fibg mpz_fib_ui
|
| -
|
| -
|
| -gcd:
|
| - ./speed -s 1-20 -c mpn_gcd
|
| -
|
| -udiv:
|
| - ./speed -s 1 -c udiv_qrnnd udiv_qrnnd_preinv udiv_qrnnd_preinv2norm invert_limb udiv_qrnnd_c
|
| -
|
| -divn:
|
| - ./speed -s 1-30 -c mpn_divrem_1_div.-1 mpn_divrem_1_inv.-1
|
| -divun:
|
| - ./speed -s 1-30 -c mpn_divrem_1_div.12345 mpn_divrem_1_inv.12345
|
| -modn:
|
| - ./speed -s 1-30 -c mpn_mod_1_div.-1 mpn_mod_1_inv.-1
|
| -modun:
|
| - ./speed -s 1-30 -c mpn_mod_1_div.12345 mpn_mod_1_inv.12345
|
| -
|
| -
|
| -graph:
|
| - ./speed -s 1-5000 -f 1.02 -P graph mpn_mul_n mpn_sqr
|
| - gnuplot graph.gnuplot
|
|
|