Module Name: src Committed By: mrg Date: Thu Jun 23 12:09:30 UTC 2011
Modified Files: src/external/lgpl3/gmp/lib/libgmp: Makefile Added Files: src/external/lgpl3/gmp/lib/libgmp/arch/x86_64: Makefile.inc config.m4 gmp-mparam.h Log Message: make this build on amd64. XXX: need to confirm that all the objects are built but this is XXX: enough to make GCC happy. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/external/lgpl3/gmp/lib/libgmp/Makefile cvs rdiff -u -r0 -r1.1 \ src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc \ src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 \ src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/lgpl3/gmp/lib/libgmp/Makefile diff -u src/external/lgpl3/gmp/lib/libgmp/Makefile:1.1 src/external/lgpl3/gmp/lib/libgmp/Makefile:1.2 --- src/external/lgpl3/gmp/lib/libgmp/Makefile:1.1 Tue Jun 21 04:23:56 2011 +++ src/external/lgpl3/gmp/lib/libgmp/Makefile Thu Jun 23 12:09:30 2011 @@ -1,479 +1,300 @@ -# $NetBSD: Makefile,v 1.1 2011/06/21 04:23:56 mrg Exp $ +# $NetBSD: Makefile,v 1.2 2011/06/23 12:09:30 mrg Exp $ .include <bsd.init.mk> -LIB= gmp +DIST=${.CURDIR}/../../dist + +# XXX +MKLINT=no -SRCS= \ - assert.c \ - compat.c \ - errno.c \ - extract-dbl.c \ - invalid.c \ - memory.c \ - mp_bpl.c \ - mp_clz_tab.c \ - mp_dv_tab.c \ - mp_minv_tab.c \ - mp_get_fns.c \ - mp_set_fns.c \ - rand.c \ - randclr.c \ - randdef.c \ - randiset.c \ - randlc2s.c \ - randlc2x.c \ - randmt.c \ - randmts.c \ - rands.c \ - randsd.c \ - randsdui.c \ - randbui.c \ - randmui.c \ - version.c \ - nextprime.c \ - tal-reent.c \ - init.c \ - init2.c \ - inits.c \ - set.c \ - set_ui.c \ - set_si.c \ - set_str.c \ - set_d.c \ - set_z.c \ - iset.c \ - iset_ui.c \ - iset_si.c \ - iset_str.c \ - iset_d.c \ - clear.c \ - clears.c \ - get_str.c \ - dump.c \ - size.c \ - eq.c \ - reldiff.c \ - sqrt.c \ - random2.c \ - inp_str.c \ - out_str.c \ - add.c \ - add_ui.c \ - sub.c \ - sub_ui.c \ - ui_sub.c \ - mul.c \ - mul_ui.c \ - div.c \ - div_ui.c \ - cmp.c \ - cmp_d.c \ - cmp_ui.c \ - cmp_si.c \ - mul_2exp.c \ - div_2exp.c \ - abs.c \ - neg.c \ - set_q.c \ - get_d.c \ - get_d_2exp.c \ - set_dfl_prec.c \ - set_prc.c \ - set_prc_raw.c \ - get_dfl_prec.c \ - get_prc.c \ - ui_div.c \ - sqrt_ui.c \ - ceilfloor.c \ - trunc.c \ - pow_ui.c \ - urandomb.c \ - swap.c \ - fits_sint.c \ - fits_slong.c \ - fits_sshort.c \ - fits_uint.c \ - fits_ulong.c \ - fits_ushort.c \ - get_si.c \ - get_ui.c \ - int_p.c \ - abs.c \ - add.c \ - add_ui.c \ - aorsmul.c \ - aorsmul_i.c \ - and.c \ - array_init.c \ - bin_ui.c \ - bin_uiui.c \ - cdiv_q.c \ - cdiv_q_ui.c \ - cdiv_qr.c \ - cdiv_qr_ui.c \ - cdiv_r.c \ - cdiv_r_ui.c \ - cdiv_ui.c \ - cfdiv_q_2exp.c \ - cfdiv_r_2exp.c \ - clear.c \ - clears.c \ - clrbit.c \ - cmp.c \ - cmp_d.c \ - cmp_si.c \ - cmp_ui.c \ - cmpabs.c \ - cmpabs_d.c \ - cmpabs_ui.c \ - com.c \ - combit.c \ - cong.c \ - cong_2exp.c \ - cong_ui.c \ - divexact.c \ - divegcd.c \ - dive_ui.c \ - divis.c \ - divis_ui.c \ - divis_2exp.c \ - dump.c \ - export.c \ - fac_ui.c \ - fdiv_q.c \ - fdiv_q_ui.c \ - fdiv_qr.c \ - fdiv_qr_ui.c \ - fdiv_r.c \ - fdiv_r_ui.c \ - fdiv_ui.c \ - fib_ui.c \ - fib2_ui.c \ - fits_sint.c \ - fits_slong.c \ - fits_sshort.c \ - fits_uint.c \ - fits_ulong.c \ - fits_ushort.c \ - gcd.c \ - gcd_ui.c \ - gcdext.c \ - get_d.c \ - get_d_2exp.c \ - get_si.c \ - get_str.c \ - get_ui.c \ - getlimbn.c \ - hamdist.c \ - import.c \ - init.c \ - init2.c \ - inits.c \ - inp_raw.c \ - inp_str.c \ - invert.c \ - ior.c \ - iset.c \ - iset_d.c \ - iset_si.c \ - iset_str.c \ - iset_ui.c \ - jacobi.c \ - kronsz.c \ - kronuz.c \ - kronzs.c \ - kronzu.c \ - lcm.c \ - lcm_ui.c \ - lucnum_ui.c \ - lucnum2_ui.c \ - millerrabin.c \ - mod.c \ - mul.c \ - mul_2exp.c \ - mul_si.c \ - mul_ui.c \ - n_pow_ui.c \ - neg.c \ - nextprime.c \ - out_raw.c \ - out_str.c \ - perfpow.c \ - perfsqr.c \ - popcount.c \ - pow_ui.c \ - powm.c \ - powm_sec.c \ - powm_ui.c \ - pprime_p.c \ - random.c \ - random2.c \ - realloc.c \ - realloc2.c \ - remove.c \ - root.c \ - rootrem.c \ - rrandomb.c \ - scan0.c \ - scan1.c \ - set.c \ - set_d.c \ - set_f.c \ - set_q.c \ - set_si.c \ - set_str.c \ - set_ui.c \ - setbit.c \ - size.c \ - sizeinbase.c \ - sqrt.c \ - sqrtrem.c \ - sub.c \ - sub_ui.c \ - swap.c \ - tdiv_ui.c \ - tdiv_q.c \ - tdiv_q_2exp.c \ - tdiv_q_ui.c \ - tdiv_qr.c \ - tdiv_qr_ui.c \ - tdiv_r.c \ - tdiv_r_2exp.c \ - tdiv_r_ui.c \ - tstbit.c \ - ui_pow_ui.c \ - ui_sub.c \ - urandomb.c \ - urandomm.c \ - xor.c \ - abs.c \ - aors.c \ - canonicalize.c \ - clear.c \ - clears.c \ - cmp.c \ - cmp_si.c \ - cmp_ui.c \ - div.c \ - get_d.c \ - get_den.c \ - get_num.c \ - get_str.c \ - init.c \ - inits.c \ - inp_str.c \ - inv.c \ - md_2exp.c \ - mul.c \ - neg.c \ - out_str.c \ - set.c \ - set_den.c \ - set_num.c \ - set_si.c \ - set_str.c \ - set_ui.c \ - equal.c \ - set_z.c \ - set_d.c \ - set_f.c \ - swap.c \ - fib_table.c \ - mp_bases.c \ - add.c \ - add_1.c \ - add_n.c \ - sub.c \ - sub_1.c \ - sub_n.c \ - neg.c \ - com.c \ - mul_1.c \ - addmul_1.c \ - submul_1.c \ - lshift.c \ - rshift.c \ - dive_1.c \ - diveby3.c \ - divis.c \ - divrem.c \ - divrem_1.c \ - divrem_2.c \ - fib2_ui.c \ - mod_1.c \ - mod_34lsub1.c \ - mode1o.c \ - pre_mod_1.c \ - dump.c \ - mod_1_1.c \ - mod_1_2.c \ - mod_1_3.c \ - mod_1_4.c \ - lshiftc.c \ - mul.c \ - mul_fft.c \ - mul_n.c \ - sqr.c \ - mul_basecase.c \ - sqr_basecase.c \ - nussbaumer_mul.c \ - random.c \ - random2.c \ - pow_1.c \ - rootrem.c \ - sqrtrem.c \ - get_str.c \ - set_str.c \ - scan0.c \ - scan1.c \ - popcount.c \ - hamdist.c \ - cmp.c \ - perfsqr.c \ - perfpow.c \ - gcd_1.c \ - gcd.c \ - gcdext_1.c \ - gcdext.c \ - gcd_lehmer.c \ - gcd_subdiv_step.c \ - gcdext_lehmer.c \ - gcdext_subdiv_step.c \ - div_q.c \ - tdiv_qr.c \ - jacbase.c \ - get_d.c \ - matrix22_mul.c \ - hgcd2.c \ - hgcd.c \ - mullo_n.c \ - mullo_basecase.c \ - toom22_mul.c \ - toom32_mul.c \ - toom42_mul.c \ - toom52_mul.c \ - toom62_mul.c \ - toom33_mul.c \ - toom43_mul.c \ - toom53_mul.c \ - toom63_mul.c \ - toom44_mul.c \ - toom6h_mul.c \ - toom6_sqr.c \ - toom8h_mul.c \ - toom8_sqr.c \ - toom_couple_handling.c \ - toom2_sqr.c \ - toom3_sqr.c \ - toom4_sqr.c \ - toom_eval_dgr3_pm1.c \ - toom_eval_dgr3_pm2.c \ - toom_eval_pm1.c \ - toom_eval_pm2.c \ - toom_eval_pm2exp.c \ - toom_eval_pm2rexp.c \ - toom_interpolate_5pts.c \ - toom_interpolate_6pts.c \ - toom_interpolate_7pts.c \ - toom_interpolate_8pts.c \ - toom_interpolate_12pts.c \ - toom_interpolate_16pts.c \ - invertappr.c \ - invert.c \ - binvert.c \ - mulmod_bnm1.c \ - sqrmod_bnm1.c \ - sbpi1_div_q.c \ - sbpi1_div_qr.c \ - sbpi1_divappr_q.c \ - dcpi1_div_q.c \ - dcpi1_div_qr.c \ - dcpi1_divappr_q.c \ - mu_div_qr.c \ - mu_divappr_q.c \ - mu_div_q.c \ - bdiv_q_1.c \ - sbpi1_bdiv_q.c \ - sbpi1_bdiv_qr.c \ - dcpi1_bdiv_q.c \ - dcpi1_bdiv_qr.c \ - mu_bdiv_q.c \ - mu_bdiv_qr.c \ - bdiv_q.c \ - bdiv_qr.c \ - divexact.c \ - bdiv_dbm1c.c \ - redc_1.c \ - redc_2.c \ - redc_n.c \ - powm.c \ - powlo.c \ - powm_sec.c \ - subcnd_n.c \ - redc_1_sec.c \ - trialdiv.c \ - remove.c \ - and_n.c \ - andn_n.c \ - nand_n.c \ - ior_n.c \ - iorn_n.c \ - nior_n.c \ - xor_n.c \ - xnor_n.c \ - copyi.c \ - copyd.c \ - zero.c \ - invert_limb.c \ - mul_2.c \ - addmul_2.c \ - addlsh1_n.c \ - sublsh1_n.c \ - rsblsh1_n.c \ - rsh1add_n.c \ - rsh1sub_n.c \ - addlsh2_n.c \ - rsblsh2_n.c \ - addlsh_n.c \ - rsblsh_n.c \ - addaddmul_1msb0.c \ - asprintf.c \ - asprntffuns.c \ - doprnt.c \ - doprntf.c \ - doprnti.c \ - fprintf.c \ - obprintf.c \ - obvprintf.c \ - obprntffuns.c \ - printf.c \ - printffuns.c \ - snprintf.c \ - snprntffuns.c \ - sprintf.c \ - sprintffuns.c \ - vasprintf.c \ - vfprintf.c \ - vprintf.c \ - vsnprintf.c \ - vsprintf.c \ - repl-vsnprintf.c \ - doscan.c \ - fscanf.c \ - fscanffuns.c \ - scanf.c \ - sscanf.c \ - sscanffuns.c \ - vfscanf.c \ - vscanf.c \ - vsscanf.c +LIB= gmp +MPF_SRCS = \ + init.c init2.c inits.c set.c \ + set_ui.c set_si.c set_str.c set_d.c \ + set_z.c iset.c iset_ui.c iset_si.c \ + iset_str.c iset_d.c clear.c clears.c \ + get_str.c dump.c size.c eq.c reldiff.c \ + sqrt.c random2.c inp_str.c out_str.c \ + add.c add_ui.c sub.c sub_ui.c ui_sub.c \ + mul.c mul_ui.c div.c div_ui.c \ + cmp.c cmp_d.c cmp_ui.c cmp_si.c \ + mul_2exp.c div_2exp.c abs.c neg.c \ + set_q.c get_d.c get_d_2exp.c set_dfl_prec.c \ + set_prc.c set_prc_raw.c get_dfl_prec.c \ + get_prc.c ui_div.c sqrt_ui.c \ + ceilfloor.c trunc.c pow_ui.c \ + urandomb.c swap.c \ + fits_sint.c fits_slong.c fits_sshort.c \ + fits_uint.c fits_ulong.c fits_ushort.c \ + get_si.c get_ui.c \ + int_p.c + +MPZ_SRCS = \ + abs.c add.c add_ui.c \ + aorsmul.c aorsmul_i.c and.c array_init.c \ + bin_ui.c bin_uiui.c \ + cdiv_q.c cdiv_q_ui.c \ + cdiv_qr.c cdiv_qr_ui.c \ + cdiv_r.c cdiv_r_ui.c cdiv_ui.c \ + cfdiv_q_2exp.c cfdiv_r_2exp.c \ + clear.c clears.c clrbit.c \ + cmp.c cmp_d.c cmp_si.c cmp_ui.c \ + cmpabs.c cmpabs_d.c cmpabs_ui.c \ + com.c combit.c \ + cong.c cong_2exp.c cong_ui.c \ + divexact.c divegcd.c dive_ui.c \ + divis.c divis_ui.c divis_2exp.c dump.c \ + export.c fac_ui.c fdiv_q.c \ + fdiv_q_ui.c fdiv_qr.c fdiv_qr_ui.c \ + fdiv_r.c fdiv_r_ui.c \ + fdiv_ui.c fib_ui.c fib2_ui.c fits_sint.c \ + fits_slong.c fits_sshort.c fits_uint.c \ + fits_ulong.c fits_ushort.c gcd.c \ + gcd_ui.c gcdext.c get_d.c get_d_2exp.c \ + get_si.c get_str.c get_ui.c getlimbn.c \ + hamdist.c \ + import.c init.c init2.c inits.c \ + inp_raw.c inp_str.c invert.c \ + ior.c iset.c iset_d.c iset_si.c \ + iset_str.c iset_ui.c jacobi.c kronsz.c \ + kronuz.c kronzs.c kronzu.c \ + lcm.c lcm_ui.c lucnum_ui.c lucnum2_ui.c \ + millerrabin.c mod.c mul.c mul_2exp.c \ + mul_si.c mul_ui.c \ + n_pow_ui.c neg.c nextprime.c \ + out_raw.c out_str.c perfpow.c perfsqr.c \ + popcount.c pow_ui.c powm.c powm_sec.c \ + powm_ui.c pprime_p.c random.c random2.c \ + realloc.c realloc2.c remove.c \ + root.c rootrem.c rrandomb.c scan0.c \ + scan1.c set.c set_d.c set_f.c \ + set_q.c set_si.c set_str.c set_ui.c \ + setbit.c \ + size.c sizeinbase.c sqrt.c \ + sqrtrem.c sub.c sub_ui.c swap.c \ + tdiv_ui.c tdiv_q.c tdiv_q_2exp.c \ + tdiv_q_ui.c tdiv_qr.c tdiv_qr_ui.c \ + tdiv_r.c tdiv_r_2exp.c tdiv_r_ui.c \ + tstbit.c ui_pow_ui.c ui_sub.c urandomb.c \ + urandomm.c xor.c + +MPQ_SRCS = \ + abs.c aors.c \ + canonicalize.c clear.c clears.c \ + cmp.c cmp_si.c cmp_ui.c div.c \ + get_d.c get_den.c get_num.c get_str.c \ + init.c inits.c inp_str.c inv.c \ + md_2exp.c mul.c neg.c out_str.c \ + set.c set_den.c set_num.c \ + set_si.c set_str.c set_ui.c \ + equal.c set_z.c set_d.c \ + set_f.c swap.c + +# addmul_2.c \ +# addmul_3.c \ +# addmul_4.c \ +# addmul_5.c \ +# addmul_6.c \ +# addmul_7.c \ +# addmul_8.c \ +# and_n.c \ +# andn_n.c \ +# ior_n.c \ +# iorn_n.c \ +# mul_2.c \ +# mul_3.c \ +# mul_4.c \ +# nand_n.c \ +# nior_n.c \ +# udiv_qrnnd.c \ +# xor_n.c +# xnor_n.c +# many asm +# sqr_diagonal.c \ + +MPN_SRCS = \ + add.c \ + add_1.c \ + add_n.c \ + addmul_1.c \ + cmp.c \ + com.c \ + copyd.c \ + copyi.c \ + dive_1.c \ + diveby3.c \ + divexact.c \ + divis.c \ + divrem.c \ + divrem_1.c \ + divrem_2.c \ + sbpi1_bdiv_qr.c \ + sbpi1_bdiv_q.c \ + sbpi1_div_qr.c \ + sbpi1_div_q.c \ + sbpi1_divappr_q.c \ + dcpi1_bdiv_qr.c \ + dcpi1_bdiv_q.c \ + dcpi1_div_qr.c \ + dcpi1_div_q.c \ + dcpi1_divappr_q.c \ + dump.c \ + fib2_ui.c \ + gcd.c \ + gcd_1.c \ + gcdext.c \ + get_d.c \ + get_str.c \ + hgcd2.c \ + hgcd.c \ + jacbase.c \ + lshift.c \ + matrix22_mul.c \ + mod_1.c \ + mod_34lsub1.c \ + mode1o.c \ + mod_1_1.c \ + mod_1_2.c \ + mod_1_3.c \ + mod_1_4.c \ + mul.c \ + mul_1.c \ + mul_fft.c \ + mul_n.c \ + mul_basecase.c \ + nussbaumer_mul.c \ + toom22_mul.c \ + toom32_mul.c \ + toom42_mul.c \ + toom52_mul.c \ + toom62_mul.c \ + toom33_mul.c \ + toom43_mul.c \ + toom53_mul.c \ + toom63_mul.c \ + toom44_mul.c \ + toom6h_mul.c \ + toom6_sqr.c \ + toom8h_mul.c \ + toom8_sqr.c \ + toom_couple_handling.c \ + toom2_sqr.c \ + toom3_sqr.c \ + toom4_sqr.c \ + toom_eval_dgr3_pm1.c \ + toom_eval_dgr3_pm2.c \ + toom_eval_pm1.c \ + toom_eval_pm1.c \ + toom_eval_pm2exp.c \ + toom_eval_pm2rexp.c \ + toom_interpolate_5pts.c \ + toom_interpolate_6pts.c \ + toom_interpolate_7pts.c \ + toom_interpolate_8pts.c \ + toom_interpolate_12pts.c \ + toom_interpolate_16pts.c \ + invertappr.c \ + invert.c \ + binvert.c \ + mulmod_bnm1.c \ + sqrmod_bnm1.c \ + mullo_n.c \ + mullo_basecase.c \ + neg.c \ + perfsqr.c \ + pre_divrem_1.c \ + pre_mod_1.c \ + pow_1.c \ + random.c \ + random2.c \ + rshift.c \ + rootrem.c \ + scan0.c \ + scan1.c \ + set_str.c \ + sqr_basecase.c \ + sqrtrem.c \ + sub.c \ + sub_1.c \ + sub_n.c \ + submul_1.c \ + tdiv_qr.c \ + +# udiv_w_sdiv.c + +MPN_GENERIC_SRCS = \ + popcount.c \ + hamdist.c + +PRINTF_SRCS = \ + asprintf.c asprntffuns.c \ + doprnt.c doprntf.c doprnti.c \ + fprintf.c \ + obprintf.c obvprintf.c obprntffuns.c \ + printf.c printffuns.c \ + snprintf.c snprntffuns.c \ + sprintf.c sprintffuns.c \ + vasprintf.c vfprintf.c vprintf.c \ + vsnprintf.c vsprintf.c \ + repl-vsnprintf.c + +SCANF_SRCS = \ + doscan.c fscanf.c fscanffuns.c \ + scanf.c sscanf.c sscanffuns.c \ + vfscanf.c vscanf.c vsscanf.c + +SRCS+= \ + assert.c compat.c errno.c extract-dbl.c invalid.c memory.c \ + mp_bpl.c mp_clz_tab.c mp_dv_tab.c mp_minv_tab.c mp_get_fns.c \ + mp_set_fns.c rand.c randclr.c randdef.c randiset.c randlc2s.c \ + randlc2x.c randmt.c randmts.c rands.c randsd.c randsdui.c \ + randbui.c randmui.c version.c nextprime.c + +.for _src in ${MPN_SRCS} +COPTS.${_src}+= -DOPERATION_${_src:R} +.endfor +SRCS+= ${MPN_SRCS} + +SRCS+= tal-reent.c + +# these are generated +SRCS+= fib_table.c mp_bases.c + + +# Build the files that may have multiple identical base names under +# different names. +# XXX ${MPBSD_SRCS:C/^/mpbsd /} +.for _dir _srcfile in \ + ${MPF_SRCS:C/^/mpf /} \ + ${MPZ_SRCS:C/^/mpz /} \ + ${MPQ_SRCS:C/^/mpq /} \ + ${PRINTF_SRCS:C/^/printf /} \ + ${SCANF_SRCS:C/^/scanf /} +${_dir}_${_srcfile}: #Makefile + echo '#include "'${_dir}/${_srcfile}'"' > ${.TARGET} + +SRCS+= ${_dir}_${_srcfile} +CLEANFILES+= ${_dir}_${_srcfile} + +.endfor + +# Build the generic popcount/hamdist for now +.for _srcfile in \ + ${MPN_GENERIC_SRCS} +mpn_${_srcfile}: Makefile + echo '#include "mpn/generic/popham.c"' > ${.TARGET} + +COPTS.mpn_${_srcfile}+= -DOPERATION_${_srcfile:R} + +SRCS+= mpn_${_srcfile} +CLEANFILES+= mpn_${_srcfile} +.endfor INCS= gmp.h INCSDIR= /usr/include -CPPFLAGS+= -I${.CURDIR} -D__GMP_WITHIN_GMP +CPPFLAGS+= -I. -I${DIST} -I${.CURDIR}/arch/${MACHINE_ARCH} -D__GMP_WITHIN_GMP -DHAVE_CONFIG_H WITHOUT_MAN= yes @@ -507,6 +328,12 @@ CLEANFILES+= ${DPSRCS} gen-fac_ui gen-fib gen-bases gen-psqr +.sinclude "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc" + .include <bsd.lib.mk> -.PATH: ${.CURDIR}/../../dist ${.CURDIR}/../../dist/mpf +.PATH: ${DIST} \ + ${DIST}/mpn/generic \ + ${.CURDIR}/arch/${MACHINE_ARCH} \ + ${DIST}/mpf \ + ${DIST}/mpz Added files: Index: src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc diff -u /dev/null src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc:1.1 --- /dev/null Thu Jun 23 12:09:30 2011 +++ src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc Thu Jun 23 12:09:30 2011 @@ -0,0 +1,86 @@ +# $NetBSD: Makefile.inc,v 1.1 2011/06/23 12:09:30 mrg Exp $ + +SRCS+= \ + bdiv_q.c \ + bdiv_qr.c \ + div_q.c \ + pow_1.c \ + powm.c \ + powm_sec.c \ + powlo.c \ + toom_eval_pm2.c \ + toom_eval_pm2exp.c \ + toom_eval_pm2rexp.c \ + mu_bdiv_qr.c \ + mu_div_qr.c \ + sqr.c \ + gcd_lehmer.c \ + gcd_subdiv_step.c \ + gcdext_lehmer.c \ + gcdext_subdiv_step.c \ + perfpow.c \ + gcdext_1.c \ + mu_bdiv_q.c \ + mu_bdiv_qr.c \ + mu_div_q.c \ + mu_div_qr.c \ + mu_divappr_q.c \ + redc_1_sec.c \ + redc_2.c \ + redc_n.c \ + subcnd_n.c \ + trialdiv.c + +ASM_SRCS_LIST= \ + add_n mpn/x86_64/aors_n.asm \ + addaddmul_1msb0 mpn/x86_64/addaddmul_1msb0.asm \ + addlsh1_n mpn/x86_64/aorrlsh1_n.asm \ + addlsh2_n mpn/x86_64/aorrlsh2_n.asm \ + addlsh_n mpn/x86_64/aorrlsh_n.asm \ + addmul_2 mpn/x86_64/addmul_2.asm \ + bdiv_q_1 mpn/x86_64/bdiv_q_1.asm \ + bdiv_dbm1c mpn/x86_64/bdiv_dbm1c.asm \ + lshiftc mpn/x86_64/lshiftc.asm \ + mul_1 mpn/x86_64/mul_1.asm \ + mul_2 mpn/x86_64/mul_2.asm \ + rsblsh1_n mpn/x86_64/aorrlsh1_n.asm \ + rsblsh2_n mpn/x86_64/aorrlsh2_n.asm \ + rsblsh_n mpn/x86_64/aorrlsh_n.asm \ + rsh1add_n mpn/x86_64/rsh1aors_n.asm \ + rsh1sub_n mpn/x86_64/rsh1aors_n.asm \ + rshift mpn/x86_64/rshift.asm \ + sub_n mpn/x86_64/aors_n.asm \ + sublsh1_n mpn/x86_64/sublsh1_n.asm \ + invert_limb mpn/x86_64/invert_limb.asm \ + mode1o mpn/x86_64/mode1o.asm \ + and_n mpn/x86_64/logops_n.asm \ + +# XXX using redc_1.c +# redc_1 mpn/x86_64/redc_1.asm +SRCS+= redc_1.c + +gen-trialdivtab: gen-trialdivtab.c + ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm + +# XXX +GMP_LIMB_BITS=64 + +trialdiv.c: trialdivtab.h +trialdivtab.h: gen-trialdivtab + ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h + +CLEANFILES+= trialdivtab.h + +# XXX stuff looks for "../config.m4" +dummy: + mkdir dummy +${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 + cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} + +.for _build _src in ${ASM_SRCS_LIST} +${_build}.s: Makefile dummy ${.OBJDIR}/config.m4 + ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} + +SRCS+= ${_build}.s + +.endfor Index: src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 diff -u /dev/null src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4:1.1 --- /dev/null Thu Jun 23 12:09:30 2011 +++ src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 Thu Jun 23 12:09:30 2011 @@ -0,0 +1,35 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(<WANT_ASSERT>,0) +define(<WANT_PROFILING>,<`no'>) +define(<M4WRAP_SPURIOUS>,<no>) +define(<TEXT>, <.text>) +define(<DATA>, <.data>) +define(<LABEL_SUFFIX>, <:>) +define(<GLOBL>, <.globl>) +define(<GLOBL_ATTR>, <>) +define(<GSYM_PREFIX>, <>) +define(<RODATA>, < .section .rodata>) +define(<TYPE>, <.type $1,@$2>) +define(<SIZE>, <.size $1,$2>) +define(<LSYM_PREFIX>, <.L>) +define(<W32>, <.long>) +define(<ALIGN_LOGARITHMIC>,<no>) +define(<ALIGN_FILL_0x90>,<yes>) +define(<SQR_TOOM2_THRESHOLD>,<34>) +define(<SIZEOF_UNSIGNED>,<4>) +define(<GMP_LIMB_BITS>,64) +define(<GMP_NAIL_BITS>,0) +define(<GMP_NUMB_BITS>,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) +>) +changequote(`,') +ifdef(`__CONFIG_M4_INCLUDED__',,` +include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +include_mpn(`x86_64/x86_64-defs.m4') +define_not_for_expansion(`HAVE_HOST_CPU_x86_64') +define_not_for_expansion(`HAVE_ABI_64') +define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') +define_not_for_expansion(`HAVE_DOUBLE_IEEE_LITTLE_ENDIAN') +') +define(`__CONFIG_M4_INCLUDED__') Index: src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h diff -u /dev/null src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h:1.1 --- /dev/null Thu Jun 23 12:09:30 2011 +++ src/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h Thu Jun 23 12:09:30 2011 @@ -0,0 +1,197 @@ +/* AMD K8 gmp-mparam.h -- Compiler/machine parameter header file. + +Copyright 1991, 1993, 1994, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +2008, 2009, 2010 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/. */ + +#define GMP_LIMB_BITS 64 +#define BYTES_PER_MP_LIMB 8 + + +#define MOD_1_NORM_THRESHOLD 0 /* always */ +#define MOD_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1N_TO_MOD_1_1_THRESHOLD 8 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 6 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 +#define MOD_1_2_TO_MOD_1_4_THRESHOLD 11 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 14 +#define USE_PREINV_DIVREM_1 1 /* native */ +#define DIVEXACT_1_THRESHOLD 0 /* always (native) */ +#define BMOD_1_TO_MOD_1_THRESHOLD 19 + +#define MUL_TOOM22_THRESHOLD 28 +#define MUL_TOOM33_THRESHOLD 81 +#define MUL_TOOM44_THRESHOLD 120 +#define MUL_TOOM6H_THRESHOLD 466 +#define MUL_TOOM8H_THRESHOLD 478 + +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 97 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 160 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 160 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 211 + +#define SQR_BASECASE_THRESHOLD 0 /* always (native) */ +#define SQR_TOOM2_THRESHOLD 34 +#define SQR_TOOM3_THRESHOLD 117 +#define SQR_TOOM4_THRESHOLD 512 +#define SQR_TOOM6_THRESHOLD 686 +#define SQR_TOOM8_THRESHOLD 686 + +#define MULMOD_BNM1_THRESHOLD 17 +#define SQRMOD_BNM1_THRESHOLD 17 + +#define MUL_FFT_MODF_THRESHOLD 570 /* k = 5 */ +#define MUL_FFT_TABLE3 \ + { { 570, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \ + { 25, 7}, { 13, 6}, { 27, 7}, { 15, 6}, \ + { 31, 7}, { 25, 8}, { 13, 7}, { 29, 8}, \ + { 15, 7}, { 31, 8}, { 17, 7}, { 35, 8}, \ + { 19, 7}, { 39, 8}, { 21, 7}, { 43, 8}, \ + { 23, 7}, { 47, 8}, { 25, 7}, { 51, 8}, \ + { 29, 9}, { 15, 8}, { 37, 9}, { 19, 8}, \ + { 43, 9}, { 23, 8}, { 51, 9}, { 27, 8}, \ + { 55,10}, { 15, 9}, { 43,10}, { 23, 9}, \ + { 55,10}, { 31, 9}, { 63, 5}, { 1023, 4}, \ + { 2431, 5}, { 1279, 6}, { 671, 7}, { 367, 8}, \ + { 189, 9}, { 95, 8}, { 195, 9}, { 111,11}, \ + { 31, 9}, { 131,10}, { 71, 9}, { 155,10}, \ + { 79, 9}, { 159,10}, { 87,11}, { 47,10}, \ + { 111,11}, { 63,10}, { 135,11}, { 79,10}, \ + { 167,11}, { 95,10}, { 191,11}, { 111,12}, \ + { 63,11}, { 143,10}, { 287,11}, { 159,10}, \ + { 319,11}, { 175,12}, { 95,11}, { 207,13}, \ + { 63,12}, { 127,11}, { 255,10}, { 543,11}, \ + { 287,12}, { 159,11}, { 319,10}, { 639,11}, \ + { 335,10}, { 671,11}, { 351,10}, { 703,12}, \ + { 191,11}, { 383,10}, { 767,11}, { 415,12}, \ + { 223,13}, { 127,12}, { 255,11}, { 543,12}, \ + { 287,11}, { 575,10}, { 1151,11}, { 607,12}, \ + { 319,11}, { 639,10}, { 1279,11}, { 671,12}, \ + { 351,11}, { 703,13}, { 191,12}, { 383,11}, \ + { 767,12}, { 415,11}, { 831,12}, { 447,14}, \ + { 127,13}, { 255,12}, { 543,11}, { 1087,12}, \ + { 607,11}, { 1215,13}, { 319,12}, { 671,11}, \ + { 1343,12}, { 735,13}, { 383,12}, { 767,11}, \ + { 1535,12}, { 799,11}, { 1599,12}, { 831,13}, \ + { 447,12}, { 895,11}, { 1791,12}, { 959,14}, \ + { 255,13}, { 511,12}, { 1087,13}, { 575,12}, \ + { 1215,13}, { 639,12}, { 1343,13}, { 703,12}, \ + { 1407,14}, { 383,13}, { 767,12}, { 1599,13}, \ + { 831,12}, { 1663,13}, { 895,12}, { 1791,13}, \ + { 959,15}, { 255,14}, { 511,13}, { 1087,12}, \ + { 2175,13}, { 1215,14}, { 639,13}, { 1471,14}, \ + { 767,13}, { 1663,14}, { 895,13}, { 1855,15}, \ + { 511,14}, { 1023,13}, { 2175,14}, { 1151,13}, \ + { 2431,14}, { 1279,13}, { 2687,14}, { 1407,15}, \ + { 767,14}, { 1535,13}, { 3071,14}, { 1791,16}, \ + { 511,15}, { 1023,14}, { 2431,15}, { 1279,14}, \ + { 2815,15}, { 1535,14}, { 3199,15}, { 1791,14}, \ + { 3583,16}, { 65536,17}, { 131072,18}, { 262144,19}, \ + { 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \ + {8388608,24} } +#define MUL_FFT_TABLE3_SIZE 185 +#define MUL_FFT_THRESHOLD 7552 + +#define SQR_FFT_MODF_THRESHOLD 460 /* k = 5 */ +#define SQR_FFT_TABLE3 \ + { { 460, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \ + { 12, 5}, { 25, 6}, { 27, 7}, { 14, 6}, \ + { 29, 7}, { 15, 6}, { 31, 7}, { 29, 8}, \ + { 15, 7}, { 32, 8}, { 17, 7}, { 35, 8}, \ + { 19, 7}, { 39, 8}, { 21, 7}, { 43, 8}, \ + { 25, 7}, { 51, 8}, { 29, 9}, { 15, 8}, \ + { 35, 9}, { 19, 8}, { 43, 9}, { 23, 8}, \ + { 51, 9}, { 27, 8}, { 55,10}, { 15, 9}, \ + { 31, 8}, { 63, 9}, { 43,10}, { 23, 9}, \ + { 55,11}, { 15,10}, { 31, 9}, { 71,10}, \ + { 39, 9}, { 83,10}, { 47, 6}, { 767, 4}, \ + { 3263, 5}, { 1727, 4}, { 3455, 5}, { 1791, 6}, \ + { 927, 7}, { 479, 6}, { 959, 7}, { 511, 8}, \ + { 271, 9}, { 147,10}, { 87,11}, { 47,10}, \ + { 95,12}, { 31,11}, { 63,10}, { 135,11}, \ + { 79,10}, { 167,11}, { 95,10}, { 191,11}, \ + { 111,12}, { 63,11}, { 127,10}, { 255,11}, \ + { 143,10}, { 287, 9}, { 575,10}, { 303,11}, \ + { 159,12}, { 95,11}, { 191,10}, { 383, 9}, \ + { 767,10}, { 399,11}, { 207,13}, { 63,12}, \ + { 127,11}, { 255,10}, { 511,11}, { 271,10}, \ + { 543,11}, { 287,10}, { 575,12}, { 159,11}, \ + { 319,10}, { 639,11}, { 335,10}, { 671,11}, \ + { 351,10}, { 703,12}, { 191,11}, { 383,10}, \ + { 767,11}, { 415,10}, { 831,11}, { 447,13}, \ + { 127,12}, { 255,11}, { 511,10}, { 1023,11}, \ + { 543,12}, { 287,11}, { 575,10}, { 1151,11}, \ + { 607,10}, { 1215,12}, { 319,11}, { 639,10}, \ + { 1279,11}, { 671,12}, { 351,11}, { 703,13}, \ + { 191,12}, { 383,11}, { 767,12}, { 415,11}, \ + { 831,12}, { 447,14}, { 127,13}, { 255,12}, \ + { 511,11}, { 1023,12}, { 543,11}, { 1087,12}, \ + { 575,11}, { 1151,12}, { 607,13}, { 319,12}, \ + { 639,11}, { 1279,12}, { 671,11}, { 1343,12}, \ + { 703,11}, { 1407,12}, { 735,13}, { 383,12}, \ + { 767,11}, { 1535,12}, { 799,11}, { 1599,12}, \ + { 831,13}, { 447,12}, { 959,14}, { 255,13}, \ + { 511,12}, { 1087,13}, { 575,12}, { 1215,13}, \ + { 639,12}, { 1343,13}, { 703,12}, { 1407,14}, \ + { 383,13}, { 767,12}, { 1599,13}, { 831,12}, \ + { 1663,13}, { 895,12}, { 1791,13}, { 959,15}, \ + { 255,14}, { 511,13}, { 1087,12}, { 2175,13}, \ + { 1215,14}, { 639,13}, { 1471,14}, { 767,13}, \ + { 1663,14}, { 895,13}, { 1855,15}, { 511,14}, \ + { 1023,13}, { 2175,14}, { 1151,13}, { 2303,14}, \ + { 1279,13}, { 2559,14}, { 1407,15}, { 767,14}, \ + { 1535,13}, { 3071,14}, { 1791,16}, { 511,15}, \ + { 1023,14}, { 2303,15}, { 1279,14}, { 2687,15}, \ + { 1535,14}, { 3199,15}, { 1791,16}, { 65536,17}, \ + { 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \ + {2097152,22}, {4194304,23}, {8388608,24} } +#define SQR_FFT_TABLE3_SIZE 203 +#define SQR_FFT_THRESHOLD 5248 + +#define MULLO_BASECASE_THRESHOLD 9 +#define MULLO_DC_THRESHOLD 29 +#define MULLO_MUL_N_THRESHOLD 14709 + +#define DC_DIV_QR_THRESHOLD 56 +#define DC_DIVAPPR_Q_THRESHOLD 270 +#define DC_BDIV_QR_THRESHOLD 52 +#define DC_BDIV_Q_THRESHOLD 152 + +#define INV_MULMOD_BNM1_THRESHOLD 174 +#define INV_NEWTON_THRESHOLD 252 +#define INV_APPR_THRESHOLD 250 + +#define BINV_NEWTON_THRESHOLD 345 +#define REDC_1_TO_REDC_2_THRESHOLD 50 +#define REDC_2_TO_REDC_N_THRESHOLD 79 + +#define MU_DIV_QR_THRESHOLD 1787 +#define MU_DIVAPPR_Q_THRESHOLD 1787 +#define MUPI_DIV_QR_THRESHOLD 106 +#define MU_BDIV_QR_THRESHOLD 1620 +#define MU_BDIV_Q_THRESHOLD 1787 + +#define MATRIX22_STRASSEN_THRESHOLD 17 +#define HGCD_THRESHOLD 139 +#define GCD_DC_THRESHOLD 501 +#define GCDEXT_DC_THRESHOLD 474 +#define JACOBI_BASE_METHOD 1 + +#define GET_STR_DC_THRESHOLD 17 +#define GET_STR_PRECOMPUTE_THRESHOLD 23 +#define SET_STR_DC_THRESHOLD 266 +#define SET_STR_PRECOMPUTE_THRESHOLD 1648