mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-02 12:01:32 +01:00
mpi: Fix ARM assembler in longlong.h.
* mpi/longlong.h [__arm__] (add_ssaaaa, sub_ddmmss): Add __CLOBBER_CC. [__arm__][__ARM_ARCH <= 3] (umul_ppmm): Add __AND_CLOBBER_CC. -- This is a backport of libgcrypt 8aa4f2161 and 3b1cc9e6c. Signed-off-by: Marcus Brinkmann <mb@g10code.com> GnuPG-bug-id: 3182
This commit is contained in:
parent
7b045f539e
commit
782f804765
@ -189,7 +189,7 @@ extern UDItype __udiv_qrnnd ();
|
|||||||
: "%r" ((USItype)(ah)), \
|
: "%r" ((USItype)(ah)), \
|
||||||
"rI" ((USItype)(bh)), \
|
"rI" ((USItype)(bh)), \
|
||||||
"%r" ((USItype)(al)), \
|
"%r" ((USItype)(al)), \
|
||||||
"rI" ((USItype)(bl)))
|
"rI" ((USItype)(bl)) __CLOBBER_CC)
|
||||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||||
__asm__ ("subs %1, %4, %5\n" \
|
__asm__ ("subs %1, %4, %5\n" \
|
||||||
"sbc %0, %2, %3" \
|
"sbc %0, %2, %3" \
|
||||||
@ -198,7 +198,7 @@ extern UDItype __udiv_qrnnd ();
|
|||||||
: "r" ((USItype)(ah)), \
|
: "r" ((USItype)(ah)), \
|
||||||
"rI" ((USItype)(bh)), \
|
"rI" ((USItype)(bh)), \
|
||||||
"r" ((USItype)(al)), \
|
"r" ((USItype)(al)), \
|
||||||
"rI" ((USItype)(bl)))
|
"rI" ((USItype)(bl)) __CLOBBER_CC)
|
||||||
#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\n" \
|
__asm__ ("%@ Inlined umul_ppmm\n" \
|
||||||
@ -218,7 +218,7 @@ extern UDItype __udiv_qrnnd ();
|
|||||||
"=r" ((USItype)(xl)) \
|
"=r" ((USItype)(xl)) \
|
||||||
: "r" ((USItype)(a)), \
|
: "r" ((USItype)(a)), \
|
||||||
"r" ((USItype)(b)) \
|
"r" ((USItype)(b)) \
|
||||||
: "r0", "r1", "r2")
|
: "r0", "r1", "r2" __AND_CLOBBER_CC)
|
||||||
#else
|
#else
|
||||||
#define umul_ppmm(xh, xl, a, b) \
|
#define umul_ppmm(xh, xl, a, b) \
|
||||||
__asm__ ("%@ Inlined umul_ppmm\n" \
|
__asm__ ("%@ Inlined umul_ppmm\n" \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user