mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +02:00
Merge pull request #7753 from SparkiDev/cortexm_label_fix_2
Cortex-M/Thumb2 ASM: fix label
This commit is contained in:
@ -670,7 +670,7 @@ L_AES_invert_key_mix_loop:
|
||||
EOR r8, r8, r9, ROR #24
|
||||
STR r8, [r0], #4
|
||||
SUBS r11, r11, #0x1
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_invert_key_mix_loop
|
||||
#else
|
||||
BNE.W L_AES_invert_key_mix_loop
|
||||
@ -703,13 +703,13 @@ AES_set_encrypt_key:
|
||||
LDR r10, L_AES_Thumb2_te
|
||||
ADR lr, L_AES_Thumb2_rcon
|
||||
CMP r1, #0x80
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_set_encrypt_key_start_128
|
||||
#else
|
||||
BEQ.W L_AES_set_encrypt_key_start_128
|
||||
#endif
|
||||
CMP r1, #0xc0
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_set_encrypt_key_start_192
|
||||
#else
|
||||
BEQ.W L_AES_set_encrypt_key_start_192
|
||||
@ -1026,7 +1026,7 @@ L_AES_encrypt_block_nr:
|
||||
EOR r6, r6, r10
|
||||
EOR r7, r7, r11
|
||||
SUBS r1, r1, #0x1
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_encrypt_block_nr
|
||||
#else
|
||||
BNE.W L_AES_encrypt_block_nr
|
||||
@ -1154,13 +1154,13 @@ AES_ECB_encrypt:
|
||||
LDR r12, [sp, #36]
|
||||
PUSH {r3}
|
||||
CMP r12, #0xa
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_ECB_encrypt_start_block_128
|
||||
#else
|
||||
BEQ.W L_AES_ECB_encrypt_start_block_128
|
||||
#endif
|
||||
CMP r12, #0xc
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_ECB_encrypt_start_block_192
|
||||
#else
|
||||
BEQ.W L_AES_ECB_encrypt_start_block_192
|
||||
@ -1196,7 +1196,7 @@ L_AES_ECB_encrypt_loop_block_256:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_ECB_encrypt_loop_block_256
|
||||
#else
|
||||
BNE.W L_AES_ECB_encrypt_loop_block_256
|
||||
@ -1238,7 +1238,7 @@ L_AES_ECB_encrypt_loop_block_192:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_ECB_encrypt_loop_block_192
|
||||
#else
|
||||
BNE.W L_AES_ECB_encrypt_loop_block_192
|
||||
@ -1280,7 +1280,7 @@ L_AES_ECB_encrypt_loop_block_128:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_ECB_encrypt_loop_block_128
|
||||
#else
|
||||
BNE.W L_AES_ECB_encrypt_loop_block_128
|
||||
@ -1305,13 +1305,13 @@ AES_CBC_encrypt:
|
||||
LDM r9, {r4, r5, r6, r7}
|
||||
PUSH {r3, r9}
|
||||
CMP r8, #0xa
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_encrypt_start_block_128
|
||||
#else
|
||||
BEQ.W L_AES_CBC_encrypt_start_block_128
|
||||
#endif
|
||||
CMP r8, #0xc
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_encrypt_start_block_192
|
||||
#else
|
||||
BEQ.W L_AES_CBC_encrypt_start_block_192
|
||||
@ -1351,7 +1351,7 @@ L_AES_CBC_encrypt_loop_block_256:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CBC_encrypt_loop_block_256
|
||||
#else
|
||||
BNE.W L_AES_CBC_encrypt_loop_block_256
|
||||
@ -1397,7 +1397,7 @@ L_AES_CBC_encrypt_loop_block_192:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CBC_encrypt_loop_block_192
|
||||
#else
|
||||
BNE.W L_AES_CBC_encrypt_loop_block_192
|
||||
@ -1443,7 +1443,7 @@ L_AES_CBC_encrypt_loop_block_128:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CBC_encrypt_loop_block_128
|
||||
#else
|
||||
BNE.W L_AES_CBC_encrypt_loop_block_128
|
||||
@ -1474,13 +1474,13 @@ AES_CTR_encrypt:
|
||||
STM r8, {r4, r5, r6, r7}
|
||||
PUSH {r3, r8}
|
||||
CMP r12, #0xa
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CTR_encrypt_start_block_128
|
||||
#else
|
||||
BEQ.W L_AES_CTR_encrypt_start_block_128
|
||||
#endif
|
||||
CMP r12, #0xc
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CTR_encrypt_start_block_192
|
||||
#else
|
||||
BEQ.W L_AES_CTR_encrypt_start_block_192
|
||||
@ -1524,12 +1524,12 @@ L_AES_CTR_encrypt_loop_block_256:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CTR_encrypt_loop_block_256
|
||||
#else
|
||||
BNE.W L_AES_CTR_encrypt_loop_block_256
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
B L_AES_CTR_encrypt_end
|
||||
#else
|
||||
B.W L_AES_CTR_encrypt_end
|
||||
@ -1574,12 +1574,12 @@ L_AES_CTR_encrypt_loop_block_192:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CTR_encrypt_loop_block_192
|
||||
#else
|
||||
BNE.W L_AES_CTR_encrypt_loop_block_192
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
B L_AES_CTR_encrypt_end
|
||||
#else
|
||||
B.W L_AES_CTR_encrypt_end
|
||||
@ -1624,7 +1624,7 @@ L_AES_CTR_encrypt_loop_block_128:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CTR_encrypt_loop_block_128
|
||||
#else
|
||||
BNE.W L_AES_CTR_encrypt_loop_block_128
|
||||
@ -1750,7 +1750,7 @@ L_AES_decrypt_block_nr:
|
||||
EOR r6, r6, r10
|
||||
EOR r7, r7, r11
|
||||
SUBS r1, r1, #0x1
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_decrypt_block_nr
|
||||
#else
|
||||
BNE.W L_AES_decrypt_block_nr
|
||||
@ -2138,13 +2138,13 @@ AES_ECB_decrypt:
|
||||
MOV r12, r2
|
||||
ADR r2, L_AES_Thumb2_td4
|
||||
CMP r8, #0xa
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_ECB_decrypt_start_block_128
|
||||
#else
|
||||
BEQ.W L_AES_ECB_decrypt_start_block_128
|
||||
#endif
|
||||
CMP r8, #0xc
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_ECB_decrypt_start_block_192
|
||||
#else
|
||||
BEQ.W L_AES_ECB_decrypt_start_block_192
|
||||
@ -2179,7 +2179,7 @@ L_AES_ECB_decrypt_loop_block_256:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_ECB_decrypt_loop_block_256
|
||||
#else
|
||||
BNE.W L_AES_ECB_decrypt_loop_block_256
|
||||
@ -2220,7 +2220,7 @@ L_AES_ECB_decrypt_loop_block_192:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_ECB_decrypt_loop_block_192
|
||||
#else
|
||||
BNE.W L_AES_ECB_decrypt_loop_block_192
|
||||
@ -2261,7 +2261,7 @@ L_AES_ECB_decrypt_loop_block_128:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_ECB_decrypt_loop_block_128
|
||||
#else
|
||||
BNE.W L_AES_ECB_decrypt_loop_block_128
|
||||
@ -2286,13 +2286,13 @@ AES_CBC_decrypt:
|
||||
ADR r2, L_AES_Thumb2_td4
|
||||
PUSH {r3, r4}
|
||||
CMP r8, #0xa
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_decrypt_loop_block_128
|
||||
#else
|
||||
BEQ.W L_AES_CBC_decrypt_loop_block_128
|
||||
#endif
|
||||
CMP r8, #0xc
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_decrypt_loop_block_192
|
||||
#else
|
||||
BEQ.W L_AES_CBC_decrypt_loop_block_192
|
||||
@ -2337,7 +2337,7 @@ L_AES_CBC_decrypt_loop_block_256:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_decrypt_end_odd
|
||||
#else
|
||||
BEQ.W L_AES_CBC_decrypt_end_odd
|
||||
@ -2382,12 +2382,12 @@ L_AES_CBC_decrypt_loop_block_256:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CBC_decrypt_loop_block_256
|
||||
#else
|
||||
BNE.W L_AES_CBC_decrypt_loop_block_256
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
B L_AES_CBC_decrypt_end
|
||||
#else
|
||||
B.W L_AES_CBC_decrypt_end
|
||||
@ -2432,7 +2432,7 @@ L_AES_CBC_decrypt_loop_block_192:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_decrypt_end_odd
|
||||
#else
|
||||
BEQ.W L_AES_CBC_decrypt_end_odd
|
||||
@ -2477,12 +2477,12 @@ L_AES_CBC_decrypt_loop_block_192:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CBC_decrypt_loop_block_192
|
||||
#else
|
||||
BNE.W L_AES_CBC_decrypt_loop_block_192
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
B L_AES_CBC_decrypt_end
|
||||
#else
|
||||
B.W L_AES_CBC_decrypt_end
|
||||
@ -2527,7 +2527,7 @@ L_AES_CBC_decrypt_loop_block_128:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_CBC_decrypt_end_odd
|
||||
#else
|
||||
BEQ.W L_AES_CBC_decrypt_end_odd
|
||||
@ -2572,7 +2572,7 @@ L_AES_CBC_decrypt_loop_block_128:
|
||||
SUBS r12, r12, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_CBC_decrypt_loop_block_128
|
||||
#else
|
||||
BNE.W L_AES_CBC_decrypt_loop_block_128
|
||||
@ -3170,7 +3170,7 @@ L_GCM_gmult_len_start_block:
|
||||
POP {r3}
|
||||
SUBS r3, r3, #0x10
|
||||
ADD r2, r2, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_GCM_gmult_len_start_block
|
||||
#else
|
||||
BNE.W L_GCM_gmult_len_start_block
|
||||
@ -3202,13 +3202,13 @@ AES_GCM_encrypt:
|
||||
STM r8, {r4, r5, r6, r7}
|
||||
PUSH {r3, r8}
|
||||
CMP r12, #0xa
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_GCM_encrypt_start_block_128
|
||||
#else
|
||||
BEQ.W L_AES_GCM_encrypt_start_block_128
|
||||
#endif
|
||||
CMP r12, #0xc
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BEQ L_AES_GCM_encrypt_start_block_192
|
||||
#else
|
||||
BEQ.W L_AES_GCM_encrypt_start_block_192
|
||||
@ -3249,12 +3249,12 @@ L_AES_GCM_encrypt_loop_block_256:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_GCM_encrypt_loop_block_256
|
||||
#else
|
||||
BNE.W L_AES_GCM_encrypt_loop_block_256
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
B L_AES_GCM_encrypt_end
|
||||
#else
|
||||
B.W L_AES_GCM_encrypt_end
|
||||
@ -3296,12 +3296,12 @@ L_AES_GCM_encrypt_loop_block_192:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_GCM_encrypt_loop_block_192
|
||||
#else
|
||||
BNE.W L_AES_GCM_encrypt_loop_block_192
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
B L_AES_GCM_encrypt_end
|
||||
#else
|
||||
B.W L_AES_GCM_encrypt_end
|
||||
@ -3343,7 +3343,7 @@ L_AES_GCM_encrypt_loop_block_128:
|
||||
SUBS r2, r2, #0x10
|
||||
ADD lr, lr, #0x10
|
||||
ADD r1, r1, #0x10
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_AES_GCM_encrypt_loop_block_128
|
||||
#else
|
||||
BNE.W L_AES_GCM_encrypt_loop_block_128
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2741,7 +2741,7 @@ L_curve25519_bits:
|
||||
LDR r1, [sp, #180]
|
||||
SUBS r1, r1, #0x1
|
||||
STR r1, [sp, #180]
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BGE L_curve25519_bits
|
||||
#else
|
||||
BGE.W L_curve25519_bits
|
||||
@ -2750,7 +2750,7 @@ L_curve25519_bits:
|
||||
STR r1, [sp, #180]
|
||||
SUBS r2, r2, #0x4
|
||||
STR r2, [sp, #176]
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BGE L_curve25519_words
|
||||
#else
|
||||
BGE.W L_curve25519_words
|
||||
|
@ -2789,9 +2789,17 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"MOV %[a], #0x1c\n\t"
|
||||
"STR %[a], [sp, #176]\n\t"
|
||||
"\n"
|
||||
"L_curve25519_words%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_words:\n\t"
|
||||
#else
|
||||
"L_curve25519_words_%=:\n\t"
|
||||
#endif
|
||||
"\n"
|
||||
"L_curve25519_bits%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_bits:\n\t"
|
||||
#else
|
||||
"L_curve25519_bits_%=:\n\t"
|
||||
#endif
|
||||
"LDR %[n], [sp, #164]\n\t"
|
||||
"LDR %[a], [%[n], r2]\n\t"
|
||||
"LDR %[n], [sp, #180]\n\t"
|
||||
@ -2971,19 +2979,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"LDR %[n], [sp, #180]\n\t"
|
||||
"SUBS %[n], %[n], #0x1\n\t"
|
||||
"STR %[n], [sp, #180]\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BGE L_curve25519_bits%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BGE L_curve25519_bits_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BGE.W L_curve25519_bits\n\t"
|
||||
#else
|
||||
"BGE.W L_curve25519_bits%=\n\t"
|
||||
"BGE.W L_curve25519_bits_%=\n\t"
|
||||
#endif
|
||||
"MOV %[n], #0x1f\n\t"
|
||||
"STR %[n], [sp, #180]\n\t"
|
||||
"SUBS %[a], %[a], #0x4\n\t"
|
||||
"STR %[a], [sp, #176]\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BGE L_curve25519_words%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BGE L_curve25519_words_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BGE.W L_curve25519_words\n\t"
|
||||
#else
|
||||
"BGE.W L_curve25519_words%=\n\t"
|
||||
"BGE.W L_curve25519_words_%=\n\t"
|
||||
#endif
|
||||
/* Invert */
|
||||
"ADD r1, sp, #0x0\n\t"
|
||||
@ -3015,17 +3027,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x4\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_1%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_1:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_1_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_1%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_1_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_1\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_1%=\n\t"
|
||||
"BNE.N L_curve25519_inv_1_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3036,17 +3054,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x9\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_2%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_2:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_2_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_2%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_2_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_2\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_2%=\n\t"
|
||||
"BNE.N L_curve25519_inv_2_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3057,17 +3081,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x13\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_3%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_3:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_3_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
"ADD r0, sp, #0x80\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_3%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_3_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_3\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_3%=\n\t"
|
||||
"BNE.N L_curve25519_inv_3_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x60\n\t"
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
@ -3075,17 +3105,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0xa\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_4%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_4:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_4_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_4%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_4_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_4\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_4%=\n\t"
|
||||
"BNE.N L_curve25519_inv_4_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3096,17 +3132,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x31\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_5%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_5:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_5_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_5%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_5_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_5\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_5%=\n\t"
|
||||
"BNE.N L_curve25519_inv_5_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3117,17 +3159,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x63\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_6%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_6:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_6_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
"ADD r0, sp, #0x80\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_6%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_6_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_6\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_6%=\n\t"
|
||||
"BNE.N L_curve25519_inv_6_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x60\n\t"
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
@ -3135,17 +3183,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x32\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_7%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_7:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_7_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_7%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_7_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_7\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_7%=\n\t"
|
||||
"BNE.N L_curve25519_inv_7_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3153,17 +3207,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x5\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_8%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_8:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_8_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_8%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_8_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_8\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_8%=\n\t"
|
||||
"BNE.N L_curve25519_inv_8_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3227,7 +3287,11 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"STM r3, {r4, r5, r6, r7, r8, r9, r10, r11}\n\t"
|
||||
"MOV %[a], #0xfe\n\t"
|
||||
"\n"
|
||||
"L_curve25519_bits%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_bits:\n\t"
|
||||
#else
|
||||
"L_curve25519_bits_%=:\n\t"
|
||||
#endif
|
||||
"STR %[a], [sp, #168]\n\t"
|
||||
"LDR %[n], [sp, #160]\n\t"
|
||||
"AND r4, %[a], #0x1f\n\t"
|
||||
@ -3312,10 +3376,12 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"LDR %[a], [sp, #168]\n\t"
|
||||
"SUBS %[a], %[a], #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BGE L_curve25519_bits%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BGE L_curve25519_bits_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BGE.N L_curve25519_bits\n\t"
|
||||
#else
|
||||
"BGE.N L_curve25519_bits%=\n\t"
|
||||
"BGE.N L_curve25519_bits_%=\n\t"
|
||||
#endif
|
||||
/* Cycle Count: 171 */
|
||||
"LDR %[n], [sp, #184]\n\t"
|
||||
@ -3352,17 +3418,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x4\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_1%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_1:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_1_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_1%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_1_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_1\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_1%=\n\t"
|
||||
"BNE.N L_curve25519_inv_1_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3373,17 +3445,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x9\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_2%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_2:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_2_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_2%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_2_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_2\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_2%=\n\t"
|
||||
"BNE.N L_curve25519_inv_2_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3394,17 +3472,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x13\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_3%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_3:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_3_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
"ADD r0, sp, #0x80\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_3%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_3_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_3\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_3%=\n\t"
|
||||
"BNE.N L_curve25519_inv_3_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x60\n\t"
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
@ -3412,17 +3496,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0xa\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_4%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_4:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_4_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_4%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_4_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_4\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_4%=\n\t"
|
||||
"BNE.N L_curve25519_inv_4_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3433,17 +3523,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x31\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_5%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_5:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_5_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_5%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_5_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_5\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_5%=\n\t"
|
||||
"BNE.N L_curve25519_inv_5_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3454,17 +3550,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x63\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_6%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_6:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_6_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
"ADD r0, sp, #0x80\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_6%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_6_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_6\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_6%=\n\t"
|
||||
"BNE.N L_curve25519_inv_6_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x60\n\t"
|
||||
"ADD r1, sp, #0x80\n\t"
|
||||
@ -3472,17 +3574,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x32\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_7%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_7:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_7_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_7%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_7_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_7\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_7%=\n\t"
|
||||
"BNE.N L_curve25519_inv_7_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3490,17 +3598,23 @@ int curve25519(byte* r, const byte* n, const byte* a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x5\n\t"
|
||||
"\n"
|
||||
"L_curve25519_inv_8%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_curve25519_inv_8:\n\t"
|
||||
#else
|
||||
"L_curve25519_inv_8_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_curve25519_inv_8%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_curve25519_inv_8_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_curve25519_inv_8\n\t"
|
||||
#else
|
||||
"BNE.N L_curve25519_inv_8%=\n\t"
|
||||
"BNE.N L_curve25519_inv_8_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3582,17 +3696,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x4\n\t"
|
||||
"\n"
|
||||
"L_fe_invert1%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert1:\n\t"
|
||||
#else
|
||||
"L_fe_invert1_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert1%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert1_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert1\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert1%=\n\t"
|
||||
"BNE.N L_fe_invert1_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3603,17 +3723,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x9\n\t"
|
||||
"\n"
|
||||
"L_fe_invert2%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert2:\n\t"
|
||||
#else
|
||||
"L_fe_invert2_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert2%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert2_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert2\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert2%=\n\t"
|
||||
"BNE.N L_fe_invert2_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3624,17 +3750,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x13\n\t"
|
||||
"\n"
|
||||
"L_fe_invert3%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert3:\n\t"
|
||||
#else
|
||||
"L_fe_invert3_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert3%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert3_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert3\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert3%=\n\t"
|
||||
"BNE.N L_fe_invert3_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3642,17 +3774,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0xa\n\t"
|
||||
"\n"
|
||||
"L_fe_invert4%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert4:\n\t"
|
||||
#else
|
||||
"L_fe_invert4_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert4%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert4_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert4\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert4%=\n\t"
|
||||
"BNE.N L_fe_invert4_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3663,17 +3801,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x31\n\t"
|
||||
"\n"
|
||||
"L_fe_invert5%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert5:\n\t"
|
||||
#else
|
||||
"L_fe_invert5_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert5%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert5_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert5\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert5%=\n\t"
|
||||
"BNE.N L_fe_invert5_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3684,17 +3828,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x63\n\t"
|
||||
"\n"
|
||||
"L_fe_invert6%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert6:\n\t"
|
||||
#else
|
||||
"L_fe_invert6_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
"ADD r0, sp, #0x60\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert6%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert6_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert6\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert6%=\n\t"
|
||||
"BNE.N L_fe_invert6_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x40\n\t"
|
||||
"ADD r1, sp, #0x60\n\t"
|
||||
@ -3702,17 +3852,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x32\n\t"
|
||||
"\n"
|
||||
"L_fe_invert7%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert7:\n\t"
|
||||
#else
|
||||
"L_fe_invert7_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert7%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert7_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert7\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert7%=\n\t"
|
||||
"BNE.N L_fe_invert7_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -3720,17 +3876,23 @@ void fe_invert(fe r, const fe a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x5\n\t"
|
||||
"\n"
|
||||
"L_fe_invert8%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_invert8:\n\t"
|
||||
#else
|
||||
"L_fe_invert8_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
"ADD r0, sp, #0x20\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_invert8%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_invert8_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_invert8\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_invert8%=\n\t"
|
||||
"BNE.N L_fe_invert8_%=\n\t"
|
||||
#endif
|
||||
"MOV r2, sp\n\t"
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
@ -4268,17 +4430,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x4\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_1%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_1:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_1_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
"ADD r0, sp, #0x20\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_1%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_1_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_1\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_1%=\n\t"
|
||||
"BNE.N L_fe_pow22523_1_%=\n\t"
|
||||
#endif
|
||||
"MOV r2, sp\n\t"
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
@ -4289,17 +4457,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x9\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_2%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_2:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_2_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
"ADD r0, sp, #0x20\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_2%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_2_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_2\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_2%=\n\t"
|
||||
"BNE.N L_fe_pow22523_2_%=\n\t"
|
||||
#endif
|
||||
"MOV r2, sp\n\t"
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
@ -4310,17 +4484,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x13\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_3%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_3:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_3_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_3%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_3_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_3\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_3%=\n\t"
|
||||
"BNE.N L_fe_pow22523_3_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -4328,17 +4508,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0xa\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_4%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_4:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_4_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
"ADD r0, sp, #0x20\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_4%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_4_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_4\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_4%=\n\t"
|
||||
"BNE.N L_fe_pow22523_4_%=\n\t"
|
||||
#endif
|
||||
"MOV r2, sp\n\t"
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
@ -4349,17 +4535,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x31\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_5%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_5:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_5_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
"ADD r0, sp, #0x20\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_5%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_5_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_5\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_5%=\n\t"
|
||||
"BNE.N L_fe_pow22523_5_%=\n\t"
|
||||
#endif
|
||||
"MOV r2, sp\n\t"
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
@ -4370,17 +4562,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_sq_op\n\t"
|
||||
"MOV r12, #0x63\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_6%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_6:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_6_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
"ADD r0, sp, #0x40\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_6%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_6_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_6\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_6%=\n\t"
|
||||
"BNE.N L_fe_pow22523_6_%=\n\t"
|
||||
#endif
|
||||
"ADD r2, sp, #0x20\n\t"
|
||||
"ADD r1, sp, #0x40\n\t"
|
||||
@ -4388,17 +4586,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x32\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_7%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_7:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_7_%=:\n\t"
|
||||
#endif
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
"ADD r0, sp, #0x20\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_7%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_7_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_7\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_7%=\n\t"
|
||||
"BNE.N L_fe_pow22523_7_%=\n\t"
|
||||
#endif
|
||||
"MOV r2, sp\n\t"
|
||||
"ADD r1, sp, #0x20\n\t"
|
||||
@ -4406,17 +4610,23 @@ void fe_pow22523(fe r, const fe a)
|
||||
"BL fe_mul_op\n\t"
|
||||
"MOV r12, #0x2\n\t"
|
||||
"\n"
|
||||
"L_fe_pow22523_8%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_fe_pow22523_8:\n\t"
|
||||
#else
|
||||
"L_fe_pow22523_8_%=:\n\t"
|
||||
#endif
|
||||
"MOV r1, sp\n\t"
|
||||
"MOV r0, sp\n\t"
|
||||
"PUSH {r12}\n\t"
|
||||
"BL fe_sq_op\n\t"
|
||||
"POP {r12}\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
"BNE L_fe_pow22523_8%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_fe_pow22523_8_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.N L_fe_pow22523_8\n\t"
|
||||
#else
|
||||
"BNE.N L_fe_pow22523_8%=\n\t"
|
||||
"BNE.N L_fe_pow22523_8_%=\n\t"
|
||||
#endif
|
||||
"LDR r2, [sp, #100]\n\t"
|
||||
"MOV r1, sp\n\t"
|
||||
|
@ -925,7 +925,7 @@ L_SHA256_transform_len_start:
|
||||
STR r9, [sp, #60]
|
||||
ADD r3, r3, #0x40
|
||||
SUBS r12, r12, #0x1
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_SHA256_transform_len_start
|
||||
#else
|
||||
BNE.W L_SHA256_transform_len_start
|
||||
@ -1470,7 +1470,7 @@ L_SHA256_transform_len_start:
|
||||
SUBS r2, r2, #0x40
|
||||
SUB r3, r3, #0xc0
|
||||
ADD r1, r1, #0x40
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_SHA256_transform_len_begin
|
||||
#else
|
||||
BNE.W L_SHA256_transform_len_begin
|
||||
|
@ -94,7 +94,11 @@ void Transform_Sha256_Len(wc_Sha256* sha256, const byte* data, word32 len)
|
||||
"STRD r10, r11, [sp, #88]\n\t"
|
||||
/* Start of loop processing a block */
|
||||
"\n"
|
||||
"L_SHA256_transform_len_begin%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_SHA256_transform_len_begin:\n\t"
|
||||
#else
|
||||
"L_SHA256_transform_len_begin_%=:\n\t"
|
||||
#endif
|
||||
/* Load, Reverse and Store W - 64 bytes */
|
||||
"LDR r4, [%[data]]\n\t"
|
||||
"LDR r5, [%[data], #4]\n\t"
|
||||
@ -142,7 +146,11 @@ void Transform_Sha256_Len(wc_Sha256* sha256, const byte* data, word32 len)
|
||||
"MOV r12, #0x3\n\t"
|
||||
/* Start of 16 rounds */
|
||||
"\n"
|
||||
"L_SHA256_transform_len_start%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_SHA256_transform_len_start:\n\t"
|
||||
#else
|
||||
"L_SHA256_transform_len_start_%=:\n\t"
|
||||
#endif
|
||||
/* Round 0 */
|
||||
"LDR r5, [%[sha256], #16]\n\t"
|
||||
"LDR r6, [%[sha256], #20]\n\t"
|
||||
@ -897,10 +905,12 @@ void Transform_Sha256_Len(wc_Sha256* sha256, const byte* data, word32 len)
|
||||
"STR r9, [sp, #60]\n\t"
|
||||
"ADD r3, r3, #0x40\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BNE L_SHA256_transform_len_start%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_SHA256_transform_len_start_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.W L_SHA256_transform_len_start\n\t"
|
||||
#else
|
||||
"BNE.W L_SHA256_transform_len_start%=\n\t"
|
||||
"BNE.W L_SHA256_transform_len_start_%=\n\t"
|
||||
#endif
|
||||
/* Round 0 */
|
||||
"LDR r5, [%[sha256], #16]\n\t"
|
||||
@ -1442,10 +1452,12 @@ void Transform_Sha256_Len(wc_Sha256* sha256, const byte* data, word32 len)
|
||||
"SUBS %[len], %[len], #0x40\n\t"
|
||||
"SUB r3, r3, #0xc0\n\t"
|
||||
"ADD %[data], %[data], #0x40\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BNE L_SHA256_transform_len_begin%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_SHA256_transform_len_begin_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.W L_SHA256_transform_len_begin\n\t"
|
||||
#else
|
||||
"BNE.W L_SHA256_transform_len_begin%=\n\t"
|
||||
"BNE.W L_SHA256_transform_len_begin_%=\n\t"
|
||||
#endif
|
||||
"ADD sp, sp, #0xc0\n\t"
|
||||
#ifndef WOLFSSL_NO_VAR_ASSIGN_REG
|
||||
|
@ -1157,7 +1157,7 @@ L_sha3_thumb2_begin:
|
||||
STR lr, [r0, #164]
|
||||
LDR r2, [sp, #200]
|
||||
SUBS r2, r2, #0x1
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_sha3_thumb2_begin
|
||||
#else
|
||||
BNE.W L_sha3_thumb2_begin
|
||||
|
@ -77,7 +77,11 @@ void BlockSha3(word64* state)
|
||||
"MOV r1, %[L_sha3_thumb2_rt]\n\t"
|
||||
"MOV r2, #0xc\n\t"
|
||||
"\n"
|
||||
"L_sha3_thumb2_begin%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_sha3_thumb2_begin:\n\t"
|
||||
#else
|
||||
"L_sha3_thumb2_begin_%=:\n\t"
|
||||
#endif
|
||||
"STR r2, [sp, #200]\n\t"
|
||||
/* Round even */
|
||||
/* Calc b[4] */
|
||||
@ -1137,10 +1141,12 @@ void BlockSha3(word64* state)
|
||||
"STR lr, [%[state], #164]\n\t"
|
||||
"LDR r2, [sp, #200]\n\t"
|
||||
"SUBS r2, r2, #0x1\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BNE L_sha3_thumb2_begin%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_sha3_thumb2_begin_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.W L_sha3_thumb2_begin\n\t"
|
||||
#else
|
||||
"BNE.W L_sha3_thumb2_begin%=\n\t"
|
||||
"BNE.W L_sha3_thumb2_begin_%=\n\t"
|
||||
#endif
|
||||
"ADD sp, sp, #0xcc\n\t"
|
||||
#ifndef WOLFSSL_NO_VAR_ASSIGN_REG
|
||||
|
@ -2319,7 +2319,7 @@ L_SHA512_transform_len_start:
|
||||
STRD r4, r5, [sp, #120]
|
||||
ADD r3, r3, #0x80
|
||||
SUBS r12, r12, #0x1
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_SHA512_transform_len_start
|
||||
#else
|
||||
BNE.W L_SHA512_transform_len_start
|
||||
@ -3656,7 +3656,7 @@ L_SHA512_transform_len_start:
|
||||
SUBS r2, r2, #0x80
|
||||
SUB r3, r3, #0x200
|
||||
ADD r1, r1, #0x80
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__ICCARM__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
BNE L_SHA512_transform_len_begin
|
||||
#else
|
||||
BNE.W L_SHA512_transform_len_begin
|
||||
|
@ -126,7 +126,11 @@ void Transform_Sha512_Len(wc_Sha512* sha512, const byte* data, word32 len)
|
||||
"STRD r10, r11, [sp, #184]\n\t"
|
||||
/* Start of loop processing a block */
|
||||
"\n"
|
||||
"L_SHA512_transform_len_begin%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_SHA512_transform_len_begin:\n\t"
|
||||
#else
|
||||
"L_SHA512_transform_len_begin_%=:\n\t"
|
||||
#endif
|
||||
/* Load, Reverse and Store W */
|
||||
"LDR r4, [%[data]]\n\t"
|
||||
"LDR r5, [%[data], #4]\n\t"
|
||||
@ -232,7 +236,11 @@ void Transform_Sha512_Len(wc_Sha512* sha512, const byte* data, word32 len)
|
||||
"MOV r12, #0x4\n\t"
|
||||
/* Start of 16 rounds */
|
||||
"\n"
|
||||
"L_SHA512_transform_len_start%=:\n\t"
|
||||
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"L_SHA512_transform_len_start:\n\t"
|
||||
#else
|
||||
"L_SHA512_transform_len_start_%=:\n\t"
|
||||
#endif
|
||||
/* Round 0 */
|
||||
"LDRD r4, r5, [%[sha512], #32]\n\t"
|
||||
"LSRS r6, r4, #14\n\t"
|
||||
@ -2219,10 +2227,12 @@ void Transform_Sha512_Len(wc_Sha512* sha512, const byte* data, word32 len)
|
||||
"STRD r4, r5, [sp, #120]\n\t"
|
||||
"ADD r3, r3, #0x80\n\t"
|
||||
"SUBS r12, r12, #0x1\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BNE L_SHA512_transform_len_start%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_SHA512_transform_len_start_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.W L_SHA512_transform_len_start\n\t"
|
||||
#else
|
||||
"BNE.W L_SHA512_transform_len_start%=\n\t"
|
||||
"BNE.W L_SHA512_transform_len_start_%=\n\t"
|
||||
#endif
|
||||
/* Round 0 */
|
||||
"LDRD r4, r5, [%[sha512], #32]\n\t"
|
||||
@ -3556,10 +3566,12 @@ void Transform_Sha512_Len(wc_Sha512* sha512, const byte* data, word32 len)
|
||||
"SUBS %[len], %[len], #0x80\n\t"
|
||||
"SUB r3, r3, #0x200\n\t"
|
||||
"ADD %[data], %[data], #0x80\n\t"
|
||||
#ifdef __GNUC__
|
||||
"BNE L_SHA512_transform_len_begin%=\n\t"
|
||||
#if defined(__GNUC__)
|
||||
"BNE L_SHA512_transform_len_begin_%=\n\t"
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 9000000)
|
||||
"BNE.W L_SHA512_transform_len_begin\n\t"
|
||||
#else
|
||||
"BNE.W L_SHA512_transform_len_begin%=\n\t"
|
||||
"BNE.W L_SHA512_transform_len_begin_%=\n\t"
|
||||
#endif
|
||||
"EOR r0, r0, r0\n\t"
|
||||
"ADD sp, sp, #0xc0\n\t"
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user