Skip to content

Commit 37909e9

Browse files
authored
Merge pull request #8561 from SparkiDev/poly1305-arm32-asm-fix
Poly1305 ARM32 assembly code: loading with ldm
2 parents 2125cbd + 97a6466 commit 37909e9

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

wolfcrypt/src/port/arm/armv8-32-poly1305-asm.S

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -815,7 +815,10 @@ L_poly1305_arm32_blocks_start_1:
815815
mov r12, #1
816816
push {r2}
817817
# Load message
818-
ldm r1, {r2, r3, r4, r5}
818+
ldr r2, [r1]
819+
ldr r3, [r1, #4]
820+
ldr r4, [r1, #8]
821+
ldr r5, [r1, #12]
819822
# Add message
820823
adds r7, r7, r2
821824
adcs r8, r8, r3

wolfcrypt/src/port/arm/armv8-32-poly1305-asm_c.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -870,7 +870,10 @@ void poly1305_arm32_blocks(Poly1305* ctx_p, const unsigned char* m_p,
870870
"mov r12, #1\n\t"
871871
"push {r2}\n\t"
872872
/* Load message */
873-
"ldm %[m], {r2, r3, r4, r5}\n\t"
873+
"ldr %[bytes], [%[m]]\n\t"
874+
"ldr r3, [%[m], #4]\n\t"
875+
"ldr r4, [%[m], #8]\n\t"
876+
"ldr r5, [%[m], #12]\n\t"
874877
/* Add message */
875878
"adds r7, r7, %[bytes]\n\t"
876879
"adcs r8, r8, r3\n\t"

0 commit comments

Comments
 (0)