1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-02-08 17:43:04 +01:00

* longlong.h: Replaced all K&R multiline strings by ISO ones for

the sake of modern compilers.  Suggested by Marco Parrone.
This commit is contained in:
Werner Koch 2002-07-24 08:19:48 +00:00
parent 6b50533fe1
commit 9a4e2a4c86
2 changed files with 233 additions and 224 deletions

View File

@ -1,3 +1,8 @@
2002-07-24 Werner Koch <wk@gnupg.org>
* longlong.h: Replaced all K&R multiline strings by ISO ones for
the sake of modern compilers. Suggested by Marco Parrone.
2002-05-10 Stefan Bellon <sbellon@sbellon.de> 2002-05-10 Stefan Bellon <sbellon@sbellon.de>
* mpiutil.c (mpi_alloc_like/mpi_debug_alloc_like): Added code * mpiutil.c (mpi_alloc_like/mpi_debug_alloc_like): Added code

View File

@ -2,7 +2,7 @@
Note: I added some stuff for use with gnupg Note: I added some stuff for use with gnupg
Copyright (C) 1991, 1992, 1993, 1994, 1996, 1998, Copyright (C) 1991, 1992, 1993, 1994, 1996, 1998,
2000, 2001 Free Software Foundation, Inc. 2000, 2001, 2002 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify This file is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published by it under the terms of the GNU Library General Public License as published by
@ -115,8 +115,8 @@ MA 02111-1307, USA. */
***************************************/ ***************************************/
#if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32 #if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("add %1,%4,%5 __asm__ ("add %1,%4,%5\n" \
addc %0,%2,%3" \ "addc %0,%2,%3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%r" ((USItype)(ah)), \ : "%r" ((USItype)(ah)), \
@ -124,8 +124,8 @@ MA 02111-1307, USA. */
"%r" ((USItype)(al)), \ "%r" ((USItype)(al)), \
"rI" ((USItype)(bl))) "rI" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("sub %1,%4,%5 __asm__ ("sub %1,%4,%5\n" \
subc %0,%2,%3" \ "subc %0,%2,%3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "r" ((USItype)(ah)), \ : "r" ((USItype)(ah)), \
@ -186,8 +186,8 @@ extern UDItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__arm__) && W_TYPE_SIZE == 32 #if defined (__arm__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("adds %1, %4, %5 __asm__ ("adds %1, %4, %5\n" \
adc %0, %2, %3" \ "adc %0, %2, %3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%r" ((USItype)(ah)), \ : "%r" ((USItype)(ah)), \
@ -195,8 +195,8 @@ extern UDItype __udiv_qrnnd ();
"%r" ((USItype)(al)), \ "%r" ((USItype)(al)), \
"rI" ((USItype)(bl))) "rI" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subs %1, %4, %5 __asm__ ("subs %1, %4, %5\n" \
sbc %0, %2, %3" \ "sbc %0, %2, %3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "r" ((USItype)(ah)), \ : "r" ((USItype)(ah)), \
@ -205,19 +205,19 @@ extern UDItype __udiv_qrnnd ();
"rI" ((USItype)(bl))) "rI" ((USItype)(bl)))
#if defined __ARM_ARCH_2__ || defined __ARM_ARCH_3__ #if defined __ARM_ARCH_2__ || defined __ARM_ARCH_3__
#define umul_ppmm(xh, xl, a, b) \ #define umul_ppmm(xh, xl, a, b) \
__asm__ ("%@ Inlined umul_ppmm __asm__ ("%@ Inlined umul_ppmm\n" \
mov %|r0, %2, lsr #16 @ AAAA "mov %|r0, %2, lsr #16 @ AAAA\n" \
mov %|r2, %3, lsr #16 @ BBBB "mov %|r2, %3, lsr #16 @ BBBB\n" \
bic %|r1, %2, %|r0, lsl #16 @ aaaa "bic %|r1, %2, %|r0, lsl #16 @ aaaa\n" \
bic %0, %3, %|r2, lsl #16 @ bbbb "bic %0, %3, %|r2, lsl #16 @ bbbb\n" \
mul %1, %|r1, %|r2 @ aaaa * BBBB "mul %1, %|r1, %|r2 @ aaaa * BBBB\n" \
mul %|r2, %|r0, %|r2 @ AAAA * BBBB "mul %|r2, %|r0, %|r2 @ AAAA * BBBB\n" \
mul %|r1, %0, %|r1 @ aaaa * bbbb "mul %|r1, %0, %|r1 @ aaaa * bbbb\n" \
mul %0, %|r0, %0 @ AAAA * bbbb "mul %0, %|r0, %0 @ AAAA * bbbb\n" \
adds %|r0, %1, %0 @ central sum "adds %|r0, %1, %0 @ central sum\n" \
addcs %|r2, %|r2, #65536 "addcs %|r2, %|r2, #65536\n" \
adds %1, %|r1, %|r0, lsl #16 "adds %1, %|r1, %|r0, lsl #16\n" \
adc %0, %|r2, %|r0, lsr #16" \ "adc %0, %|r2, %|r0, lsr #16" \
: "=&r" ((USItype)(xh)), \ : "=&r" ((USItype)(xh)), \
"=r" ((USItype)(xl)) \ "=r" ((USItype)(xl)) \
: "r" ((USItype)(a)), \ : "r" ((USItype)(a)), \
@ -225,8 +225,8 @@ extern UDItype __udiv_qrnnd ();
: "r0", "r1", "r2") : "r0", "r1", "r2")
#else #else
#define umul_ppmm(xh, xl, a, b) \ #define umul_ppmm(xh, xl, a, b) \
__asm__ ("%@ Inlined umul_ppmm __asm__ ("%@ Inlined umul_ppmm\n" \
umull %r1, %r0, %r2, %r3" \ "umull %r1, %r0, %r2, %r3" \
: "=&r" ((USItype)(xh)), \ : "=&r" ((USItype)(xh)), \
"=r" ((USItype)(xl)) \ "=r" ((USItype)(xl)) \
: "r" ((USItype)(a)), \ : "r" ((USItype)(a)), \
@ -274,8 +274,8 @@ extern UDItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__gmicro__) && W_TYPE_SIZE == 32 #if defined (__gmicro__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("add.w %5,%1 __asm__ ("add.w %5,%1\n" \
addx %3,%0" \ "addx %3,%0" \
: "=g" ((USItype)(sh)), \ : "=g" ((USItype)(sh)), \
"=&g" ((USItype)(sl)) \ "=&g" ((USItype)(sl)) \
: "%0" ((USItype)(ah)), \ : "%0" ((USItype)(ah)), \
@ -283,8 +283,8 @@ extern UDItype __udiv_qrnnd ();
"%1" ((USItype)(al)), \ "%1" ((USItype)(al)), \
"g" ((USItype)(bl))) "g" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("sub.w %5,%1 __asm__ ("sub.w %5,%1\n" \
subx %3,%0" \ "subx %3,%0" \
: "=g" ((USItype)(sh)), \ : "=g" ((USItype)(sh)), \
"=&g" ((USItype)(sl)) \ "=&g" ((USItype)(sl)) \
: "0" ((USItype)(ah)), \ : "0" ((USItype)(ah)), \
@ -317,8 +317,8 @@ extern UDItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__hppa) && W_TYPE_SIZE == 32 #if defined (__hppa) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("add %4,%5,%1 __asm__ ("add %4,%5,%1\n" \
addc %2,%3,%0" \ "addc %2,%3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%rM" ((USItype)(ah)), \ : "%rM" ((USItype)(ah)), \
@ -326,8 +326,8 @@ extern UDItype __udiv_qrnnd ();
"%rM" ((USItype)(al)), \ "%rM" ((USItype)(al)), \
"rM" ((USItype)(bl))) "rM" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("sub %4,%5,%1 __asm__ ("sub %4,%5,%1\n" \
subb %2,%3,%0" \ "subb %2,%3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "rM" ((USItype)(ah)), \ : "rM" ((USItype)(ah)), \
@ -365,22 +365,22 @@ extern USItype __udiv_qrnnd ();
do { \ do { \
USItype __tmp; \ USItype __tmp; \
__asm__ ( \ __asm__ ( \
"ldi 1,%0 "ldi 1,%0 \n" \
extru,= %1,15,16,%%r0 ; Bits 31..16 zero? "extru,= %1,15,16,%%r0 ; Bits 31..16 zero? \n" \
extru,tr %1,15,16,%1 ; No. Shift down, skip add. "extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n" \
ldo 16(%0),%0 ; Yes. Perform add. "ldo 16(%0),%0 ; Yes. Perform add. \n" \
extru,= %1,23,8,%%r0 ; Bits 15..8 zero? "extru,= %1,23,8,%%r0 ; Bits 15..8 zero? \n" \
extru,tr %1,23,8,%1 ; No. Shift down, skip add. "extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n" \
ldo 8(%0),%0 ; Yes. Perform add. "ldo 8(%0),%0 ; Yes. Perform add. \n" \
extru,= %1,27,4,%%r0 ; Bits 7..4 zero? "extru,= %1,27,4,%%r0 ; Bits 7..4 zero? \n" \
extru,tr %1,27,4,%1 ; No. Shift down, skip add. "extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n" \
ldo 4(%0),%0 ; Yes. Perform add. "ldo 4(%0),%0 ; Yes. Perform add. \n" \
extru,= %1,29,2,%%r0 ; Bits 3..2 zero? "extru,= %1,29,2,%%r0 ; Bits 3..2 zero? \n" \
extru,tr %1,29,2,%1 ; No. Shift down, skip add. "extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n" \
ldo 2(%0),%0 ; Yes. Perform add. "ldo 2(%0),%0 ; Yes. Perform add. \n" \
extru %1,30,1,%1 ; Extract bit 1. "extru %1,30,1,%1 ; Extract bit 1. \n" \
sub %0,%1,%0 ; Subtract it. "sub %0,%1,%0 ; Subtract it. " \
" : "=r" (count), "=r" (__tmp) : "1" (x)); \ : "=r" (count), "=r" (__tmp) : "1" (x)); \
} while (0) } while (0)
#endif /* hppa */ #endif /* hppa */
@ -435,8 +435,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32 #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("addl %5,%1 __asm__ ("addl %5,%1\n" \
adcl %3,%0" \ "adcl %3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%0" ((USItype)(ah)), \ : "%0" ((USItype)(ah)), \
@ -444,8 +444,8 @@ extern USItype __udiv_qrnnd ();
"%1" ((USItype)(al)), \ "%1" ((USItype)(al)), \
"g" ((USItype)(bl))) "g" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subl %5,%1 __asm__ ("subl %5,%1\n" \
sbbl %3,%0" \ "sbbl %3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "0" ((USItype)(ah)), \ : "0" ((USItype)(ah)), \
@ -488,7 +488,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__i860__) && W_TYPE_SIZE == 32 #if defined (__i860__) && W_TYPE_SIZE == 32
#define rshift_rhlc(r,h,l,c) \ #define rshift_rhlc(r,h,l,c) \
__asm__ ("shr %3,r0,r0\;shrd %1,%2,%0" \ __asm__ ("shr %3,r0,r0\n" \
"shrd %1,%2,%0" \
"=r" (r) : "r" (h), "r" (l), "rn" (c)) "=r" (r) : "r" (h), "r" (l), "rn" (c))
#endif /* i860 */ #endif /* i860 */
@ -497,7 +498,9 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__i960__) && W_TYPE_SIZE == 32 #if defined (__i960__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("cmpo 1,0\;addc %5,%4,%1\;addc %3,%2,%0" \ __asm__ ("cmpo 1,0\n" \
"addc %5,%4,%1\n" \
"addc %3,%2,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%dI" ((USItype)(ah)), \ : "%dI" ((USItype)(ah)), \
@ -505,7 +508,9 @@ extern USItype __udiv_qrnnd ();
"%dI" ((USItype)(al)), \ "%dI" ((USItype)(al)), \
"dI" ((USItype)(bl))) "dI" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("cmpo 0,0\;subc %5,%4,%1\;subc %3,%2,%0" \ __asm__ ("cmpo 0,0\n" \
"subc %5,%4,%1\n" \
"subc %3,%2,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "dI" ((USItype)(ah)), \ : "dI" ((USItype)(ah)), \
@ -568,8 +573,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if (defined (__mc68000__) || defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) && W_TYPE_SIZE == 32 #if (defined (__mc68000__) || defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("add%.l %5,%1 __asm__ ("add%.l %5,%1\n" \
addx%.l %3,%0" \ "addx%.l %3,%0" \
: "=d" ((USItype)(sh)), \ : "=d" ((USItype)(sh)), \
"=&d" ((USItype)(sl)) \ "=&d" ((USItype)(sl)) \
: "%0" ((USItype)(ah)), \ : "%0" ((USItype)(ah)), \
@ -577,8 +582,8 @@ extern USItype __udiv_qrnnd ();
"%1" ((USItype)(al)), \ "%1" ((USItype)(al)), \
"g" ((USItype)(bl))) "g" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("sub%.l %5,%1 __asm__ ("sub%.l %5,%1\n" \
subx%.l %3,%0" \ "subx%.l %3,%0" \
: "=d" ((USItype)(sh)), \ : "=d" ((USItype)(sh)), \
"=&d" ((USItype)(sl)) \ "=&d" ((USItype)(sl)) \
: "0" ((USItype)(ah)), \ : "0" ((USItype)(ah)), \
@ -616,28 +621,28 @@ extern USItype __udiv_qrnnd ();
#else /* not mc68020 */ #else /* not mc68020 */
#define umul_ppmm(xh, xl, a, b) \ #define umul_ppmm(xh, xl, a, b) \
do { USItype __umul_tmp1, __umul_tmp2; \ do { USItype __umul_tmp1, __umul_tmp2; \
__asm__ ("| Inlined umul_ppmm __asm__ ("| Inlined umul_ppmm \n" \
move%.l %5,%3 " move%.l %5,%3 \n" \
move%.l %2,%0 " move%.l %2,%0 \n" \
move%.w %3,%1 " move%.w %3,%1 \n" \
swap %3 " swap %3 \n" \
swap %0 " swap %0 \n" \
mulu %2,%1 " mulu %2,%1 \n" \
mulu %3,%0 " mulu %3,%0 \n" \
mulu %2,%3 " mulu %2,%3 \n" \
swap %2 " swap %2 \n" \
mulu %5,%2 " mulu %5,%2 \n" \
add%.l %3,%2 " add%.l %3,%2 \n" \
jcc 1f " jcc 1f \n" \
add%.l %#0x10000,%0 " add%.l %#0x10000,%0 \n" \
1: move%.l %2,%3 "1: move%.l %2,%3 \n" \
clr%.w %2 " clr%.w %2 \n" \
swap %2 " swap %2 \n" \
swap %3 " swap %3 \n" \
clr%.w %3 " clr%.w %3 \n" \
add%.l %3,%1 " add%.l %3,%1 \n" \
addx%.l %2,%0 " addx%.l %2,%0 \n" \
| End inlined umul_ppmm" \ " | End inlined umul_ppmm" \
: "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \ : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \
"=d" (__umul_tmp1), "=&d" (__umul_tmp2) \ "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
: "%2" ((USItype)(a)), "d" ((USItype)(b))); \ : "%2" ((USItype)(a)), "d" ((USItype)(b))); \
@ -653,8 +658,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__m88000__) && W_TYPE_SIZE == 32 #if defined (__m88000__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("addu.co %1,%r4,%r5 __asm__ ("addu.co %1,%r4,%r5\n" \
addu.ci %0,%r2,%r3" \ "addu.ci %0,%r2,%r3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%rJ" ((USItype)(ah)), \ : "%rJ" ((USItype)(ah)), \
@ -662,8 +667,8 @@ extern USItype __udiv_qrnnd ();
"%rJ" ((USItype)(al)), \ "%rJ" ((USItype)(al)), \
"rJ" ((USItype)(bl))) "rJ" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subu.co %1,%r4,%r5 __asm__ ("subu.co %1,%r4,%r5\n" \
subu.ci %0,%r2,%r3" \ "subu.ci %0,%r2,%r3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "rJ" ((USItype)(ah)), \ : "rJ" ((USItype)(ah)), \
@ -705,7 +710,6 @@ extern USItype __udiv_qrnnd ();
#endif /* __m88110__ */ #endif /* __m88110__ */
#endif /* __m88000__ */ #endif /* __m88000__ */
/*************************************** /***************************************
************** MIPS ***************** ************** MIPS *****************
***************************************/ ***************************************/
@ -719,9 +723,9 @@ extern USItype __udiv_qrnnd ();
"d" ((USItype)(v))) "d" ((USItype)(v)))
#else #else
#define umul_ppmm(w1, w0, u, v) \ #define umul_ppmm(w1, w0, u, v) \
__asm__ ("multu %2,%3 __asm__ ("multu %2,%3 \n" \
mflo %0 "mflo %0 \n" \
mfhi %1" \ "mfhi %1" \
: "=d" ((USItype)(w0)), \ : "=d" ((USItype)(w0)), \
"=d" ((USItype)(w1)) \ "=d" ((USItype)(w1)) \
: "d" ((USItype)(u)), \ : "d" ((USItype)(u)), \
@ -744,9 +748,9 @@ extern USItype __udiv_qrnnd ();
"d" ((UDItype)(v))) "d" ((UDItype)(v)))
#else #else
#define umul_ppmm(w1, w0, u, v) \ #define umul_ppmm(w1, w0, u, v) \
__asm__ ("dmultu %2,%3 __asm__ ("dmultu %2,%3 \n" \
mflo %0 "mflo %0 \n" \
mfhi %1" \ "mfhi %1" \
: "=d" ((UDItype)(w0)), \ : "=d" ((UDItype)(w0)), \
"=d" ((UDItype)(w1)) \ "=d" ((UDItype)(w1)) \
: "d" ((UDItype)(u)), \ : "d" ((UDItype)(u)), \
@ -926,8 +930,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__pyr__) && W_TYPE_SIZE == 32 #if defined (__pyr__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("addw %5,%1 __asm__ ("addw %5,%1 \n" \
addwc %3,%0" \ "addwc %3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%0" ((USItype)(ah)), \ : "%0" ((USItype)(ah)), \
@ -935,8 +939,8 @@ extern USItype __udiv_qrnnd ();
"%1" ((USItype)(al)), \ "%1" ((USItype)(al)), \
"g" ((USItype)(bl))) "g" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subw %5,%1 __asm__ ("subw %5,%1 \n" \
subwb %3,%0" \ "subwb %3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "0" ((USItype)(ah)), \ : "0" ((USItype)(ah)), \
@ -948,8 +952,8 @@ extern USItype __udiv_qrnnd ();
({union {UDItype __ll; \ ({union {UDItype __ll; \
struct {USItype __h, __l;} __i; \ struct {USItype __h, __l;} __i; \
} __xx; \ } __xx; \
__asm__ ("movw %1,%R0 __asm__ ("movw %1,%R0 \n" \
uemul %2,%0" \ "uemul %2,%0" \
: "=&r" (__xx.__ll) \ : "=&r" (__xx.__ll) \
: "g" ((USItype) (u)), \ : "g" ((USItype) (u)), \
"g" ((USItype)(v))); \ "g" ((USItype)(v))); \
@ -962,8 +966,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32 #if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("a %1,%5 __asm__ ("a %1,%5 \n" \
ae %0,%3" \ "ae %0,%3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%0" ((USItype)(ah)), \ : "%0" ((USItype)(ah)), \
@ -971,8 +975,8 @@ extern USItype __udiv_qrnnd ();
"%1" ((USItype)(al)), \ "%1" ((USItype)(al)), \
"r" ((USItype)(bl))) "r" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("s %1,%5 __asm__ ("s %1,%5\n" \
se %0,%3" \ "se %0,%3" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "0" ((USItype)(ah)), \ : "0" ((USItype)(ah)), \
@ -983,26 +987,26 @@ extern USItype __udiv_qrnnd ();
do { \ do { \
USItype __m0 = (m0), __m1 = (m1); \ USItype __m0 = (m0), __m1 = (m1); \
__asm__ ( \ __asm__ ( \
"s r2,r2 "s r2,r2 \n" \
mts r10,%2 "mts r10,%2 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
m r2,%3 "m r2,%3 \n" \
cas %0,r2,r0 "cas %0,r2,r0 \n" \
mfs r10,%1" \ "mfs r10,%1" \
: "=r" ((USItype)(ph)), \ : "=r" ((USItype)(ph)), \
"=r" ((USItype)(pl)) \ "=r" ((USItype)(pl)) \
: "%r" (__m0), \ : "%r" (__m0), \
@ -1036,9 +1040,9 @@ extern USItype __udiv_qrnnd ();
#if defined (__sh2__) && W_TYPE_SIZE == 32 #if defined (__sh2__) && W_TYPE_SIZE == 32
#define umul_ppmm(w1, w0, u, v) \ #define umul_ppmm(w1, w0, u, v) \
__asm__ ( \ __asm__ ( \
"dmulu.l %2,%3 "dmulu.l %2,%3\n" \
sts macl,%1 "sts macl,%1\n" \
sts mach,%0" \ "sts mach,%0" \
: "=r" ((USItype)(w1)), \ : "=r" ((USItype)(w1)), \
"=r" ((USItype)(w0)) \ "=r" ((USItype)(w0)) \
: "r" ((USItype)(u)), \ : "r" ((USItype)(u)), \
@ -1052,8 +1056,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__sparc__) && W_TYPE_SIZE == 32 #if defined (__sparc__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("addcc %r4,%5,%1 __asm__ ("addcc %r4,%5,%1\n" \
addx %r2,%3,%0" \ "addx %r2,%3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "%rJ" ((USItype)(ah)), \ : "%rJ" ((USItype)(ah)), \
@ -1062,8 +1066,8 @@ extern USItype __udiv_qrnnd ();
"rI" ((USItype)(bl)) \ "rI" ((USItype)(bl)) \
__CLOBBER_CC) __CLOBBER_CC)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subcc %r4,%5,%1 __asm__ ("subcc %r4,%5,%1\n" \
subx %r2,%3,%0" \ "subx %r2,%3,%0" \
: "=r" ((USItype)(sh)), \ : "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \ "=&r" ((USItype)(sl)) \
: "rJ" ((USItype)(ah)), \ : "rJ" ((USItype)(ah)), \
@ -1109,45 +1113,45 @@ extern USItype __udiv_qrnnd ();
"r" ((USItype)(v))) "r" ((USItype)(v)))
#define UMUL_TIME 5 #define UMUL_TIME 5
#define udiv_qrnnd(q, r, n1, n0, d) \ #define udiv_qrnnd(q, r, n1, n0, d) \
__asm__ ("! Inlined udiv_qrnnd __asm__ ("! Inlined udiv_qrnnd \n" \
wr %%g0,%2,%%y ! Not a delayed write for sparclite " wr %%g0,%2,%%y ! Not a delayed write for sparclite \n" \
tst %%g0 " tst %%g0 \n" \
divscc %3,%4,%%g1 " divscc %3,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%%g1 " divscc %%g1,%4,%%g1 \n" \
divscc %%g1,%4,%0 " divscc %%g1,%4,%0 \n" \
rd %%y,%1 " rd %%y,%1 \n" \
bl,a 1f " bl,a 1f \n" \
add %1,%4,%1 " add %1,%4,%1 \n" \
1: ! End of inline udiv_qrnnd" \ "1: ! End of inline udiv_qrnnd" \
: "=r" ((USItype)(q)), \ : "=r" ((USItype)(q)), \
"=r" ((USItype)(r)) \ "=r" ((USItype)(r)) \
: "r" ((USItype)(n1)), \ : "r" ((USItype)(n1)), \
@ -1167,46 +1171,46 @@ extern USItype __udiv_qrnnd ();
/* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */ /* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */
#ifndef umul_ppmm #ifndef umul_ppmm
#define umul_ppmm(w1, w0, u, v) \ #define umul_ppmm(w1, w0, u, v) \
__asm__ ("! Inlined umul_ppmm __asm__ ("! Inlined umul_ppmm \n" \
wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr " wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr \n" \
sra %3,31,%%g2 ! Don't move this insn " sra %3,31,%%g2 ! Don't move this insn \n" \
and %2,%%g2,%%g2 ! Don't move this insn " and %2,%%g2,%%g2 ! Don't move this insn \n" \
andcc %%g0,0,%%g1 ! Don't move this insn " andcc %%g0,0,%%g1 ! Don't move this insn \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,%3,%%g1 " mulscc %%g1,%3,%%g1 \n" \
mulscc %%g1,0,%%g1 " mulscc %%g1,0,%%g1 \n" \
add %%g1,%%g2,%0 " add %%g1,%%g2,%0 \n" \
rd %%y,%1" \ " rd %%y,%1" \
: "=r" ((USItype)(w1)), \ : "=r" ((USItype)(w1)), \
"=r" ((USItype)(w0)) \ "=r" ((USItype)(w0)) \
: "%rI" ((USItype)(u)), \ : "%rI" ((USItype)(u)), \
@ -1233,8 +1237,8 @@ extern USItype __udiv_qrnnd ();
***************************************/ ***************************************/
#if defined (__vax__) && W_TYPE_SIZE == 32 #if defined (__vax__) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("addl2 %5,%1 __asm__ ("addl2 %5,%1\n" \
adwc %3,%0" \ "adwc %3,%0" \
: "=g" ((USItype)(sh)), \ : "=g" ((USItype)(sh)), \
"=&g" ((USItype)(sl)) \ "=&g" ((USItype)(sl)) \
: "%0" ((USItype)(ah)), \ : "%0" ((USItype)(ah)), \
@ -1242,8 +1246,8 @@ extern USItype __udiv_qrnnd ();
"%1" ((USItype)(al)), \ "%1" ((USItype)(al)), \
"g" ((USItype)(bl))) "g" ((USItype)(bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("subl2 %5,%1 __asm__ ("subl2 %5,%1\n" \
sbwc %3,%0" \ "sbwc %3,%0" \
: "=g" ((USItype)(sh)), \ : "=g" ((USItype)(sh)), \
"=&g" ((USItype)(sl)) \ "=&g" ((USItype)(sl)) \
: "0" ((USItype)(ah)), \ : "0" ((USItype)(ah)), \