Skip to content

Commit 92cd864

Browse files
authored
Merge pull request #6090 from hanno-arm/fix_bnmul_arm_v7a
Remove encoding width suffix from Arm bignum assembly
2 parents 8c9a0ae + 03f7a6e commit 92cd864

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

library/bn_mul.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -743,10 +743,10 @@
743743

744744
#define MULADDC_X1_CORE \
745745
".p2align 2 \n\t" \
746-
"ldr.w %[a], [%[in]], #4 \n\t" \
747-
"ldr.w %[b], [%[acc]] \n\t" \
746+
"ldr %[a], [%[in]], #4 \n\t" \
747+
"ldr %[b], [%[acc]] \n\t" \
748748
"umaal %[b], %[carry], %[scalar], %[a] \n\t" \
749-
"str.w %[b], [%[acc]], #4 \n\t"
749+
"str %[b], [%[acc]], #4 \n\t"
750750

751751
#define MULADDC_X1_STOP \
752752
: [a] "=&r" (tmp_a), \
@@ -777,14 +777,14 @@
777777
* 2 cycles, while subsequent loads/stores are single-cycle. */
778778
#define MULADDC_X2_CORE \
779779
".p2align 2 \n\t" \
780-
"ldr.w %[a0], [%[in]], #+8 \n\t" \
781-
"ldr.w %[b0], [%[acc]], #+8 \n\t" \
782-
"ldr.w %[a1], [%[in], #-4] \n\t" \
783-
"ldr.w %[b1], [%[acc], #-4] \n\t" \
780+
"ldr %[a0], [%[in]], #+8 \n\t" \
781+
"ldr %[b0], [%[acc]], #+8 \n\t" \
782+
"ldr %[a1], [%[in], #-4] \n\t" \
783+
"ldr %[b1], [%[acc], #-4] \n\t" \
784784
"umaal %[b0], %[carry], %[scalar], %[a0] \n\t" \
785785
"umaal %[b1], %[carry], %[scalar], %[a1] \n\t" \
786-
"str.w %[b0], [%[acc], #-8] \n\t" \
787-
"str.w %[b1], [%[acc], #-4] \n\t"
786+
"str %[b0], [%[acc], #-8] \n\t" \
787+
"str %[b1], [%[acc], #-4] \n\t"
788788

789789
#define MULADDC_X2_STOP \
790790
: [a0] "=&r" (tmp_a0), \

tests/scripts/all.sh

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2948,6 +2948,7 @@ component_build_armcc () {
29482948
scripts/config.py baremetal
29492949
# armc[56] don't support SHA-512 intrinsics
29502950
scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
2951+
scripts/config.py set MBEDTLS_HAVE_ASM
29512952

29522953
make CC="$ARMC5_CC" AR="$ARMC5_AR" WARNING_CFLAGS='--strict --c99' lib
29532954

@@ -2956,20 +2957,25 @@ component_build_armcc () {
29562957

29572958
make clean
29582959

2960+
# Compile with -O1 since some Arm inline assembly is disabled for -O0.
2961+
29592962
# ARM Compiler 6 - Target ARMv7-A
2960-
armc6_build_test "--target=arm-arm-none-eabi -march=armv7-a"
2963+
armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-a"
29612964

29622965
# ARM Compiler 6 - Target ARMv7-M
2963-
armc6_build_test "--target=arm-arm-none-eabi -march=armv7-m"
2966+
armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-m"
2967+
2968+
# ARM Compiler 6 - Target ARMv7-M+DSP
2969+
armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-m+dsp"
29642970

29652971
# ARM Compiler 6 - Target ARMv8-A - AArch32
2966-
armc6_build_test "--target=arm-arm-none-eabi -march=armv8.2-a"
2972+
armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv8.2-a"
29672973

29682974
# ARM Compiler 6 - Target ARMv8-M
2969-
armc6_build_test "--target=arm-arm-none-eabi -march=armv8-m.main"
2975+
armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv8-m.main"
29702976

29712977
# ARM Compiler 6 - Target ARMv8.2-A - AArch64
2972-
armc6_build_test "--target=aarch64-arm-none-eabi -march=armv8.2-a+crypto"
2978+
armc6_build_test "-O1 --target=aarch64-arm-none-eabi -march=armv8.2-a+crypto"
29732979
}
29742980

29752981
component_test_tls13_only () {

0 commit comments

Comments
 (0)