Fix -O0 build for Aarch64 bignum multiplication.
diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h
index 4200ad4..163869a 100644
--- a/include/mbedtls/bn_mul.h
+++ b/include/mbedtls/bn_mul.h
@@ -204,20 +204,20 @@
asm(
#define MULADDC_CORE \
- "ldr x4, [%3], #8 \n\t" \
- "ldr x5, [%4] \n\t" \
- "mul x6, x4, %6 \n\t" \
- "umulh x7, x4, %6 \n\t" \
+ "ldr x4, [%2], #8 \n\t" \
+ "ldr x5, [%1] \n\t" \
+ "mul x6, x4, %3 \n\t" \
+ "umulh x7, x4, %3 \n\t" \
"adds x5, x5, x6 \n\t" \
"adc x7, x7, xzr \n\t" \
- "adds x5, x5, %5 \n\t" \
+ "adds x5, x5, %0 \n\t" \
"adc %0, x7, xzr \n\t" \
"str x5, [%1], #8 \n\t"
-#define MULADDC_STOP \
- : "+r" (c), "=r" (d), "=r" (s) \
- : "r" (s), "r" (d), "r" (c), "r" (b) \
- : "x4", "x5", "x6", "x7", "cc" \
+#define MULADDC_STOP \
+ : "+r" (c), "+r" (d), "+r" (s) \
+ : "r" (b) \
+ : "x4", "x5", "x6", "x7", "cc" \
);
#endif /* Aarch64 */