Don't use r7 in generic codepath

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/bn_mul.h b/library/bn_mul.h
index 936810e..c91743a 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 */