1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

See ChangeLog: Tue Mar 7 18:45:31 CET 2000 Werner Koch

This commit is contained in:
Werner Koch 2000-03-07 17:43:06 +00:00
parent c8efcabec4
commit f818c5ea6b
12 changed files with 58 additions and 11 deletions

View file

@ -1,3 +1,12 @@
Tue Mar 7 18:45:31 CET 2000 Werner Koch <wk@gnupg.de>
* mpih-mul.c (mpihelp_mul_karatsuba_case): It seems that the
untested part works fine. Removed the debugging message.
* longlong.h (umul_ppmm): Fixes for ARM-4. By Sean MacLennan.
* config.links: Add support for NetBSD.
Thu Jan 13 19:31:58 CET 2000 Werner Koch <wk@gnupg.de>
* mpi-internal.h (karatsuba_ctx): New.

View file

@ -1,4 +1,4 @@
# sourced my ../configure to get the list of files to link
# sourced by ../configure to get the list of files to link
# this should set $mpi_ln_src and mpi_ln_dst.
# Note: this is called from the above directory.
@ -12,12 +12,14 @@ echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
if test "$try_asm_modules" = "yes" ; then
case "${target}" in
i[34]86*-*-freebsd*-elf | i[34]86*-*-freebsd[34]* | i[34]86*-*-freebsdelf*)
i[34]86*-*-freebsd*-elf | i[34]86*-*-freebsd[34]* | i[34]86*-*-freebsdelf* \
| i[34]86*-*-netbsd* )
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
path="i386"
;;
i[56]86*-*-freebsd*-elf | i[56]86*-*-freebsd[34]* | i[56]86*-*-freebsdelf*)
i[56]86*-*-freebsd*-elf | i[56]86*-*-freebsd[34]* | i[56]86*-*-freebsdelf* \
| i[56]86*-*-netbsd* | pentium-*-netbsd* | pentiumpro-*-netbsd*)
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
path="i586 i386"

View file

@ -199,6 +199,8 @@ extern UDItype __udiv_qrnnd ();
"rI" ((USItype)(bh)), \
"r" ((USItype)(al)), \
"rI" ((USItype)(bl)))
#ifdef __ARM_ARCH_3__
/* SAM This does not work on arm4 */
#define umul_ppmm(xh, xl, a, b) \
__asm__ ("%@ Inlined umul_ppmm
mov %|r0, %2, lsr #16
@ -218,6 +220,18 @@ extern UDItype __udiv_qrnnd ();
: "r" ((USItype)(a)), \
"r" ((USItype)(b)) \
: "r0", "r1", "r2")
#elif __ARM_ARCH_4__
#define umul_ppmm(xh, xl, a, b) \
__asm__ ("%@ Inlined umul_ppmm
umull %r1, %r0, %r2, %r3" \
: "=&r" ((USItype)(xh)), \
"=r" ((USItype)(xl)) \
: "r" ((USItype)(a)), \
"r" ((USItype)(b)) \
: "r0", "r1")
#else
#error Untested architecture
#endif
#define UMUL_TIME 20
#define UDIV_TIME 100
#endif /* __arm__ */

View file

@ -415,8 +415,6 @@ mpihelp_mul_karatsuba_case( mpi_ptr_t prodp,
}
if( usize ) {
#warning Must test this CODE!!!
g10_log_debug("this code path is not yet tested\n");
if( usize < KARATSUBA_THRESHOLD ) {
mpihelp_mul( ctx->tspace, vp, vsize, up, usize );
}