From cee166e3f5f073860f2d3787ae905edb7f3a32e2 Mon Sep 17 00:00:00 2001 From: Dave Rodgman Date: Thu, 25 May 2023 11:00:05 +0100 Subject: [PATCH] Don't use r7 in generic codepath Signed-off-by: Dave Rodgman --- library/bn_mul.h | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/library/bn_mul.h b/library/bn_mul.h index 936810e4e6..c91743ac4d 100644 --- a/library/bn_mul.h +++ b/library/bn_mul.h @@ -679,15 +679,8 @@ #elif defined(__thumb2__) // Thumb 2 ISA - #if defined(__GNUC__) && !defined(__OPTIMIZE__) - // gcc -O0: only V6+DSP codepath builds - #if (__ARM_ARCH >= 6) && defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1) - #define ARM_V6_DSP - #endif - #else - // gcc with optimisation, or armclang: any codepath builds - #define ARM_V6_DSP_OR_THUMB_2 - #endif + // Any codepath builds. + #define ARM_V6_DSP_OR_THUMB_2 #elif defined(__arm__) // Arm ISA @@ -841,9 +834,9 @@ "mov r5, #0 \n\t" \ "ldr r6, [r1] \n\t" \ "umlal r2, r5, r3, r4 \n\t" \ - "adds r7, r6, r2 \n\t" \ + "adds r4, r6, r2 \n\t" \ "adc r2, r5, #0 \n\t" \ - "str r7, [r1], #4 \n\t" + "str r4, [r1], #4 \n\t" #define MULADDC_X1_STOP \ "str r2, %0 \n\t" \ @@ -852,7 +845,7 @@ : "=m" (c), "=m" (d), "=m" (s) \ : "m" (s), "m" (d), "m" (c), "m" (b) \ : "r0", "r1", "r2", "r3", "r4", "r5", \ - "r6", "r7", "cc" \ + "r6", "cc" \ ); #endif /* Arm */