From 782f804765b6f4226fd77843e59f57dcca61b6fb Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 4 Jul 2017 23:19:51 +0200 Subject: [PATCH] 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 GnuPG-bug-id: 3182 --- mpi/longlong.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mpi/longlong.h b/mpi/longlong.h index 4905268bd..0a28c670b 100644 --- a/mpi/longlong.h +++ b/mpi/longlong.h @@ -189,7 +189,7 @@ extern UDItype __udiv_qrnnd (); : "%r" ((USItype)(ah)), \ "rI" ((USItype)(bh)), \ "%r" ((USItype)(al)), \ - "rI" ((USItype)(bl))) + "rI" ((USItype)(bl)) __CLOBBER_CC) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subs %1, %4, %5\n" \ "sbc %0, %2, %3" \ @@ -198,7 +198,7 @@ extern UDItype __udiv_qrnnd (); : "r" ((USItype)(ah)), \ "rI" ((USItype)(bh)), \ "r" ((USItype)(al)), \ - "rI" ((USItype)(bl))) + "rI" ((USItype)(bl)) __CLOBBER_CC) #if defined __ARM_ARCH_2__ || defined __ARM_ARCH_3__ #define umul_ppmm(xh, xl, a, b) \ __asm__ ("%@ Inlined umul_ppmm\n" \ @@ -218,7 +218,7 @@ extern UDItype __udiv_qrnnd (); "=r" ((USItype)(xl)) \ : "r" ((USItype)(a)), \ "r" ((USItype)(b)) \ - : "r0", "r1", "r2") + : "r0", "r1", "r2" __AND_CLOBBER_CC) #else #define umul_ppmm(xh, xl, a, b) \ __asm__ ("%@ Inlined umul_ppmm\n" \