mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
See ChangeLog: Tue Dec 8 13:15:16 CET 1998 Werner Koch
This commit is contained in:
parent
df1326eb05
commit
ab986970eb
36 changed files with 514 additions and 149 deletions
|
@ -1,3 +1,8 @@
|
|||
Tue Dec 8 13:15:16 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
* config.links: Moved the case for powerpc*linux
|
||||
* powerpcp32/*.S: Removed some underscores.
|
||||
|
||||
Thu Nov 26 07:27:52 1998 Werner Koch <werner.koch@guug.de>
|
||||
|
||||
* config.links: Support for ppc with ELF
|
||||
|
|
|
@ -124,6 +124,12 @@ case "${target}" in
|
|||
path="m68k/mc68020 m68k"
|
||||
;;
|
||||
|
||||
powerpc*-*-linux*)
|
||||
echo '/* configured for powerpc/ELF */' >>./mpi/asm-syntax.h
|
||||
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
||||
cat $srcdir/mpi/powerpc32/syntax.h >>./mpi/asm-syntax.h
|
||||
path="powerpc32"
|
||||
;;
|
||||
rs6000-*-aix[456789]* | rs6000-*-aix3.2.[456789])
|
||||
mpi_sflags="-Wa,-mpwr"
|
||||
path="power"
|
||||
|
@ -146,12 +152,6 @@ case "${target}" in
|
|||
mpi_sflags="-Wa,-mppc"
|
||||
path="powerpc64"
|
||||
;;
|
||||
powerpc*-*-linux*)
|
||||
echo '/* configured for powerpc/ELF */' >>./mpi/asm-syntax.h
|
||||
echo '#define ELF_SYNTAX' >>asm-syntax.h
|
||||
cat $srcdir/powerpc32/syntax.h >>./mpi/asm-syntax.h
|
||||
path="powerpc32"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* mpiutilac - Utility functions for MPI
|
||||
/* mpiutil.ac - Utility functions for MPI
|
||||
* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GNUPG.
|
||||
|
@ -367,7 +367,7 @@ mpi_alloc_set_ui( unsigned long u)
|
|||
void
|
||||
mpi_swap( MPI a, MPI b)
|
||||
{
|
||||
struct mpi_struct tmp;
|
||||
struct gcry_mpi tmp;
|
||||
|
||||
tmp = *a; *a = *b; *b = tmp;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ mpihelp_add_n:
|
|||
mtctr 6 # copy size into CTR
|
||||
lwz 8,0(4) # load least significant s1 limb
|
||||
lwz 0,0(5) # load least significant s2 limb
|
||||
addi 3,3,-4 # offset res_ptr, it's updated before used
|
||||
addi 3,3,-4 # offset res_ptr, it is updated before used
|
||||
addc 7,0,8 # add least significant limbs, set cy
|
||||
bdz Lend # If done, skip loop
|
||||
Loop: lwzu 8,4(4) # load s1 limb and update s1_ptr
|
||||
|
@ -93,7 +93,7 @@ Lend: stw 7,4(3) # store ultimate result limb
|
|||
possible 2-unrolled inner loop will not be. Also, watch out for the
|
||||
alignment... */
|
||||
|
||||
EALIGN(_mpihelp_add_n,3,0)
|
||||
EALIGN(mpihelp_add_n,3,0)
|
||||
/* Set up for loop below. */
|
||||
mtcrf 0x01,%r6
|
||||
srwi. %r7,%r6,1
|
||||
|
@ -131,6 +131,6 @@ EALIGN(_mpihelp_add_n,3,0)
|
|||
/* Return the carry. */
|
||||
1: addze %r3,%r10
|
||||
blr
|
||||
END(_mpihelp_add_n)
|
||||
END(mpihelp_add_n)
|
||||
#endif
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ Lend2: slw 0,10,6
|
|||
/* mp_limb_t mpn_lshift (mp_ptr wp, mp_srcptr up, mp_size_t usize,
|
||||
unsigned int cnt) */
|
||||
|
||||
EALIGN(_mpihelp_lshift,3,0)
|
||||
EALIGN(mpihelp_lshift,3,0)
|
||||
mtctr %r5 # copy size into CTR
|
||||
cmplwi %cr0,%r5,16 # is size < 16
|
||||
slwi %r0,%r5,2
|
||||
|
@ -194,5 +194,5 @@ L(end2):slw %r0,%r10,%r6
|
|||
DO_LSHIFT(30)
|
||||
DO_LSHIFT(31)
|
||||
|
||||
END(_mpihelp_lshift)
|
||||
END(mpihelp_lshift)
|
||||
#endif
|
||||
|
|
|
@ -95,7 +95,7 @@ Lend: stw 7,4(3)
|
|||
mp_size_t s1_size, mp_limb_t s2_limb)
|
||||
Calculate s1*s2 and put result in res_ptr; return carry. */
|
||||
|
||||
ENTRY(_mpihelp_mul_1)
|
||||
ENTRY(mpihelp_mul_1)
|
||||
mtctr %r5
|
||||
|
||||
lwz %r0,0(%r4)
|
||||
|
@ -115,5 +115,5 @@ ENTRY(_mpihelp_mul_1)
|
|||
1: stw %r7,4(%r3)
|
||||
addze %r3,%r10
|
||||
blr
|
||||
END(_mpihelp_mul_1)
|
||||
END(mpihelp_mul_1)
|
||||
#endif
|
||||
|
|
|
@ -99,7 +99,7 @@ Lend: stw 8,4(3)
|
|||
/* mp_limb_t mpn_addmul_1 (mp_ptr res_ptr, mp_srcptr s1_ptr,
|
||||
mp_size_t s1_size, mp_limb_t s2_limb)
|
||||
Calculate res+s1*s2 and put result back in res; return carry. */
|
||||
ENTRY(_mpihelp_addmul_1)
|
||||
ENTRY(mpihelp_addmul_1)
|
||||
mtctr %r5
|
||||
|
||||
lwz %r0,0(%r4)
|
||||
|
@ -123,5 +123,5 @@ ENTRY(_mpihelp_addmul_1)
|
|||
1: stw %r8,4(%r3)
|
||||
addze %r3,%r10
|
||||
blr
|
||||
END(_mpihelp_addmul_1)
|
||||
END(mpihelp_addmul_1)
|
||||
#endif
|
||||
|
|
|
@ -100,7 +100,7 @@ Lend: stw 8,4(3)
|
|||
mp_size_t s1_size, mp_limb_t s2_limb)
|
||||
Calculate res-s1*s2 and put result back in res; return carry. */
|
||||
|
||||
ENTRY(_mpihelp_submul_1)
|
||||
ENTRY(mpihelp_submul_1)
|
||||
mtctr %r5
|
||||
|
||||
lwz %r0,0(%r4)
|
||||
|
@ -126,5 +126,5 @@ ENTRY(_mpihelp_submul_1)
|
|||
1: stw %r8,4(%r3)
|
||||
addze %r3,%r10
|
||||
blr
|
||||
END(_mpihelp_submul_1)
|
||||
END(mpihelp_submul_1)
|
||||
#endif
|
||||
|
|
|
@ -99,7 +99,7 @@ Lend2: srw 0,10,6
|
|||
size r5
|
||||
cnt r6 */
|
||||
|
||||
ENTRY(_mpihelp_rshift)
|
||||
ENTRY(mpihelp_rshift)
|
||||
mtctr 5 # copy size into CTR
|
||||
addi 7,3,-4 # move adjusted res_ptr to free return reg
|
||||
subfic 8,6,32
|
||||
|
@ -127,5 +127,5 @@ ENTRY(_mpihelp_rshift)
|
|||
2: srw 0,10,6
|
||||
stw 0,4(7)
|
||||
blr
|
||||
END(_mpihelp_rshift)
|
||||
END(mpihelp_rshift)
|
||||
#endif
|
||||
|
|
|
@ -49,7 +49,7 @@ mpihelp_sub_n:
|
|||
mtctr 6 # copy size into CTR
|
||||
lwz 8,0(4) # load least significant s1 limb
|
||||
lwz 0,0(5) # load least significant s2 limb
|
||||
addi 3,3,-4 # offset res_ptr, it's updated before used
|
||||
addi 3,3,-4 # offset res_ptr, it is updated before used
|
||||
subfc 7,0,8 # add least significant limbs, set cy
|
||||
bdz Lend # If done, skip loop
|
||||
Loop: lwzu 8,4(4) # load s1 limb and update s1_ptr
|
||||
|
@ -90,7 +90,7 @@ Lend: stw 7,4(3) # store ultimate result limb
|
|||
possible 2-unrolled inner loop will not be. Also, watch out for the
|
||||
alignment... */
|
||||
|
||||
EALIGN(_mpihelp_sub_n,3,1)
|
||||
EALIGN(mpihelp_sub_n,3,1)
|
||||
/* Set up for loop below. */
|
||||
mtcrf 0x01,%r6
|
||||
srwi. %r7,%r6,1
|
||||
|
@ -128,5 +128,5 @@ EALIGN(_mpihelp_sub_n,3,1)
|
|||
1: subfe %r3,%r3,%r3
|
||||
neg %r3,%r3
|
||||
blr
|
||||
END(_mpihelp_sub_n)
|
||||
END(mpihelp_sub_n)
|
||||
#endif
|
||||
|
|
|
@ -44,11 +44,11 @@
|
|||
/* No profiling of gmp's assembly for now... */
|
||||
#define CALL_MCOUNT /* no profiling */
|
||||
|
||||
#define ENTRY(name) \
|
||||
ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
|
||||
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
|
||||
.align ALIGNARG(2); \
|
||||
C_LABEL(name) \
|
||||
#define ENTRY(name) \
|
||||
ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
|
||||
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
|
||||
.align ALIGNARG(2); \
|
||||
C_LABEL(name) \
|
||||
CALL_MCOUNT
|
||||
|
||||
#define EALIGN_W_0 /* No words to insert. */
|
||||
|
@ -62,14 +62,14 @@
|
|||
|
||||
/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes
|
||||
past a 2^align boundary. */
|
||||
#define EALIGN(name, alignt, words) \
|
||||
ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
|
||||
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
|
||||
.align ALIGNARG(alignt); \
|
||||
EALIGN_W_##words; \
|
||||
#define EALIGN(name, alignt, words) \
|
||||
ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
|
||||
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
|
||||
.align ALIGNARG(alignt); \
|
||||
EALIGN_W_##words; \
|
||||
C_LABEL(name)
|
||||
|
||||
#undef END
|
||||
#define END(name) \
|
||||
#define END(name) \
|
||||
ASM_SIZE_DIRECTIVE(name)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue