diff --git a/wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c b/wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c index b6d07ed9d..fbc60fbdf 100644 --- a/wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c +++ b/wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c @@ -403,7 +403,7 @@ void AES_invert_key(unsigned char* ks_p, word32 rounds_p) "bne L_AES_invert_key_mix_loop_%=\n\t" : [ks] "+r" (ks), [rounds] "+r" (rounds), [L_AES_ARM32_te] "+r" (L_AES_ARM32_te_c), [L_AES_ARM32_td] "+r" (L_AES_ARM32_td_c) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -924,7 +924,7 @@ void AES_set_encrypt_key(const unsigned char* key_p, word32 len_p, unsigned char "L_AES_set_encrypt_key_end_%=: \n\t" : [key] "+r" (key), [len] "+r" (len), [ks] "+r" (ks), [L_AES_ARM32_te] "+r" (L_AES_ARM32_te_c), [L_AES_ARM32_rcon] "+r" (L_AES_ARM32_rcon_c) : - : "memory", "r12", "lr", "r5", "r6", "r7", "r8" + : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "cc" ); } @@ -1575,7 +1575,7 @@ void AES_encrypt_block(const uint32_t* te_p, int nr_p, int len_p, const uint32_t "eor r7, r7, r11\n\t" : [te] "+r" (te), [nr] "+r" (nr), [len] "+r" (len), [ks] "+r" (ks) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -1824,7 +1824,7 @@ void AES_ECB_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l "pop {%[ks]}\n\t" : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [L_AES_ARM32_te_ecb] "+r" (L_AES_ARM32_te_ecb_c) : - : "memory", "r12", "lr", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -2090,7 +2090,7 @@ void AES_CBC_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l "stm r9, {r4, r5, r6, r7}\n\t" : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [iv] "+r" (iv), [L_AES_ARM32_te_cbc] "+r" (L_AES_ARM32_te_cbc_c) : - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -2358,7 +2358,7 @@ void AES_CTR_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l "stm r8, {r4, r5, r6, r7}\n\t" : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [ctr] "+r" (ctr), [L_AES_ARM32_te_ctr] "+r" (L_AES_ARM32_te_ctr_c) : - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -3011,7 +3011,7 @@ void AES_decrypt_block(const uint32_t* td_p, int nr_p, const uint8_t* td4_p) "eor r7, r7, r11\n\t" : [td] "+r" (td), [nr] "+r" (nr), [td4] "+r" (td4) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -3293,7 +3293,7 @@ void AES_ECB_decrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l "L_AES_ECB_decrypt_end_%=: \n\t" : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [L_AES_ARM32_td_ecb] "+r" (L_AES_ARM32_td_ecb_c), [L_AES_ARM32_td4] "+r" (L_AES_ARM32_td4_c) : - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -3925,7 +3925,7 @@ void AES_CBC_decrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l "pop {%[ks]-r4}\n\t" : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [iv] "+r" (iv), [L_AES_ARM32_td_ecb] "+r" (L_AES_ARM32_td_ecb_c), [L_AES_ARM32_td4] "+r" (L_AES_ARM32_td4_c) : - : "memory", "r12", "lr", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r8", "r9", "r10", "r11", "cc" ); } @@ -4523,7 +4523,7 @@ void GCM_gmult_len(unsigned char* x_p, const unsigned char** m_p, const unsigned "bne L_GCM_gmult_len_start_block_%=\n\t" : [x] "+r" (x), [m] "+r" (m), [data] "+r" (data), [len] "+r" (len), [L_GCM_gmult_len_r] "+r" (L_GCM_gmult_len_r_c) : - : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -4780,7 +4780,7 @@ void AES_GCM_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l "stm r8, {r4, r5, r6, r7}\n\t" : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [ctr] "+r" (ctr), [L_AES_ARM32_te_gcm] "+r" (L_AES_ARM32_te_gcm_c) : - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } diff --git a/wolfcrypt/src/port/arm/armv8-32-curve25519_c.c b/wolfcrypt/src/port/arm/armv8-32-curve25519_c.c index eacdd1c92..8981d4f0e 100644 --- a/wolfcrypt/src/port/arm/armv8-32-curve25519_c.c +++ b/wolfcrypt/src/port/arm/armv8-32-curve25519_c.c @@ -68,7 +68,7 @@ void fe_init() "\n\t" : : - : "memory" + : "memory", "cc" ); } @@ -282,7 +282,7 @@ void fe_add_sub_op() /* Done Add-Sub */ : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -324,7 +324,7 @@ void fe_sub_op() /* Done Sub */ : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -338,7 +338,7 @@ void fe_sub(fe r_p, const fe a_p, const fe b_p) "bl fe_sub_op\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -381,7 +381,7 @@ void fe_add_op() /* Done Add */ : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -395,7 +395,7 @@ void fe_add(fe r_p, const fe a_p, const fe b_p) "bl fe_add_op\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -429,7 +429,7 @@ void fe_frombytes(fe out_p, const unsigned char* in_p) "str r9, [%[out], #28]\n\t" : [out] "+r" (out), [in] "+r" (in) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -473,7 +473,7 @@ void fe_tobytes(unsigned char* out_p, const fe n_p) "str r9, [%[out], #28]\n\t" : [out] "+r" (out), [n] "+r" (n) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "cc" ); } @@ -494,7 +494,7 @@ void fe_1(fe n_p) "stm %[n], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [n] "+r" (n) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -515,7 +515,7 @@ void fe_0(fe n_p) "stm %[n], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [n] "+r" (n) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -576,7 +576,7 @@ void fe_copy(fe r_p, const fe a_p) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); } @@ -603,7 +603,7 @@ void fe_neg(fe r_p, const fe a_p) "stm %[r]!, {r2, r3, r4, r5}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r12", "lr", "cc" ); } @@ -645,7 +645,7 @@ int fe_isnonzero(const fe a_p) "orr %[a], r2, r4\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "cc" ); return (uint32_t)(size_t)a; } @@ -671,7 +671,7 @@ int fe_isnegative(const fe a_p) "eor %[a], %[a], r1\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5" + : "memory", "r1", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -2407,7 +2407,7 @@ void fe_cmov_table(fe* r_p, fe* base_p, signed char b_p) #endif : [r] "+r" (r), [base] "+r" (base), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r3", "r10", "r11", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r3", "r10", "r11", "r12", "lr", "cc" ); } @@ -2527,7 +2527,7 @@ void fe_cmov_table(fe* r_p, fe* base_p, signed char b_p) "sub %[base], %[base], %[b]\n\t" : [r] "+r" (r), [base] "+r" (base), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -2914,7 +2914,7 @@ void fe_mul_op() "add sp, sp, #40\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -3057,7 +3057,7 @@ void fe_mul_op() "add sp, sp, #16\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -3072,7 +3072,7 @@ void fe_mul(fe r_p, const fe a_p, const fe b_p) "bl fe_mul_op\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -3349,7 +3349,7 @@ void fe_sq_op() "add sp, sp, #0x44\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -3478,7 +3478,7 @@ void fe_sq_op() "stm lr, {r0, r1, r2, r3, r4, r5, r6, r7}\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -3492,7 +3492,7 @@ void fe_sq(fe r_p, const fe a_p) "bl fe_sq_op\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "r11", "cc" ); } @@ -3564,7 +3564,7 @@ void fe_mul121666(fe r_p, fe a_p) "stm %[r], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "cc" ); } @@ -3622,7 +3622,7 @@ void fe_mul121666(fe r_p, fe a_p) "stm %[r], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "cc" ); } @@ -4012,7 +4012,7 @@ int curve25519(byte* r_p, const byte* n_p, const byte* a_p) "add sp, sp, #0xbc\n\t" : [r] "+r" (r), [n] "+r" (n), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -4325,7 +4325,7 @@ int curve25519(byte* r_p, const byte* n_p, const byte* a_p) "add sp, sp, #0xc0\n\t" : [r] "+r" (r), [n] "+r" (n), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -4499,7 +4499,7 @@ void fe_invert(fe r_p, const fe a_p) "add sp, sp, #0x88\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -4819,7 +4819,7 @@ void fe_sq2(fe r_p, const fe a_p) "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -4998,7 +4998,7 @@ void fe_sq2(fe r_p, const fe a_p) "mov r1, lr\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -5169,7 +5169,7 @@ void fe_pow22523(fe r_p, const fe a_p) "add sp, sp, #0x68\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -5199,7 +5199,7 @@ void ge_p1p1_to_p2(ge_p2 * r_p, const ge_p1p1 * p_p) "add sp, sp, #8\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "lr", "r2", "r3", "r12", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "lr", "r2", "r3", "r12", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -5234,7 +5234,7 @@ void ge_p1p1_to_p3(ge_p3 * r_p, const ge_p1p1 * p_p) "add sp, sp, #8\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "lr", "r2", "r3", "r12", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "lr", "r2", "r3", "r12", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -5281,7 +5281,7 @@ void ge_p2_dbl(ge_p1p1 * r_p, const ge_p2 * p_p) "add sp, sp, #8\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5367,7 +5367,7 @@ void ge_madd(ge_p1p1 * r_p, const ge_p3 * p_p, const ge_precomp * q_p) "add sp, sp, #12\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5454,7 +5454,7 @@ void ge_msub(ge_p1p1 * r_p, const ge_p3 * p_p, const ge_precomp * q_p) "add sp, sp, #12\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5541,7 +5541,7 @@ void ge_add(ge_p1p1 * r_p, const ge_p3 * p_p, const ge_cached* q_p) "add sp, sp, #44\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5628,7 +5628,7 @@ void ge_sub(ge_p1p1 * r_p, const ge_p3 * p_p, const ge_cached* q_p) "add sp, sp, #44\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -6408,7 +6408,7 @@ void sc_reduce(byte* s_p) "add sp, sp, #56\n\t" : [s] "+r" (s) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -7059,7 +7059,7 @@ void sc_reduce(byte* s_p) "add sp, sp, #56\n\t" : [s] "+r" (s) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -8201,7 +8201,7 @@ void sc_muladd(byte* s_p, const byte* a_p, const byte* b_p, const byte* c_p) "add sp, sp, #0x50\n\t" : [s] "+r" (s), [a] "+r" (a), [b] "+r" (b), [c] "+r" (c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -8985,7 +8985,7 @@ void sc_muladd(byte* s_p, const byte* a_p, const byte* b_p, const byte* c_p) "add sp, sp, #0x50\n\t" : [s] "+r" (s), [a] "+r" (a), [b] "+r" (b), [c] "+r" (c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } diff --git a/wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c b/wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c index e281bd1dd..3a5e200e6 100644 --- a/wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c +++ b/wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c @@ -1734,7 +1734,7 @@ void Transform_Sha256_Len(wc_Sha256* sha256_p, const byte* data_p, word32 len_p) "add sp, sp, #0xc0\n\t" : [sha256] "+r" (sha256), [data] "+r" (data), [len] "+r" (len), [L_SHA256_transform_len_k] "+r" (L_SHA256_transform_len_k_c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -2796,7 +2796,7 @@ void Transform_Sha256_Len(wc_Sha256* sha256_p, const byte* data_p, word32 len_p) "add sp, sp, #24\n\t" : [sha256] "+r" (sha256), [data] "+r" (data), [len] "+r" (len), [L_SHA256_transform_neon_len_k] "+r" (L_SHA256_transform_neon_len_k_c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11", "cc" ); } diff --git a/wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c b/wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c index c2ffa77b9..32c54d102 100644 --- a/wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c +++ b/wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c @@ -7603,7 +7603,7 @@ void Transform_Sha512_Len(wc_Sha512* sha512_p, const byte* data_p, word32 len_p) "add sp, sp, #0xc0\n\t" : [sha512] "+r" (sha512), [data] "+r" (data), [len] "+r" (len), [L_SHA512_transform_len_k] "+r" (L_SHA512_transform_len_k_c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -9153,7 +9153,7 @@ void Transform_Sha512_Len(wc_Sha512* sha512_p, const byte* data_p, word32 len_p) "bne L_SHA512_transform_neon_len_begin_%=\n\t" : [sha512] "+r" (sha512), [data] "+r" (data), [len] "+r" (len), [L_SHA512_transform_neon_len_k] "+r" (L_SHA512_transform_neon_len_k_c) : - : "memory", "r12", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15", "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" + : "memory", "r12", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15", "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15", "cc" ); } diff --git a/wolfcrypt/src/port/arm/armv8-curve25519_c.c b/wolfcrypt/src/port/arm/armv8-curve25519_c.c index f58b4365c..c9a98222e 100644 --- a/wolfcrypt/src/port/arm/armv8-curve25519_c.c +++ b/wolfcrypt/src/port/arm/armv8-curve25519_c.c @@ -46,7 +46,7 @@ void fe_init() "\n\t" : : - : "memory" + : "memory", "cc" ); } @@ -61,7 +61,7 @@ void fe_frombytes(fe out, const unsigned char* in) "stp x4, x5, [%x[out], #16]\n\t" : [out] "+r" (out), [in] "+r" (in) : - : "memory", "x2", "x3", "x4", "x5", "x6" + : "memory", "x2", "x3", "x4", "x5", "x6", "cc" ); } @@ -85,7 +85,7 @@ void fe_tobytes(unsigned char* out, const fe n) "stp x4, x5, [%x[out], #16]\n\t" : [out] "+r" (out), [n] "+r" (n) : - : "memory", "x2", "x3", "x4", "x5", "x6", "x7" + : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "cc" ); } @@ -98,7 +98,7 @@ void fe_1(fe n) "stp xzr, xzr, [%x[n], #16]\n\t" : [n] "+r" (n) : - : "memory", "x1" + : "memory", "x1", "cc" ); } @@ -110,7 +110,7 @@ void fe_0(fe n) "stp xzr, xzr, [%x[n], #16]\n\t" : [n] "+r" (n) : - : "memory" + : "memory", "cc" ); } @@ -124,7 +124,7 @@ void fe_copy(fe r, const fe a) "stp x4, x5, [%x[r], #16]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "x2", "x3", "x4", "x5" + : "memory", "x2", "x3", "x4", "x5", "cc" ); } @@ -155,7 +155,7 @@ void fe_sub(fe r, const fe a, const fe b) "stp x5, x6, [%x[r], #16]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "cc" ); } @@ -186,7 +186,7 @@ void fe_add(fe r, const fe a, const fe b) "stp x5, x6, [%x[r], #16]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "cc" ); } @@ -207,7 +207,7 @@ void fe_neg(fe r, const fe a) "stp x8, x9, [%x[r], #16]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9" + : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "cc" ); } @@ -232,7 +232,7 @@ int fe_isnonzero(const fe a) "orr %x[a], %x[a], x3\n\t" : [a] "+r" (a) : - : "memory", "x1", "x2", "x3", "x4", "x5", "x6" + : "memory", "x1", "x2", "x3", "x4", "x5", "x6", "cc" ); return (uint32_t)(size_t)a; } @@ -251,7 +251,7 @@ int fe_isnegative(const fe a) "eor %x[a], %x[a], x5, lsr 63\n\t" : [a] "+r" (a) : - : "memory", "x1", "x2", "x3", "x4", "x5", "x6" + : "memory", "x1", "x2", "x3", "x4", "x5", "x6", "cc" ); return (uint32_t)(size_t)a; } @@ -466,7 +466,7 @@ void fe_cmov_table(fe* r, fe* base, signed char b) "ldp x29, x30, [sp], #32\n\t" : [r] "+r" (r), [base] "+r" (base), [b] "+r" (b) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); } @@ -602,7 +602,7 @@ void fe_mul(fe r, const fe a, const fe b) "stp x8, x9, [%x[r], #16]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "cc" ); } @@ -704,7 +704,7 @@ void fe_sq(fe r, const fe a) "stp x7, x8, [%x[r], #16]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16" + : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "cc" ); } @@ -1581,7 +1581,7 @@ void fe_invert(fe r, const fe a) "ldp x29, x30, [sp], #0xa0\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "x2", "x20", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17" + : "memory", "x2", "x20", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "cc" ); } @@ -3681,7 +3681,7 @@ int curve25519(byte* r, const byte* n, const byte* a) "ldp x29, x30, [sp], #0xc0\n\t" : [r] "+r" (r), [n] "+r" (n), [a] "+r" (a) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); return (uint32_t)(size_t)r; } @@ -4491,7 +4491,7 @@ void fe_pow22523(fe r, const fe a) "ldp x29, x30, [sp], #0x80\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "x2", "x23", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17" + : "memory", "x2", "x23", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "cc" ); } @@ -4861,7 +4861,7 @@ void ge_p1p1_to_p2(ge_p2* r, const ge_p1p1* p) "ldp x29, x30, [sp], #32\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22" + : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "cc" ); } @@ -5347,7 +5347,7 @@ void ge_p1p1_to_p3(ge_p3* r, const ge_p1p1* p) "ldp x29, x30, [sp], #32\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26" + : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "cc" ); } @@ -5808,7 +5808,7 @@ void ge_p2_dbl(ge_p1p1* r, const ge_p2* p) "ldp x29, x30, [sp], #32\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); } @@ -6304,7 +6304,7 @@ void ge_madd(ge_p1p1* r, const ge_p3* p, const ge_precomp* q) "ldp x29, x30, [sp], #48\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); } @@ -6800,7 +6800,7 @@ void ge_msub(ge_p1p1* r, const ge_p3* p, const ge_precomp* q) "ldp x29, x30, [sp], #48\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); } @@ -7422,7 +7422,7 @@ void ge_add(ge_p1p1* r, const ge_p3* p, const ge_cached* q) "ldp x29, x30, [sp], #48\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); } @@ -8059,7 +8059,7 @@ void ge_sub(ge_p1p1* r, const ge_p3* p, const ge_cached* q) "ldp x29, x30, [sp], #48\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "cc" ); } @@ -8242,7 +8242,7 @@ void sc_reduce(byte* s) "stp x4, x5, [%x[s], #16]\n\t" : [s] "+r" (s) : - : "memory", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23" + : "memory", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "cc" ); } @@ -8521,7 +8521,7 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) "stp x6, x7, [%x[s], #16]\n\t" : [s] "+r" (s), [a] "+r" (a), [b] "+r" (b), [c] "+r" (c) : - : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26" + : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "cc" ); } diff --git a/wolfcrypt/src/port/arm/armv8-sha3-asm_c.c b/wolfcrypt/src/port/arm/armv8-sha3-asm_c.c index 3ac7e65eb..1f2d04084 100644 --- a/wolfcrypt/src/port/arm/armv8-sha3-asm_c.c +++ b/wolfcrypt/src/port/arm/armv8-sha3-asm_c.c @@ -177,7 +177,7 @@ void BlockSha3(unsigned long* state) "st1 {v24.1d}, [%x[state]]\n\t" : [state] "+r" (state) : [L_SHA3_transform_crypto_r] "S" (L_SHA3_transform_crypto_r) - : "memory", "x1", "x2", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31" + : "memory", "x1", "x2", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31", "cc" ); } diff --git a/wolfcrypt/src/port/arm/armv8-sha512-asm_c.c b/wolfcrypt/src/port/arm/armv8-sha512-asm_c.c index 35053198f..027dc8a13 100644 --- a/wolfcrypt/src/port/arm/armv8-sha512-asm_c.c +++ b/wolfcrypt/src/port/arm/armv8-sha512-asm_c.c @@ -1049,7 +1049,7 @@ void Transform_Sha512_Len_neon(wc_Sha512* sha512, const byte* data, word32 len) "stp x10, x11, [%x[sha512], #48]\n\t" : [sha512] "+r" (sha512), [data] "+r" (data), [len] "+r" (len) : [L_SHA512_transform_neon_len_k] "S" (L_SHA512_transform_neon_len_k), [L_SHA512_transform_neon_len_ror8] "S" (L_SHA512_transform_neon_len_ror8) - : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11" + : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "cc" ); } @@ -1659,7 +1659,7 @@ void Transform_Sha512_Len_crypto(wc_Sha512* sha512, const byte* data, word32 len "st1 {v24.2d, v25.2d, v26.2d, v27.2d}, [%x[sha512]]\n\t" : [sha512] "+r" (sha512), [data] "+r" (data), [len] "+r" (len) : [L_SHA512_transform_crypto_len_k] "S" (L_SHA512_transform_crypto_len_k) - : "memory", "x3", "x4", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31" + : "memory", "x3", "x4", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31", "cc" ); } diff --git a/wolfcrypt/src/port/arm/thumb2-aes-asm_c.c b/wolfcrypt/src/port/arm/thumb2-aes-asm_c.c index 7d5357f1a..545313164 100644 --- a/wolfcrypt/src/port/arm/thumb2-aes-asm_c.c +++ b/wolfcrypt/src/port/arm/thumb2-aes-asm_c.c @@ -314,7 +314,7 @@ void AES_invert_key(unsigned char* ks, word32 rounds) : [ks] "+r" (ks), [rounds] "+r" (rounds) : [L_AES_Thumb2_te] "r" (L_AES_Thumb2_te), [L_AES_Thumb2_td] "r" (L_AES_Thumb2_td) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -562,7 +562,7 @@ void AES_set_encrypt_key(const unsigned char* key, word32 len, unsigned char* ks : [key] "+r" (key), [len] "+r" (len), [ks] "+r" (ks) : [L_AES_Thumb2_te] "r" (L_AES_Thumb2_te), [L_AES_Thumb2_rcon] "r" (L_AES_Thumb2_rcon) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); } @@ -791,7 +791,7 @@ void AES_encrypt_block(const uint32_t* te, int nr, int len, const uint32_t* ks) "EOR r7, r7, r11\n\t" : [te] "+r" (te), [nr] "+r" (nr), [len] "+r" (len), [ks] "+r" (ks) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -973,7 +973,7 @@ void AES_ECB_encrypt(const unsigned char* in, unsigned char* out, unsigned long : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr) : [L_AES_Thumb2_te_ecb] "r" (L_AES_Thumb2_te_ecb) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -1173,7 +1173,7 @@ void AES_CBC_encrypt(const unsigned char* in, unsigned char* out, unsigned long : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [iv] "+r" (iv) : [L_AES_Thumb2_te_ecb] "r" (L_AES_Thumb2_te_ecb) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -1394,7 +1394,7 @@ void AES_CTR_encrypt(const unsigned char* in, unsigned char* out, unsigned long : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [ctr] "+r" (ctr) : [L_AES_Thumb2_te_ecb] "r" (L_AES_Thumb2_te_ecb) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -1625,7 +1625,7 @@ void AES_decrypt_block(const uint32_t* td, int nr, const uint8_t* td4) "EOR r7, r7, r11\n\t" : [td] "+r" (td), [nr] "+r" (nr), [td4] "+r" (td4) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -1838,7 +1838,7 @@ void AES_ECB_decrypt(const unsigned char* in, unsigned char* out, unsigned long : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr) : [L_AES_Thumb2_td_ecb] "r" (L_AES_Thumb2_td_ecb), [L_AES_Thumb2_td4] "r" (L_AES_Thumb2_td4) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -2197,7 +2197,7 @@ void AES_CBC_decrypt(const unsigned char* in, unsigned char* out, unsigned long : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [iv] "+r" (iv) : [L_AES_Thumb2_td_ecb] "r" (L_AES_Thumb2_td_ecb), [L_AES_Thumb2_td4] "r" (L_AES_Thumb2_td4) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r8", "r9", "r10", "r11", "cc" ); } @@ -2789,7 +2789,7 @@ void GCM_gmult_len(unsigned char* x, const unsigned char** m, const unsigned cha : [x] "+r" (x), [m] "+r" (m), [data] "+r" (data), [len] "+r" (len) : [L_GCM_gmult_len_r] "r" (L_GCM_gmult_len_r) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -3000,7 +3000,7 @@ void AES_GCM_encrypt(const unsigned char* in, unsigned char* out, unsigned long : [in] "+r" (in), [out] "+r" (out), [len] "+r" (len), [ks] "+r" (ks), [nr] "+r" (nr), [ctr] "+r" (ctr) : [L_AES_Thumb2_te_gcm] "r" (L_AES_Thumb2_te_gcm) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11" + : "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc" ); } diff --git a/wolfcrypt/src/port/arm/thumb2-curve25519_c.c b/wolfcrypt/src/port/arm/thumb2-curve25519_c.c index a5403e99e..0457266c0 100644 --- a/wolfcrypt/src/port/arm/thumb2-curve25519_c.c +++ b/wolfcrypt/src/port/arm/thumb2-curve25519_c.c @@ -73,7 +73,7 @@ void fe_init() "\n\t" : : - : "memory" + : "memory", "cc" ); } @@ -176,7 +176,7 @@ void fe_add_sub_op() /* Done Add-Sub */ : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -217,7 +217,7 @@ void fe_sub_op() /* Done Sub */ : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -237,7 +237,7 @@ void fe_sub(fe r, const fe a, const fe b) "BL fe_sub_op\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -278,7 +278,7 @@ void fe_add_op() /* Done Add */ : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -298,7 +298,7 @@ void fe_add(fe r, const fe a, const fe b) "BL fe_add_op\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -334,7 +334,7 @@ void fe_frombytes(fe out, const unsigned char* in) "STR r9, [%[out], #28]\n\t" : [out] "+r" (out), [in] "+r" (in) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -380,7 +380,7 @@ void fe_tobytes(unsigned char* out, const fe n) "STR r9, [%[out], #28]\n\t" : [out] "+r" (out), [n] "+r" (n) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); } @@ -407,7 +407,7 @@ void fe_1(fe n) "STM %[n], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [n] "+r" (n) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -434,7 +434,7 @@ void fe_0(fe n) "STM %[n], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [n] "+r" (n) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -461,7 +461,7 @@ void fe_copy(fe r, const fe a) "STRD r4, r5, [%[r], #24]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); } @@ -494,7 +494,7 @@ void fe_neg(fe r, const fe a) "STM %[r]!, {r2, r3, r4, r5}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -538,7 +538,7 @@ int fe_isnonzero(const fe a) "ORR %[a], r2, r4\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)a; } @@ -570,7 +570,7 @@ int fe_isnegative(const fe a) "EOR %[a], %[a], r1\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5" + : "memory", "r1", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -1555,7 +1555,7 @@ void fe_cmov_table(fe* r, fe* base, signed char b) "STRD r8, r9, [%[r], #88]\n\t" : [r] "+r" (r), [base] "+r" (base), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r3", "r10", "r11", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r3", "r10", "r11", "r12", "lr", "cc" ); } @@ -1667,7 +1667,7 @@ void fe_cmov_table(fe* r, fe* base, signed char b) "SUB %[base], %[base], %[b]\n\t" : [r] "+r" (r), [base] "+r" (base), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -2056,7 +2056,7 @@ void fe_mul_op() "ADD sp, sp, #0x28\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -2196,7 +2196,7 @@ void fe_mul_op() "ADD sp, sp, #0x10\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -2217,7 +2217,7 @@ void fe_mul(fe r, const fe a, const fe b) "BL fe_mul_op\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -2496,7 +2496,7 @@ void fe_sq_op() "ADD sp, sp, #0x44\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -2622,7 +2622,7 @@ void fe_sq_op() "STM lr, {r0, r1, r2, r3, r4, r5, r6, r7}\n\t" : : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -2642,7 +2642,7 @@ void fe_sq(fe r, const fe a) "BL fe_sq_op\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -2702,7 +2702,7 @@ void fe_mul121666(fe r, fe a) "STM %[r], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -2748,7 +2748,7 @@ void fe_mul121666(fe r, fe a) "STM %[r], {r2, r3, r4, r5, r6, r7, r8, r9}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -3184,7 +3184,7 @@ int curve25519(byte* r, const byte* n, const byte* a) "ADD sp, sp, #0xbc\n\t" : [r] "+r" (r), [n] "+r" (n), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -3536,7 +3536,7 @@ int curve25519(byte* r, const byte* n, const byte* a) "ADD sp, sp, #0xc0\n\t" : [r] "+r" (r), [n] "+r" (n), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -3748,7 +3748,7 @@ void fe_invert(fe r, const fe a) "ADD sp, sp, #0x88\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -4062,7 +4062,7 @@ void fe_sq2(fe r, const fe a) "ADD sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -4225,7 +4225,7 @@ void fe_sq2(fe r, const fe a) "MOV r1, lr\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr" + : "memory", "lr", "cc" ); } @@ -4434,7 +4434,7 @@ void fe_pow22523(fe r, const fe a) "ADD sp, sp, #0x68\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "lr", "r12", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -4470,7 +4470,7 @@ void ge_p1p1_to_p2(ge_p2 * r, const ge_p1p1 * p) "ADD sp, sp, #0x8\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "lr", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "lr", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -4511,7 +4511,7 @@ void ge_p1p1_to_p3(ge_p3 * r, const ge_p1p1 * p) "ADD sp, sp, #0x8\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "lr", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "lr", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -4564,7 +4564,7 @@ void ge_p2_dbl(ge_p1p1 * r, const ge_p2 * p) "ADD sp, sp, #0x8\n\t" : [r] "+r" (r), [p] "+r" (p) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -4652,7 +4652,7 @@ void ge_madd(ge_p1p1 * r, const ge_p3 * p, const ge_precomp * q) "ADD sp, sp, #0xc\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -4741,7 +4741,7 @@ void ge_msub(ge_p1p1 * r, const ge_p3 * p, const ge_precomp * q) "ADD sp, sp, #0xc\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -4830,7 +4830,7 @@ void ge_add(ge_p1p1 * r, const ge_p3 * p, const ge_cached* q) "ADD sp, sp, #0x2c\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -4919,7 +4919,7 @@ void ge_sub(ge_p1p1 * r, const ge_p3 * p, const ge_cached* q) "ADD sp, sp, #0x2c\n\t" : [r] "+r" (r), [p] "+r" (p), [q] "+r" (q) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5353,7 +5353,7 @@ void sc_reduce(byte* s) "ADD sp, sp, #0x38\n\t" : [s] "+r" (s) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5658,7 +5658,7 @@ void sc_reduce(byte* s) "ADD sp, sp, #0x38\n\t" : [s] "+r" (s) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -6454,7 +6454,7 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) "ADD sp, sp, #0x50\n\t" : [s] "+r" (s), [a] "+r" (a), [b] "+r" (b), [c] "+r" (c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -6892,7 +6892,7 @@ void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c) "ADD sp, sp, #0x50\n\t" : [s] "+r" (s), [a] "+r" (a), [b] "+r" (b), [c] "+r" (c) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } diff --git a/wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c b/wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c index a2367c2a2..4654dd215 100644 --- a/wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c +++ b/wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c @@ -1463,7 +1463,7 @@ void Transform_Sha256_Len(wc_Sha256* sha256, const byte* data, word32 len) : [sha256] "+r" (sha256), [data] "+r" (data), [len] "+r" (len) : [L_SHA256_transform_len_k] "r" (L_SHA256_transform_len_k) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } diff --git a/wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c b/wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c index 7521b35fa..d7fbd83e3 100644 --- a/wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c +++ b/wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c @@ -3578,7 +3578,7 @@ void Transform_Sha512_Len(wc_Sha512* sha512, const byte* data, word32 len) : [sha512] "+r" (sha512), [data] "+r" (data), [len] "+r" (len) : [L_SHA512_transform_len_k] "r" (L_SHA512_transform_len_k) #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */ - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } diff --git a/wolfcrypt/src/sp_arm32.c b/wolfcrypt/src/sp_arm32.c index c1c0fb8a0..2014da43d 100644 --- a/wolfcrypt/src/sp_arm32.c +++ b/wolfcrypt/src/sp_arm32.c @@ -2231,7 +2231,7 @@ static void sp_2048_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -2584,7 +2584,7 @@ static void sp_2048_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "add sp, sp, #36\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -2715,7 +2715,7 @@ static void sp_2048_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "add sp, sp, #44\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr" + : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr", "cc" ); } @@ -2751,7 +2751,7 @@ static sp_digit sp_2048_add_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -2798,7 +2798,7 @@ static sp_digit sp_2048_sub_in_place_16(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -2848,7 +2848,7 @@ static sp_digit sp_2048_add_16(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -2988,7 +2988,7 @@ static sp_digit sp_2048_sub_in_place_32(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -3066,7 +3066,7 @@ static sp_digit sp_2048_add_32(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -3266,7 +3266,7 @@ static sp_digit sp_2048_sub_in_place_64(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -3400,7 +3400,7 @@ static sp_digit sp_2048_add_64(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -4680,7 +4680,7 @@ static void sp_2048_sqr_8(sp_digit* r_p, const sp_digit* a_p) "stm %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -4923,7 +4923,7 @@ static void sp_2048_sqr_8(sp_digit* r_p, const sp_digit* a_p) "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5039,7 +5039,7 @@ static void sp_2048_sqr_8(sp_digit* r_p, const sp_digit* a_p) "add sp, sp, #32\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -5074,7 +5074,7 @@ static sp_digit sp_2048_sub_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -5159,7 +5159,7 @@ static sp_digit sp_2048_sub_16(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -5272,7 +5272,7 @@ static sp_digit sp_2048_sub_32(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -5347,7 +5347,7 @@ static sp_digit sp_2048_add_64(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -5383,7 +5383,7 @@ static sp_digit sp_2048_sub_in_place_64(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -5585,7 +5585,7 @@ static void sp_2048_mul_64(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "bgt L_sp_2048_mul_64_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -5742,7 +5742,7 @@ static void sp_2048_sqr_64(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_2048_sqr_64_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -5798,7 +5798,7 @@ static sp_digit sp_2048_add_32(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -5834,7 +5834,7 @@ static sp_digit sp_2048_sub_in_place_32(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -6036,7 +6036,7 @@ static void sp_2048_mul_32(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "bgt L_sp_2048_mul_32_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -6193,7 +6193,7 @@ static void sp_2048_sqr_32(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_2048_sqr_32_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -6314,7 +6314,7 @@ static void sp_2048_mul_d_64(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #256]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -8379,7 +8379,7 @@ static void sp_2048_mul_d_64(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r4, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -8434,7 +8434,7 @@ static sp_digit sp_2048_cond_sub_32(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -8572,7 +8572,7 @@ static sp_digit sp_2048_cond_sub_32(sp_digit* r_p, const sp_digit* a_p, const sp "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -9553,7 +9553,7 @@ static SP_NOINLINE void sp_2048_mont_reduce_32(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -9848,7 +9848,7 @@ static SP_NOINLINE void sp_2048_mont_reduce_32(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -10053,7 +10053,7 @@ static SP_NOINLINE void sp_2048_mont_reduce_32(sp_digit* a_p, const sp_digit* m_ "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -10183,7 +10183,7 @@ static void sp_2048_mul_d_32(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #128]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -11224,7 +11224,7 @@ static void sp_2048_mul_d_32(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -11283,7 +11283,7 @@ static sp_digit div_2048_word_32(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -11421,7 +11421,7 @@ static sp_digit div_2048_word_32(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -11820,7 +11820,7 @@ static sp_int32 sp_2048_cmp_32(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -12257,7 +12257,7 @@ static sp_digit sp_2048_cond_sub_64(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -12507,7 +12507,7 @@ static sp_digit sp_2048_cond_sub_64(sp_digit* r_p, const sp_digit* a_p, const sp "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -14416,7 +14416,7 @@ static SP_NOINLINE void sp_2048_mont_reduce_64(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -14967,7 +14967,7 @@ static SP_NOINLINE void sp_2048_mont_reduce_64(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -15332,7 +15332,7 @@ static SP_NOINLINE void sp_2048_mont_reduce_64(sp_digit* a_p, const sp_digit* m_ "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -15400,7 +15400,7 @@ static sp_digit sp_2048_sub_64(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -15534,7 +15534,7 @@ static sp_digit sp_2048_sub_64(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -15594,7 +15594,7 @@ static sp_digit div_2048_word_64(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -15732,7 +15732,7 @@ static sp_digit div_2048_word_64(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -16587,7 +16587,7 @@ static sp_int32 sp_2048_cmp_64(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -17147,7 +17147,7 @@ static sp_digit sp_2048_cond_add_32(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -17285,7 +17285,7 @@ static sp_digit sp_2048_cond_add_32(sp_digit* r_p, const sp_digit* a_p, const sp "adc %[r], r8, r8\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -17999,7 +17999,7 @@ static void sp_2048_lshift_64(sp_digit* r_p, const sp_digit* a_p, byte n_p) "str r6, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r12" + : "memory", "r4", "r5", "r6", "r3", "r12", "cc" ); } @@ -23905,7 +23905,7 @@ static void sp_3072_mul_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -23947,7 +23947,7 @@ static sp_digit sp_3072_add_12(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -24008,7 +24008,7 @@ static sp_digit sp_3072_sub_in_place_24(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -24072,7 +24072,7 @@ static sp_digit sp_3072_add_24(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -24244,7 +24244,7 @@ static sp_digit sp_3072_sub_in_place_48(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -24350,7 +24350,7 @@ static sp_digit sp_3072_add_48(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -24606,7 +24606,7 @@ static sp_digit sp_3072_sub_in_place_96(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -24796,7 +24796,7 @@ static sp_digit sp_3072_add_96(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -27928,7 +27928,7 @@ static void sp_3072_sqr_12(sp_digit* r_p, const sp_digit* a_p) "stm %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -27969,7 +27969,7 @@ static sp_digit sp_3072_sub_12(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -28068,7 +28068,7 @@ static sp_digit sp_3072_sub_24(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -28209,7 +28209,7 @@ static sp_digit sp_3072_sub_48(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -28284,7 +28284,7 @@ static sp_digit sp_3072_add_96(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -28320,7 +28320,7 @@ static sp_digit sp_3072_sub_in_place_96(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -28522,7 +28522,7 @@ static void sp_3072_mul_96(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "bgt L_sp_3072_mul_96_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -28679,7 +28679,7 @@ static void sp_3072_sqr_96(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_3072_sqr_96_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -28735,7 +28735,7 @@ static sp_digit sp_3072_add_48(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -28771,7 +28771,7 @@ static sp_digit sp_3072_sub_in_place_48(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -28973,7 +28973,7 @@ static void sp_3072_mul_48(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "bgt L_sp_3072_mul_48_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -29130,7 +29130,7 @@ static void sp_3072_sqr_48(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_3072_sqr_48_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -29251,7 +29251,7 @@ static void sp_3072_mul_d_96(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #384]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -32340,7 +32340,7 @@ static void sp_3072_mul_d_96(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -32395,7 +32395,7 @@ static sp_digit sp_3072_cond_sub_48(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -32589,7 +32589,7 @@ static sp_digit sp_3072_cond_sub_48(sp_digit* r_p, const sp_digit* a_p, const sp "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -34034,7 +34034,7 @@ static SP_NOINLINE void sp_3072_mont_reduce_48(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -34457,7 +34457,7 @@ static SP_NOINLINE void sp_3072_mont_reduce_48(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -34742,7 +34742,7 @@ static SP_NOINLINE void sp_3072_mont_reduce_48(sp_digit* a_p, const sp_digit* m_ "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -34872,7 +34872,7 @@ static void sp_3072_mul_d_48(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #192]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -36425,7 +36425,7 @@ static void sp_3072_mul_d_48(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -36484,7 +36484,7 @@ static sp_digit div_3072_word_48(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -36622,7 +36622,7 @@ static sp_digit div_3072_word_48(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -37197,7 +37197,7 @@ static sp_int32 sp_3072_cmp_48(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -37634,7 +37634,7 @@ static sp_digit sp_3072_cond_sub_96(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -37996,7 +37996,7 @@ static sp_digit sp_3072_cond_sub_96(sp_digit* r_p, const sp_digit* a_p, const sp "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -40833,7 +40833,7 @@ static SP_NOINLINE void sp_3072_mont_reduce_96(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -41640,7 +41640,7 @@ static SP_NOINLINE void sp_3072_mont_reduce_96(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -42165,7 +42165,7 @@ static SP_NOINLINE void sp_3072_mont_reduce_96(sp_digit* a_p, const sp_digit* m_ "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -42233,7 +42233,7 @@ static sp_digit sp_3072_sub_96(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -42423,7 +42423,7 @@ static sp_digit sp_3072_sub_96(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -42483,7 +42483,7 @@ static sp_digit div_3072_word_96(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -42621,7 +42621,7 @@ static sp_digit div_3072_word_96(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -43834,7 +43834,7 @@ static sp_int32 sp_3072_cmp_96(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -44394,7 +44394,7 @@ static sp_digit sp_3072_cond_add_48(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -44588,7 +44588,7 @@ static sp_digit sp_3072_cond_add_48(sp_digit* r_p, const sp_digit* a_p, const sp "adc %[r], r8, r8\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -45494,7 +45494,7 @@ static void sp_3072_lshift_96(sp_digit* r_p, const sp_digit* a_p, byte n_p) "str r4, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r12" + : "memory", "r4", "r5", "r6", "r3", "r12", "cc" ); } @@ -46146,7 +46146,7 @@ static sp_digit sp_4096_sub_in_place_128(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -46392,7 +46392,7 @@ static sp_digit sp_4096_add_128(sp_digit* r_p, const sp_digit* a_p, const sp_dig "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -46506,7 +46506,7 @@ static sp_digit sp_4096_add_128(sp_digit* r_p, const sp_digit* a_p, const sp_dig "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -46542,7 +46542,7 @@ static sp_digit sp_4096_sub_in_place_128(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -46744,7 +46744,7 @@ static void sp_4096_mul_128(sp_digit* r_p, const sp_digit* a_p, const sp_digit* "bgt L_sp_4096_mul_128_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -46901,7 +46901,7 @@ static void sp_4096_sqr_128(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_4096_sqr_128_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -47020,7 +47020,7 @@ static void sp_4096_mul_d_128(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #512]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -51133,7 +51133,7 @@ static void sp_4096_mul_d_128(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -51189,7 +51189,7 @@ static sp_digit sp_4096_cond_sub_128(sp_digit* r_p, const sp_digit* a_p, const s "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -51663,7 +51663,7 @@ static sp_digit sp_4096_cond_sub_128(sp_digit* r_p, const sp_digit* a_p, const s "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -55428,7 +55428,7 @@ static SP_NOINLINE void sp_4096_mont_reduce_128(sp_digit* a_p, const sp_digit* m "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -56491,7 +56491,7 @@ static SP_NOINLINE void sp_4096_mont_reduce_128(sp_digit* a_p, const sp_digit* m "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -57176,7 +57176,7 @@ static SP_NOINLINE void sp_4096_mont_reduce_128(sp_digit* a_p, const sp_digit* m "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -57244,7 +57244,7 @@ static sp_digit sp_4096_sub_128(sp_digit* r_p, const sp_digit* a_p, const sp_dig "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -57490,7 +57490,7 @@ static sp_digit sp_4096_sub_128(sp_digit* r_p, const sp_digit* a_p, const sp_dig "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -57550,7 +57550,7 @@ static sp_digit div_4096_word_128(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -57688,7 +57688,7 @@ static sp_digit div_4096_word_128(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -59253,7 +59253,7 @@ static sp_int32 sp_4096_cmp_128(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -59813,7 +59813,7 @@ static sp_digit sp_4096_cond_add_64(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -60063,7 +60063,7 @@ static sp_digit sp_4096_cond_add_64(sp_digit* r_p, const sp_digit* a_p, const sp "adc %[r], r8, r8\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -61161,7 +61161,7 @@ static void sp_4096_lshift_128(sp_digit* r_p, const sp_digit* a_p, byte n_p) "str r5, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r12" + : "memory", "r4", "r5", "r6", "r3", "r12", "cc" ); } @@ -61643,7 +61643,7 @@ static void sp_256_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_p "bgt L_sp_256_mul_8_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -63639,7 +63639,7 @@ static void sp_256_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_p "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -63992,7 +63992,7 @@ static void sp_256_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_p "add sp, sp, #36\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -64123,7 +64123,7 @@ static void sp_256_mul_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_p "add sp, sp, #44\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr" + : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr", "cc" ); } @@ -64283,7 +64283,7 @@ static void sp_256_sqr_8(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_256_sqr_8_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -65494,7 +65494,7 @@ static void sp_256_sqr_8(sp_digit* r_p, const sp_digit* a_p) "stm %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -65737,7 +65737,7 @@ static void sp_256_sqr_8(sp_digit* r_p, const sp_digit* a_p) "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -65853,7 +65853,7 @@ static void sp_256_sqr_8(sp_digit* r_p, const sp_digit* a_p) "add sp, sp, #32\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -65892,7 +65892,7 @@ static sp_digit sp_256_add_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -65929,7 +65929,7 @@ static sp_digit sp_256_add_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -66165,7 +66165,7 @@ static int sp_256_mod_mul_norm_8(sp_digit* r_p, const sp_digit* a_p, const sp_di "add sp, sp, #24\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "cc" ); (void)m_p; return (uint32_t)(size_t)r; @@ -68480,7 +68480,7 @@ static SP_NOINLINE void sp_256_mont_mul_8(sp_digit* r_p, const sp_digit* a_p, co "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r12", "cc" ); (void)m_p; (void)mp_p; @@ -68957,7 +68957,7 @@ static SP_NOINLINE void sp_256_mont_mul_8(sp_digit* r_p, const sp_digit* a_p, co "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -69212,7 +69212,7 @@ static SP_NOINLINE void sp_256_mont_mul_8(sp_digit* r_p, const sp_digit* a_p, co "add sp, sp, #0x4c\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr" + : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -70410,7 +70410,7 @@ static SP_NOINLINE void sp_256_mont_sqr_8(sp_digit* r_p, const sp_digit* a_p, co "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r12", "r8", "r9", "r10", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r12", "r8", "r9", "r10", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -70776,7 +70776,7 @@ static SP_NOINLINE void sp_256_mont_sqr_8(sp_digit* r_p, const sp_digit* a_p, co "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -71016,7 +71016,7 @@ static SP_NOINLINE void sp_256_mont_sqr_8(sp_digit* r_p, const sp_digit* a_p, co "add sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -71248,7 +71248,7 @@ static sp_int32 sp_256_cmp_8(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -71294,7 +71294,7 @@ static sp_digit sp_256_cond_sub_8(sp_digit* r_p, const sp_digit* a_p, const sp_d "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -71348,7 +71348,7 @@ static sp_digit sp_256_cond_sub_8(sp_digit* r_p, const sp_digit* a_p, const sp_d "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -71636,7 +71636,7 @@ static SP_NOINLINE void sp_256_mont_reduce_8(sp_digit* a_p, const sp_digit* m_p, "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -71739,7 +71739,7 @@ static SP_NOINLINE void sp_256_mont_reduce_8(sp_digit* a_p, const sp_digit* m_p, "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -71824,7 +71824,7 @@ static SP_NOINLINE void sp_256_mont_reduce_8(sp_digit* a_p, const sp_digit* m_p, "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -71975,7 +71975,7 @@ static SP_NOINLINE void sp_256_mont_reduce_8(sp_digit* a_p, const sp_digit* m_p, "add sp, sp, #0x44\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -72260,7 +72260,7 @@ static SP_NOINLINE void sp_256_mont_reduce_order_8(sp_digit* a_p, const sp_digit "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -72363,7 +72363,7 @@ static SP_NOINLINE void sp_256_mont_reduce_order_8(sp_digit* a_p, const sp_digit "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -72448,7 +72448,7 @@ static SP_NOINLINE void sp_256_mont_reduce_order_8(sp_digit* a_p, const sp_digit "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -72546,7 +72546,7 @@ static void sp_256_mont_add_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "stm %[r], {r5, r6, r7, r8, r9, r10, r11, r12}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; } @@ -72596,7 +72596,7 @@ static void sp_256_mont_dbl_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "stm %[r], {r4, r5, r6, r7, r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "cc" ); (void)m_p; } @@ -72678,7 +72678,7 @@ static void sp_256_mont_tpl_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "stm %[r], {r4, r5, r6, r7, r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "r12", "cc" ); (void)m_p; } @@ -72732,7 +72732,7 @@ static void sp_256_mont_sub_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "stm %[r], {r5, r6, r7, r8, r9, r10, r11, r12}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; } @@ -72809,7 +72809,7 @@ static void sp_256_mont_div2_8(sp_digit* r_p, const sp_digit* a_p, const sp_digi "stm %[r], {r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "cc" ); } @@ -76340,7 +76340,7 @@ static void sp_256_add_one_8(sp_digit* a_p) "stm %[a]!, {r1, r2, r3, r4}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4" + : "memory", "r1", "r2", "r3", "r4", "cc" ); } @@ -76743,7 +76743,7 @@ static sp_digit sp_256_sub_in_place_8(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -76777,7 +76777,7 @@ static sp_digit sp_256_sub_in_place_8(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -76877,7 +76877,7 @@ static void sp_256_mul_d_8(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #32]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -77150,7 +77150,7 @@ static void sp_256_mul_d_8(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -77209,7 +77209,7 @@ static sp_digit div_256_word_8(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -77347,7 +77347,7 @@ static sp_digit div_256_word_8(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -78031,7 +78031,7 @@ static sp_digit sp_256_sub_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -78067,7 +78067,7 @@ static sp_digit sp_256_sub_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit* "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -78147,7 +78147,7 @@ static void sp_256_rshift1_8(sp_digit* r_p, const sp_digit* a_p) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "r10", "cc" ); } @@ -78233,7 +78233,7 @@ static void sp_256_div2_mod_8(sp_digit* r_p, const sp_digit* a_p, const sp_digit "stm %[r], {r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); } @@ -78590,7 +78590,7 @@ static int sp_256_num_bits_8(const sp_digit* a_p) "mov %[a], r12\n\t" : [a] "+r" (a), [L_sp_256_num_bits_8_table] "+r" (L_sp_256_num_bits_8_table_c) : - : "memory", "r2", "r3", "r12", "lr" + : "memory", "r2", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -78679,7 +78679,7 @@ static int sp_256_num_bits_8(const sp_digit* a_p) "mov %[a], r12\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r12", "lr" + : "memory", "r1", "r2", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -79966,7 +79966,7 @@ static void sp_384_mul_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "bgt L_sp_384_mul_12_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -85463,7 +85463,7 @@ static void sp_384_mul_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -85622,7 +85622,7 @@ static void sp_384_sqr_12(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_384_sqr_12_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -88685,7 +88685,7 @@ static void sp_384_sqr_12(sp_digit* r_p, const sp_digit* a_p) "stm %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -88723,7 +88723,7 @@ static sp_digit sp_384_add_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -88767,7 +88767,7 @@ static sp_digit sp_384_add_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -89105,7 +89105,7 @@ static sp_digit sp_384_cond_sub_12(sp_digit* r_p, const sp_digit* a_p, const sp_ "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -89173,7 +89173,7 @@ static sp_digit sp_384_cond_sub_12(sp_digit* r_p, const sp_digit* a_p, const sp_ "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -89576,7 +89576,7 @@ static SP_NOINLINE void sp_384_mont_reduce_12(sp_digit* a_p, const sp_digit* m_p "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_384_cond_sub_12(a - 12, a, m, (sp_digit)0 - mp); } @@ -89711,7 +89711,7 @@ static SP_NOINLINE void sp_384_mont_reduce_12(sp_digit* a_p, const sp_digit* m_p "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_384_cond_sub_12(a - 12, a, m, (sp_digit)0 - mp); } @@ -89816,7 +89816,7 @@ static SP_NOINLINE void sp_384_mont_reduce_12(sp_digit* a_p, const sp_digit* m_p "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_384_cond_sub_12(a - 12, a, m, (sp_digit)0 - mp); } @@ -90137,7 +90137,7 @@ static sp_int32 sp_384_cmp_12(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -90278,7 +90278,7 @@ static sp_digit sp_384_sub_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -90321,7 +90321,7 @@ static sp_digit sp_384_sub_12(sp_digit* r_p, const sp_digit* a_p, const sp_digit "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -90362,7 +90362,7 @@ static sp_digit sp_384_cond_add_12(sp_digit* r_p, const sp_digit* a_p, const sp_ "mov %[r], lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -90430,7 +90430,7 @@ static sp_digit sp_384_cond_add_12(sp_digit* r_p, const sp_digit* a_p, const sp_ "adc %[r], r8, r8\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -90513,7 +90513,7 @@ static void sp_384_rshift1_12(sp_digit* r_p, const sp_digit* a_p) "str r4, [%[r], #44]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4" + : "memory", "r2", "r3", "r4", "cc" ); } @@ -94123,7 +94123,7 @@ static void sp_384_add_one_12(sp_digit* a_p) "stm %[a]!, {r1, r2, r3, r4}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4" + : "memory", "r1", "r2", "r3", "r4", "cc" ); } @@ -94526,7 +94526,7 @@ static sp_digit sp_384_sub_in_place_12(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -94567,7 +94567,7 @@ static sp_digit sp_384_sub_in_place_12(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -94667,7 +94667,7 @@ static void sp_384_mul_d_12(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #48]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -95068,7 +95068,7 @@ static void sp_384_mul_d_12(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -95127,7 +95127,7 @@ static sp_digit div_384_word_12(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -95265,7 +95265,7 @@ static sp_digit div_384_word_12(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -95993,7 +95993,7 @@ static void sp_384_div2_mod_12(sp_digit* r_p, const sp_digit* a_p, const sp_digi "str r10, [%[r], #44]\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); } @@ -96602,7 +96602,7 @@ static int sp_384_num_bits_12(const sp_digit* a_p) "mov %[a], r12\n\t" : [a] "+r" (a), [L_sp_384_num_bits_12_table] "+r" (L_sp_384_num_bits_12_table_c) : - : "memory", "r2", "r3", "r12", "lr" + : "memory", "r2", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -96751,7 +96751,7 @@ static int sp_384_num_bits_12(const sp_digit* a_p) "mov %[a], r12\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r12", "lr" + : "memory", "r1", "r2", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -98087,7 +98087,7 @@ static void sp_521_mul_17(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "bgt L_sp_521_mul_17_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -109103,7 +109103,7 @@ static void sp_521_mul_17(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b_ "stm %[r]!, {r3}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -109265,7 +109265,7 @@ static void sp_521_sqr_17(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_521_sqr_17_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -115137,7 +115137,7 @@ static void sp_521_sqr_17(sp_digit* r_p, const sp_digit* a_p) "stm %[r]!, {r2}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -115181,7 +115181,7 @@ static sp_digit sp_521_add_17(sp_digit* r_p, const sp_digit* a_p, const sp_digit "adc %[r], r4, #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -115236,7 +115236,7 @@ static sp_digit sp_521_add_17(sp_digit* r_p, const sp_digit* a_p, const sp_digit "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -115490,7 +115490,7 @@ static sp_digit sp_521_cond_sub_17(sp_digit* r_p, const sp_digit* a_p, const sp_ "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -115577,7 +115577,7 @@ static sp_digit sp_521_cond_sub_17(sp_digit* r_p, const sp_digit* a_p, const sp_ "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -115705,7 +115705,7 @@ static SP_NOINLINE void sp_521_mont_reduce_17(sp_digit* a_p, const sp_digit* m_p "stm %[a]!, {r1, r2, r3, r4, r5, r6, r7, r8}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); (void)m_p; (void)mp_p; @@ -116334,7 +116334,7 @@ static SP_NOINLINE void sp_521_mont_reduce_order_17(sp_digit* a_p, const sp_digi "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_521_cond_sub_17(a - 17, a, m, (sp_digit)0 - mp); } @@ -116592,7 +116592,7 @@ static SP_NOINLINE void sp_521_mont_reduce_order_17(sp_digit* a_p, const sp_digi "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_521_cond_sub_17(a - 17, a, m, (sp_digit)0 - mp); } @@ -116805,7 +116805,7 @@ static SP_NOINLINE void sp_521_mont_reduce_order_17(sp_digit* a_p, const sp_digi "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_521_cond_sub_17(a - 17, a, m, (sp_digit)0 - mp); } @@ -117178,7 +117178,7 @@ static sp_int32 sp_521_cmp_17(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -117311,7 +117311,7 @@ static void sp_521_mont_add_17(sp_digit* r_p, const sp_digit* a_p, const sp_digi "stm %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); (void)m_p; } @@ -117387,7 +117387,7 @@ static void sp_521_mont_dbl_17(sp_digit* r_p, const sp_digit* a_p, const sp_digi "stm %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "cc" ); (void)m_p; } @@ -117483,7 +117483,7 @@ static void sp_521_mont_tpl_17(sp_digit* r_p, const sp_digit* a_p, const sp_digi "stm %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "cc" ); (void)m_p; } @@ -117571,7 +117571,7 @@ static void sp_521_mont_sub_17(sp_digit* r_p, const sp_digit* a_p, const sp_digi "stm %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); (void)m_p; } @@ -117650,7 +117650,7 @@ static void sp_521_rshift1_17(sp_digit* r_p, const sp_digit* a_p) "str r3, [%[r], #64]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4" + : "memory", "r2", "r3", "r4", "cc" ); } @@ -121891,7 +121891,7 @@ static void sp_521_add_one_17(sp_digit* a_p) "stm %[a]!, {r1}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4" + : "memory", "r1", "r2", "r3", "r4", "cc" ); } @@ -122364,7 +122364,7 @@ static void sp_521_rshift_17(sp_digit* r_p, const sp_digit* a_p, byte n_p) #endif : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r12" + : "memory", "r4", "r5", "r6", "r3", "r12", "cc" ); } @@ -122484,7 +122484,7 @@ static void sp_521_lshift_17(sp_digit* r_p, const sp_digit* a_p, byte n_p) "str r5, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r12" + : "memory", "r4", "r5", "r6", "r3", "r12", "cc" ); } @@ -122702,7 +122702,7 @@ static void sp_521_lshift_34(sp_digit* r_p, const sp_digit* a_p, byte n_p) "str r6, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r12" + : "memory", "r4", "r5", "r6", "r3", "r12", "cc" ); } @@ -122741,7 +122741,7 @@ static sp_digit sp_521_sub_in_place_17(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], %[a], %[a]\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -122793,7 +122793,7 @@ static sp_digit sp_521_sub_in_place_17(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -122893,7 +122893,7 @@ static void sp_521_mul_d_17(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #68]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -123454,7 +123454,7 @@ static void sp_521_mul_d_17(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -123513,7 +123513,7 @@ static sp_digit div_521_word_17(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -123651,7 +123651,7 @@ static sp_digit div_521_word_17(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -124341,7 +124341,7 @@ static sp_digit sp_521_sub_17(sp_digit* r_p, const sp_digit* a_p, const sp_digit "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "lr", "cc" ); return (uint32_t)(size_t)r; } @@ -124395,7 +124395,7 @@ static sp_digit sp_521_sub_17(sp_digit* r_p, const sp_digit* a_p, const sp_digit "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -124541,7 +124541,7 @@ static void sp_521_div2_mod_17(sp_digit* r_p, const sp_digit* a_p, const sp_digi "str r9, [%[r], #64]\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); } @@ -125465,7 +125465,7 @@ static int sp_521_num_bits_17(const sp_digit* a_p) "mov %[a], r12\n\t" : [a] "+r" (a), [L_sp_521_num_bits_17_table] "+r" (L_sp_521_num_bits_17_table_c) : - : "memory", "r2", "r3", "r12", "lr" + : "memory", "r2", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -125689,7 +125689,7 @@ static int sp_521_num_bits_17(const sp_digit* a_p) "mov %[a], r12\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r12", "lr" + : "memory", "r1", "r2", "r3", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -136464,7 +136464,7 @@ static void sp_1024_mul_16(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -141696,7 +141696,7 @@ static void sp_1024_sqr_16(sp_digit* r_p, const sp_digit* a_p) "stm %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -141745,7 +141745,7 @@ static sp_digit sp_1024_add_16(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -141820,7 +141820,7 @@ static sp_digit sp_1024_sub_in_place_32(sp_digit* a_p, const sp_digit* b_p) "sbc %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -141898,7 +141898,7 @@ static sp_digit sp_1024_add_32(sp_digit* r_p, const sp_digit* a_p, const sp_digi "adc %[r], %[r], #0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -142016,7 +142016,7 @@ static sp_digit sp_1024_sub_16(sp_digit* r_p, const sp_digit* a_p, const sp_digi "sbc %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -142253,7 +142253,7 @@ static void sp_1024_mul_32(sp_digit* r_p, const sp_digit* a_p, const sp_digit* b "bgt L_sp_1024_mul_32_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -142410,7 +142410,7 @@ static void sp_1024_sqr_32(sp_digit* r_p, const sp_digit* a_p) "bgt L_sp_1024_sqr_32_store_%=\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -142530,7 +142530,7 @@ static sp_digit sp_1024_sub_in_place_32(sp_digit* a_p, const sp_digit* b_p) "mov %[a], r12\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r12", "lr", "cc" ); return (uint32_t)(size_t)a; } @@ -142571,7 +142571,7 @@ static sp_digit sp_1024_cond_sub_32(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], r12\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -142709,7 +142709,7 @@ static sp_digit sp_1024_cond_sub_32(sp_digit* r_p, const sp_digit* a_p, const sp "sbc %[r], lr, lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -142748,7 +142748,7 @@ static sp_digit sp_1024_add_32(sp_digit* r_p, const sp_digit* a_p, const sp_digi "mov %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -142848,7 +142848,7 @@ static void sp_1024_mul_d_32(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r3, [%[r], #128]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -143889,7 +143889,7 @@ static void sp_1024_mul_d_32(sp_digit* r_p, const sp_digit* a_p, sp_digit b_p) "str r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -143948,7 +143948,7 @@ static sp_digit div_1024_word_32(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "add %[d1], r4, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -144086,7 +144086,7 @@ static sp_digit div_1024_word_32(sp_digit d1_p, sp_digit d0_p, sp_digit div_p) "sub %[d1], r3, r6\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)d1; } @@ -144515,7 +144515,7 @@ static sp_int32 sp_1024_cmp_32(const sp_digit* a_p, const sp_digit* b_p) "mov %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6" + : "memory", "r2", "r3", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -145829,7 +145829,7 @@ static SP_NOINLINE void sp_1024_mont_reduce_32(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_1024_cond_sub_32(a - 32, a, m, mp); } @@ -146129,7 +146129,7 @@ static SP_NOINLINE void sp_1024_mont_reduce_32(sp_digit* a_p, const sp_digit* m_ "mov %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_1024_cond_sub_32(a - 32, a, m, mp); } @@ -146339,7 +146339,7 @@ static SP_NOINLINE void sp_1024_mont_reduce_32(sp_digit* a_p, const sp_digit* m_ "mov %[mp], lr\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); sp_1024_cond_sub_32(a - 32, a, m, mp); } @@ -146651,7 +146651,7 @@ static void sp_1024_mont_add_32(sp_digit* r_p, const sp_digit* a_p, const sp_dig "stm %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -146806,7 +146806,7 @@ static void sp_1024_mont_dbl_32(sp_digit* r_p, const sp_digit* a_p, const sp_dig "stm %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12" + : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12", "cc" ); } @@ -147116,7 +147116,7 @@ static void sp_1024_mont_tpl_32(sp_digit* r_p, const sp_digit* a_p, const sp_dig "stm %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12" + : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12", "cc" ); } @@ -147283,7 +147283,7 @@ static void sp_1024_mont_sub_32(sp_digit* r_p, const sp_digit* a_p, const sp_dig "stm %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -147322,7 +147322,7 @@ static sp_digit sp_1024_cond_add_32(sp_digit* r_p, const sp_digit* a_p, const sp "mov %[r], lr\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6" + : "memory", "r12", "lr", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -147460,7 +147460,7 @@ static sp_digit sp_1024_cond_add_32(sp_digit* r_p, const sp_digit* a_p, const sp "adc %[r], r8, r8\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8" + : "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -147600,7 +147600,7 @@ static void sp_1024_rshift1_32(sp_digit* r_p, const sp_digit* a_p) "str r3, [%[r], #124]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4" + : "memory", "r2", "r3", "r4", "cc" ); } diff --git a/wolfcrypt/src/sp_armthumb.c b/wolfcrypt/src/sp_armthumb.c index 98a338b68..c73f69abd 100644 --- a/wolfcrypt/src/sp_armthumb.c +++ b/wolfcrypt/src/sp_armthumb.c @@ -479,7 +479,7 @@ SP_NOINLINE static void sp_2048_mul_8(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -9435,7 +9435,7 @@ SP_NOINLINE static void sp_2048_mul_8(sp_digit* r, const sp_digit* a, "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); } @@ -9526,7 +9526,7 @@ SP_NOINLINE static sp_digit sp_2048_add_8(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -9614,7 +9614,7 @@ SP_NOINLINE static sp_digit sp_2048_add_word_8(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -9779,7 +9779,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_in_place_16(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -9938,7 +9938,7 @@ SP_NOINLINE static sp_digit sp_2048_add_16(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -10153,7 +10153,7 @@ SP_NOINLINE static sp_digit sp_2048_add_word_16(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -10462,7 +10462,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_in_place_32(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -10757,7 +10757,7 @@ SP_NOINLINE static sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -11104,7 +11104,7 @@ SP_NOINLINE static sp_digit sp_2048_add_word_32(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -11701,7 +11701,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_in_place_64(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -12268,7 +12268,7 @@ SP_NOINLINE static sp_digit sp_2048_add_64(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -12760,7 +12760,7 @@ SP_NOINLINE static void sp_2048_sqr_8(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -19275,7 +19275,7 @@ SP_NOINLINE static void sp_2048_sqr_8(sp_digit* r, const sp_digit* a) "stm %[r]!, {r2, r3, r4, r5}\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -19365,7 +19365,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_8(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -19558,7 +19558,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_16(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -19887,7 +19887,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_32(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -20003,7 +20003,7 @@ SP_NOINLINE static sp_digit sp_2048_add_64(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -20082,7 +20082,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_in_place_64(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -20337,7 +20337,7 @@ SP_NOINLINE static void sp_2048_mul_64(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -20787,7 +20787,7 @@ SP_NOINLINE static void sp_2048_sqr_64(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -20879,7 +20879,7 @@ SP_NOINLINE static sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -20952,7 +20952,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_in_place_32(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -21197,7 +21197,7 @@ SP_NOINLINE static void sp_2048_mul_32(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -21632,7 +21632,7 @@ SP_NOINLINE static void sp_2048_sqr_32(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -21846,7 +21846,7 @@ SP_NOINLINE static void sp_2048_mul_d_64(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -21923,7 +21923,7 @@ SP_NOINLINE static sp_digit sp_2048_cond_sub_32(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -22991,7 +22991,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -23207,7 +23207,7 @@ SP_NOINLINE static void sp_2048_mul_d_32(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -23822,7 +23822,7 @@ SP_NOINLINE static sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -23931,7 +23931,7 @@ SP_NOINLINE static sp_int32 sp_2048_cmp_32(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -24397,7 +24397,7 @@ SP_NOINLINE static sp_digit sp_2048_cond_sub_64(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -26019,7 +26019,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_64(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -26122,7 +26122,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_64(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -26689,7 +26689,7 @@ SP_NOINLINE static sp_digit sp_2048_sub_64(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -27306,7 +27306,7 @@ SP_NOINLINE static sp_digit div_2048_word_64(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -27519,7 +27519,7 @@ SP_NOINLINE static sp_int32 sp_2048_cmp_64(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -28108,7 +28108,7 @@ SP_NOINLINE static sp_digit sp_2048_cond_add_32(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -30014,7 +30014,7 @@ static void sp_2048_lshift_64(sp_digit* r, const sp_digit* a, byte n) "str r5, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a), [n] "+l" (n) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -30667,7 +30667,7 @@ SP_NOINLINE static void sp_3072_mul_12(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -50849,7 +50849,7 @@ SP_NOINLINE static void sp_3072_mul_12(sp_digit* r, const sp_digit* a, "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); } @@ -50974,7 +50974,7 @@ SP_NOINLINE static sp_digit sp_3072_add_12(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -51094,7 +51094,7 @@ SP_NOINLINE static sp_digit sp_3072_add_word_12(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -51331,7 +51331,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_in_place_24(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -51558,7 +51558,7 @@ SP_NOINLINE static sp_digit sp_3072_add_24(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -51841,7 +51841,7 @@ SP_NOINLINE static sp_digit sp_3072_add_word_24(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -52294,7 +52294,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_in_place_48(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -52725,7 +52725,7 @@ SP_NOINLINE static sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -53200,7 +53200,7 @@ SP_NOINLINE static sp_digit sp_3072_add_word_48(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -54085,7 +54085,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_in_place_96(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -54924,7 +54924,7 @@ SP_NOINLINE static sp_digit sp_3072_add_96(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -55416,7 +55416,7 @@ SP_NOINLINE static void sp_3072_sqr_12(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -70187,7 +70187,7 @@ SP_NOINLINE static void sp_3072_sqr_12(sp_digit* r, const sp_digit* a) "stm %[r]!, {r2, r3, r4, r5}\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -70311,7 +70311,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_12(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -70572,7 +70572,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_24(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -71037,7 +71037,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_48(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -71153,7 +71153,7 @@ SP_NOINLINE static sp_digit sp_3072_add_96(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -71232,7 +71232,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_in_place_96(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -71497,7 +71497,7 @@ SP_NOINLINE static void sp_3072_mul_96(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -71962,7 +71962,7 @@ SP_NOINLINE static void sp_3072_sqr_96(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -72054,7 +72054,7 @@ SP_NOINLINE static sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -72127,7 +72127,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_in_place_48(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -72377,7 +72377,7 @@ SP_NOINLINE static void sp_3072_mul_48(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -72822,7 +72822,7 @@ SP_NOINLINE static void sp_3072_sqr_48(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -73036,7 +73036,7 @@ SP_NOINLINE static void sp_3072_mul_d_96(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -73113,7 +73113,7 @@ SP_NOINLINE static sp_digit sp_3072_cond_sub_48(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -74453,7 +74453,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -74669,7 +74669,7 @@ SP_NOINLINE static void sp_3072_mul_d_48(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -75284,7 +75284,7 @@ SP_NOINLINE static sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -75393,7 +75393,7 @@ SP_NOINLINE static sp_int32 sp_3072_cmp_48(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -75859,7 +75859,7 @@ SP_NOINLINE static sp_digit sp_3072_cond_sub_96(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -78035,7 +78035,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_96(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -78138,7 +78138,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_96(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -78977,7 +78977,7 @@ SP_NOINLINE static sp_digit sp_3072_sub_96(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -79594,7 +79594,7 @@ SP_NOINLINE static sp_digit div_3072_word_96(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -79812,7 +79812,7 @@ SP_NOINLINE static sp_int32 sp_3072_cmp_96(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -80401,7 +80401,7 @@ SP_NOINLINE static sp_digit sp_3072_cond_add_48(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -83105,7 +83105,7 @@ static void sp_3072_lshift_96(sp_digit* r, const sp_digit* a, byte n) "str r3, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a), [n] "+l" (n) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -84050,7 +84050,7 @@ SP_NOINLINE static sp_digit sp_4096_add_word_64(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -85223,7 +85223,7 @@ SP_NOINLINE static sp_digit sp_4096_sub_in_place_128(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -86334,7 +86334,7 @@ SP_NOINLINE static sp_digit sp_4096_add_128(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -86487,7 +86487,7 @@ SP_NOINLINE static sp_digit sp_4096_add_128(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -86566,7 +86566,7 @@ SP_NOINLINE static sp_digit sp_4096_sub_in_place_128(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -86831,7 +86831,7 @@ SP_NOINLINE static void sp_4096_mul_128(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -87296,7 +87296,7 @@ SP_NOINLINE static void sp_4096_sqr_128(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -87508,7 +87508,7 @@ SP_NOINLINE static void sp_4096_mul_d_128(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -87591,7 +87591,7 @@ SP_NOINLINE static sp_digit sp_4096_cond_sub_128(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -90311,7 +90311,7 @@ SP_NOINLINE static void sp_4096_mont_reduce_128(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -90414,7 +90414,7 @@ SP_NOINLINE static sp_digit sp_4096_sub_128(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -91525,7 +91525,7 @@ SP_NOINLINE static sp_digit sp_4096_sub_128(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -92142,7 +92142,7 @@ SP_NOINLINE static sp_digit div_4096_word_128(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -92361,7 +92361,7 @@ SP_NOINLINE static sp_int32 sp_4096_cmp_128(const sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -92955,7 +92955,7 @@ SP_NOINLINE static sp_digit sp_4096_cond_add_64(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -96447,7 +96447,7 @@ static void sp_4096_lshift_128(sp_digit* r, const sp_digit* a, byte n) "str r4, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a), [n] "+l" (n) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -96971,7 +96971,7 @@ SP_NOINLINE static void sp_256_mul_8(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -97396,7 +97396,7 @@ SP_NOINLINE static void sp_256_sqr_8(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -97469,7 +97469,7 @@ SP_NOINLINE static sp_digit sp_256_add_8(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -97561,7 +97561,7 @@ SP_NOINLINE static sp_digit sp_256_add_8(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -98161,7 +98161,7 @@ SP_NOINLINE static void sp_256_mont_reduce_8(sp_digit* a, const sp_digit* m, "str r7, [%[a], #28]\n\t" : [a] "+l" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -98819,7 +98819,7 @@ SP_NOINLINE static void sp_256_mont_reduce_order_8(sp_digit* a, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -99053,7 +99053,7 @@ SP_NOINLINE static sp_int32 sp_256_cmp_8(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -99122,7 +99122,7 @@ SP_NOINLINE static sp_digit sp_256_cond_sub_8(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -99349,7 +99349,7 @@ SP_NOINLINE static void sp_256_mont_add_8(sp_digit* r, const sp_digit* a, "str r5, [%[r], #28]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -99526,7 +99526,7 @@ SP_NOINLINE static void sp_256_mont_dbl_8(sp_digit* r, const sp_digit* a, "str r5, [%[r], #28]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -99859,7 +99859,7 @@ SP_NOINLINE static void sp_256_mont_tpl_8(sp_digit* r, const sp_digit* a, "str r2, [%[r], #28]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -100038,7 +100038,7 @@ SP_NOINLINE static void sp_256_mont_sub_8(sp_digit* r, const sp_digit* a, "str r5, [%[r], #28]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); } @@ -100311,7 +100311,7 @@ SP_NOINLINE static void sp_256_mont_div2_8(sp_digit* r, const sp_digit* a, "str r5, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6" + : "memory", "r2", "r3", "r4", "r5", "r6", "cc" ); } @@ -103900,7 +103900,7 @@ SP_NOINLINE static void sp_256_add_one_8(sp_digit* a) "str r1, [%[a], #28]\n\t" : [a] "+l" (a) : - : "memory", "r1", "r2" + : "memory", "r1", "r2", "cc" ); } @@ -104340,7 +104340,7 @@ SP_NOINLINE static sp_digit sp_256_sub_in_place_8(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -104434,7 +104434,7 @@ SP_NOINLINE static sp_digit sp_256_sub_in_place_8(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -104622,7 +104622,7 @@ SP_NOINLINE static void sp_256_mul_d_8(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -105237,7 +105237,7 @@ SP_NOINLINE static sp_digit div_256_word_8(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -105952,7 +105952,7 @@ SP_NOINLINE static sp_digit sp_256_sub_8(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -106043,7 +106043,7 @@ SP_NOINLINE static sp_digit sp_256_sub_8(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -106199,7 +106199,7 @@ static void sp_256_rshift1_8(sp_digit* r, const sp_digit* a) "str r3, [%[r], #28]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); } @@ -106470,7 +106470,7 @@ static void sp_256_div2_mod_8(sp_digit* r, const sp_digit* a, const sp_digit* m) "str r6, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -107225,7 +107225,7 @@ static int sp_256_num_bits_8(sp_digit* a) "movs %[a], r2\n\t" : [a] "+l" (a), [table] "+l" (table) : - : "memory", "r2", "r3", "r4", "r5", "r6" + : "memory", "r2", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -108553,7 +108553,7 @@ SP_NOINLINE static void sp_384_mul_12(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -108978,7 +108978,7 @@ SP_NOINLINE static void sp_384_sqr_12(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -109051,7 +109051,7 @@ SP_NOINLINE static sp_digit sp_384_add_12(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -109177,7 +109177,7 @@ SP_NOINLINE static sp_digit sp_384_add_12(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -109538,7 +109538,7 @@ SP_NOINLINE static sp_digit sp_384_cond_sub_12(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -110267,7 +110267,7 @@ SP_NOINLINE static void sp_384_mont_reduce_12(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -110517,7 +110517,7 @@ SP_NOINLINE static sp_int32 sp_384_cmp_12(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -110679,7 +110679,7 @@ SP_NOINLINE static sp_digit sp_384_sub_12(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -110804,7 +110804,7 @@ SP_NOINLINE static sp_digit sp_384_sub_12(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -110874,7 +110874,7 @@ SP_NOINLINE static sp_digit sp_384_cond_add_12(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -111121,7 +111121,7 @@ static void sp_384_rshift1_12(sp_digit* r, const sp_digit* a) "str r4, [%[r], #44]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); } @@ -114820,7 +114820,7 @@ SP_NOINLINE static void sp_384_add_one_12(sp_digit* a) "str r1, [%[a], #44]\n\t" : [a] "+l" (a) : - : "memory", "r1", "r2" + : "memory", "r1", "r2", "cc" ); } @@ -115260,7 +115260,7 @@ SP_NOINLINE static sp_digit sp_384_sub_in_place_12(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -115390,7 +115390,7 @@ SP_NOINLINE static sp_digit sp_384_sub_in_place_12(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -115578,7 +115578,7 @@ SP_NOINLINE static void sp_384_mul_d_12(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -116193,7 +116193,7 @@ SP_NOINLINE static sp_digit div_384_word_12(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -117218,7 +117218,7 @@ static void sp_384_div2_mod_12(sp_digit* r, const sp_digit* a, "str r7, [%[r], #44]\n\t" : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -118417,7 +118417,7 @@ static int sp_384_num_bits_12(sp_digit* a) "movs %[a], r2\n\t" : [a] "+l" (a), [table] "+l" (table) : - : "memory", "r2", "r3", "r4", "r5", "r6" + : "memory", "r2", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -119791,7 +119791,7 @@ SP_NOINLINE static void sp_521_mul_17(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -120216,7 +120216,7 @@ SP_NOINLINE static void sp_521_sqr_17(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -120289,7 +120289,7 @@ SP_NOINLINE static sp_digit sp_521_add_17(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -120459,7 +120459,7 @@ SP_NOINLINE static sp_digit sp_521_add_17(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -120736,7 +120736,7 @@ SP_NOINLINE static sp_digit sp_521_cond_sub_17(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -121384,7 +121384,7 @@ SP_NOINLINE static void sp_521_mont_reduce_17(sp_digit* a, const sp_digit* m, "add sp, sp, #0x44\n\t" : [a] "+l" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -122551,7 +122551,7 @@ SP_NOINLINE static void sp_521_mont_reduce_order_17(sp_digit* a, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -122798,7 +122798,7 @@ SP_NOINLINE static sp_int32 sp_521_cmp_17(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -123179,7 +123179,7 @@ SP_NOINLINE static void sp_521_mont_add_17(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7" + : "memory", "r4", "r5", "r6", "r7", "cc" ); } @@ -123495,7 +123495,7 @@ SP_NOINLINE static void sp_521_mont_dbl_17(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -123973,7 +123973,7 @@ SP_NOINLINE static void sp_521_mont_tpl_17(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -124313,7 +124313,7 @@ SP_NOINLINE static void sp_521_mont_sub_17(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7" + : "memory", "r4", "r5", "r6", "r7", "cc" ); } @@ -124381,7 +124381,7 @@ SP_NOINLINE static sp_digit sp_521_cond_add_17(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -124707,7 +124707,7 @@ static void sp_521_rshift1_17(sp_digit* r, const sp_digit* a) "str r3, [%[r], #64]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); } @@ -129072,7 +129072,7 @@ SP_NOINLINE static void sp_521_add_one_17(sp_digit* a) "str r1, [%[a], #64]\n\t" : [a] "+l" (a) : - : "memory", "r1", "r2" + : "memory", "r1", "r2", "cc" ); } @@ -129792,7 +129792,7 @@ static void sp_521_rshift_17(sp_digit* r, const sp_digit* a, byte n) "str r4, [%[r], #64]\n\t" : [r] "+l" (r), [a] "+l" (a), [n] "+l" (n) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -130219,7 +130219,7 @@ static void sp_521_lshift_17(sp_digit* r, const sp_digit* a, byte n) "str r4, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a), [n] "+l" (n) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -131080,7 +131080,7 @@ static void sp_521_lshift_34(sp_digit* r, const sp_digit* a, byte n) "str r5, [%[r], #4]\n\t" : [r] "+l" (r), [a] "+l" (a), [n] "+l" (n) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -131151,7 +131151,7 @@ SP_NOINLINE static sp_digit sp_521_sub_in_place_17(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -131327,7 +131327,7 @@ SP_NOINLINE static sp_digit sp_521_sub_in_place_17(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -131515,7 +131515,7 @@ SP_NOINLINE static void sp_521_mul_d_17(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -132130,7 +132130,7 @@ SP_NOINLINE static sp_digit div_521_word_17(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -132846,7 +132846,7 @@ SP_NOINLINE static sp_digit sp_521_sub_17(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -133015,7 +133015,7 @@ SP_NOINLINE static sp_digit sp_521_sub_17(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -133578,7 +133578,7 @@ static void sp_521_div2_mod_17(sp_digit* r, const sp_digit* a, "str r5, [%[r], #64]\n\t" : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -135347,7 +135347,7 @@ static int sp_521_num_bits_17(sp_digit* a) "movs %[a], r2\n\t" : [a] "+l" (a), [table] "+l" (table) : - : "memory", "r2", "r3", "r4", "r5", "r6" + : "memory", "r2", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)a; } @@ -136606,7 +136606,7 @@ SP_NOINLINE static void sp_1024_mul_16(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -172494,7 +172494,7 @@ SP_NOINLINE static void sp_1024_mul_16(sp_digit* r, const sp_digit* a, "stm %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); } @@ -172919,7 +172919,7 @@ SP_NOINLINE static void sp_1024_sqr_16(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -199274,7 +199274,7 @@ SP_NOINLINE static void sp_1024_sqr_16(sp_digit* r, const sp_digit* a) "stm %[r]!, {r2, r3, r4, r5}\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -199433,7 +199433,7 @@ SP_NOINLINE static sp_digit sp_1024_add_16(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -199585,7 +199585,7 @@ SP_NOINLINE static sp_digit sp_1024_add_word_16(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5" + : "memory", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)r; } @@ -199894,7 +199894,7 @@ SP_NOINLINE static sp_digit sp_1024_sub_in_place_32(sp_digit* a, #endif : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -200189,7 +200189,7 @@ SP_NOINLINE static sp_digit sp_1024_add_32(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -200414,7 +200414,7 @@ SP_NOINLINE static sp_digit sp_1024_sub_16(sp_digit* r, const sp_digit* a, #endif : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6" + : "memory", "r3", "r4", "r5", "r6", "cc" ); return (uint32_t)(size_t)r; } @@ -200693,7 +200693,7 @@ SP_NOINLINE static void sp_1024_mul_32(sp_digit* r, const sp_digit* a, "mov %[b], r10\n\t" : [a] "+l" (a), [b] "+l" (b), [tmp] "+l" (tmp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); XMEMCPY(r, t, sizeof(t)); @@ -201128,7 +201128,7 @@ SP_NOINLINE static void sp_1024_sqr_32(sp_digit* r, const sp_digit* a) "add sp, sp, r6\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -201285,7 +201285,7 @@ SP_NOINLINE static sp_digit sp_1024_sub_in_place_32(sp_digit* a, "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -201349,7 +201349,7 @@ SP_NOINLINE static sp_digit sp_1024_cond_sub_32(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -201423,7 +201423,7 @@ SP_NOINLINE static sp_digit sp_1024_add_32(sp_digit* r, const sp_digit* a, "movs %[r], r3\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)r; } @@ -201611,7 +201611,7 @@ SP_NOINLINE static void sp_1024_mul_d_32(sp_digit* r, const sp_digit* a, "str r3, [%[r]]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -202226,7 +202226,7 @@ SP_NOINLINE static sp_digit div_1024_word_32(sp_digit d1, sp_digit d0, "movs %[d1], r3\n\t" : [d1] "+l" (d1), [d0] "+l" (d0), [div] "+l" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)d1; } @@ -202365,7 +202365,7 @@ SP_NOINLINE static sp_int32 sp_1024_cmp_32(const sp_digit* a, const sp_digit* b) "movs %[a], r2\n\t" : [a] "+l" (a), [b] "+l" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "cc" ); return (uint32_t)(size_t)a; } @@ -203783,7 +203783,7 @@ SP_NOINLINE static void sp_1024_mont_reduce_32(sp_digit* a, const sp_digit* m, #endif /* WOLFSSL_SP_LARGE_CODE */ : [a] "+l" (a), [m] "+l" (m), [mp] "+l" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -204830,7 +204830,7 @@ SP_NOINLINE static void sp_1024_mont_add_32(sp_digit* r, const sp_digit* a, "str r5, [%[r], #124]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7" + : "memory", "r4", "r5", "r6", "r7", "cc" ); } @@ -205707,7 +205707,7 @@ SP_NOINLINE static void sp_1024_mont_dbl_32(sp_digit* r, const sp_digit* a, "str r5, [%[r], #124]\n\t" : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -207477,7 +207477,7 @@ SP_NOINLINE static void sp_1024_mont_tpl_32(sp_digit* r, const sp_digit* a, "str r7, [%[r], #124]\n\t" : [r] "+l" (r), [a] "+l" (a), [m] "+l" (m) : - : "memory", "r3", "r4", "r5", "r6", "r7" + : "memory", "r3", "r4", "r5", "r6", "r7", "cc" ); } @@ -208911,7 +208911,7 @@ SP_NOINLINE static void sp_1024_mont_sub_32(sp_digit* r, const sp_digit* a, "str r5, [%[r], #124]\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7" + : "memory", "r4", "r5", "r6", "r7", "cc" ); } @@ -208979,7 +208979,7 @@ SP_NOINLINE static sp_digit sp_1024_cond_add_32(sp_digit* r, const sp_digit* a, "movs %[r], r4\n\t" : [r] "+l" (r), [a] "+l" (a), [b] "+l" (b), [m] "+l" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -209590,7 +209590,7 @@ static void sp_1024_rshift1_32(sp_digit* r, const sp_digit* a) "str r3, [%[r], #124]\n\t" : [r] "+l" (r), [a] "+l" (a) : - : "memory", "r2", "r3", "r4", "r5" + : "memory", "r2", "r3", "r4", "r5", "cc" ); } diff --git a/wolfcrypt/src/sp_cortexm.c b/wolfcrypt/src/sp_cortexm.c index b5fccb2ab..3ab1accbf 100644 --- a/wolfcrypt/src/sp_cortexm.c +++ b/wolfcrypt/src/sp_cortexm.c @@ -595,7 +595,7 @@ SP_NOINLINE static void sp_2048_mul_8(sp_digit* r, const sp_digit* a, const sp_d "ADD sp, sp, #0x24\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -732,7 +732,7 @@ SP_NOINLINE static void sp_2048_mul_8(sp_digit* r, const sp_digit* a, const sp_d "ADD sp, sp, #0x2c\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr" + : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr", "cc" ); } @@ -774,7 +774,7 @@ static sp_digit sp_2048_add_8(sp_digit* r, const sp_digit* a, const sp_digit* b) "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -827,7 +827,7 @@ static sp_digit sp_2048_sub_in_place_16(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -883,7 +883,7 @@ static sp_digit sp_2048_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -1029,7 +1029,7 @@ static sp_digit sp_2048_sub_in_place_32(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -1113,7 +1113,7 @@ static sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -1319,7 +1319,7 @@ static sp_digit sp_2048_sub_in_place_64(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -1459,7 +1459,7 @@ static sp_digit sp_2048_add_64(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -1778,7 +1778,7 @@ SP_NOINLINE static void sp_2048_sqr_8(sp_digit* r, const sp_digit* a) "ADD sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -1895,7 +1895,7 @@ SP_NOINLINE static void sp_2048_sqr_8(sp_digit* r, const sp_digit* a) "ADD sp, sp, #0x20\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -1936,7 +1936,7 @@ static sp_digit sp_2048_sub_8(sp_digit* r, const sp_digit* a, const sp_digit* b) "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -2027,7 +2027,7 @@ static sp_digit sp_2048_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -2146,7 +2146,7 @@ static sp_digit sp_2048_sub_32(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -2231,7 +2231,7 @@ static sp_digit sp_2048_add_64(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -2277,7 +2277,7 @@ static sp_digit sp_2048_sub_in_place_64(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -2381,7 +2381,7 @@ static void sp_2048_mul_64(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -2474,7 +2474,7 @@ static void sp_2048_sqr_64(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -2540,7 +2540,7 @@ static sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -2586,7 +2586,7 @@ static sp_digit sp_2048_sub_in_place_32(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -2690,7 +2690,7 @@ static void sp_2048_mul_32(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -2783,7 +2783,7 @@ static void sp_2048_sqr_32(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -2859,7 +2859,7 @@ static void sp_2048_mul_d_64(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #256]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -3205,7 +3205,7 @@ static void sp_2048_mul_d_64(sp_digit* r, const sp_digit* a, sp_digit b) "STR r4, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -3270,7 +3270,7 @@ static sp_digit sp_2048_cond_sub_32(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -3414,7 +3414,7 @@ static sp_digit sp_2048_cond_sub_32(sp_digit* r, const sp_digit* a, const sp_dig "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -3721,7 +3721,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -3827,7 +3827,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -4044,7 +4044,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m, s "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -4138,7 +4138,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_2048_cond_sub_32(a - 32, a, m, (sp_digit)0 - mp); } @@ -4224,7 +4224,7 @@ static void sp_2048_mul_d_32(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #128]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -4410,7 +4410,7 @@ static void sp_2048_mul_d_32(sp_digit* r, const sp_digit* a, sp_digit b) "STR r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -4475,7 +4475,7 @@ SP_NOINLINE static sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, sp_digit "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -4547,7 +4547,7 @@ SP_NOINLINE static sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, sp_digit "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -4952,7 +4952,7 @@ static sp_int32 sp_2048_cmp_32(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -5398,7 +5398,7 @@ static sp_digit sp_2048_cond_sub_64(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -5654,7 +5654,7 @@ static sp_digit sp_2048_cond_sub_64(sp_digit* r, const sp_digit* a, const sp_dig "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -6217,7 +6217,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_64(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -6323,7 +6323,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_64(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -6700,7 +6700,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_64(sp_digit* a, const sp_digit* m, s "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -6794,7 +6794,7 @@ SP_NOINLINE static void sp_2048_mont_reduce_64(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_2048_cond_sub_64(a - 64, a, m, (sp_digit)0 - mp); } @@ -6873,7 +6873,7 @@ static sp_digit sp_2048_sub_64(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r11\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -7013,7 +7013,7 @@ static sp_digit sp_2048_sub_64(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -7079,7 +7079,7 @@ SP_NOINLINE static sp_digit div_2048_word_64(sp_digit d1, sp_digit d0, sp_digit "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -7151,7 +7151,7 @@ SP_NOINLINE static sp_digit div_2048_word_64(sp_digit d1, sp_digit d0, sp_digit "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -8011,7 +8011,7 @@ static sp_int32 sp_2048_cmp_64(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -8580,7 +8580,7 @@ static sp_digit sp_2048_cond_add_32(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -8724,7 +8724,7 @@ static sp_digit sp_2048_cond_add_32(sp_digit* r, const sp_digit* a, const sp_dig "ADC %[r], r10, r10\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -9444,7 +9444,7 @@ static void sp_2048_lshift_64(sp_digit* r, const sp_digit* a, byte n) "STR r6, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r7" + : "memory", "r4", "r5", "r6", "r3", "r7", "cc" ); } @@ -10881,7 +10881,7 @@ static void sp_3072_mul_12(sp_digit* r, const sp_digit* a, const sp_digit* b) "STM %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -10929,7 +10929,7 @@ static sp_digit sp_3072_add_12(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -10996,7 +10996,7 @@ static sp_digit sp_3072_sub_in_place_24(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -11066,7 +11066,7 @@ static sp_digit sp_3072_add_24(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -11244,7 +11244,7 @@ static sp_digit sp_3072_sub_in_place_48(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -11356,7 +11356,7 @@ static sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -11618,7 +11618,7 @@ static sp_digit sp_3072_sub_in_place_96(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -11814,7 +11814,7 @@ static sp_digit sp_3072_add_96(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -12584,7 +12584,7 @@ static void sp_3072_sqr_12(sp_digit* r, const sp_digit* a) "STM %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -12631,7 +12631,7 @@ static sp_digit sp_3072_sub_12(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -12736,7 +12736,7 @@ static sp_digit sp_3072_sub_24(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -12883,7 +12883,7 @@ static sp_digit sp_3072_sub_48(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -12968,7 +12968,7 @@ static sp_digit sp_3072_add_96(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -13014,7 +13014,7 @@ static sp_digit sp_3072_sub_in_place_96(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -13118,7 +13118,7 @@ static void sp_3072_mul_96(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -13211,7 +13211,7 @@ static void sp_3072_sqr_96(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -13277,7 +13277,7 @@ static sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -13323,7 +13323,7 @@ static sp_digit sp_3072_sub_in_place_48(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -13427,7 +13427,7 @@ static void sp_3072_mul_48(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -13520,7 +13520,7 @@ static void sp_3072_sqr_48(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -13596,7 +13596,7 @@ static void sp_3072_mul_d_96(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #384]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -14102,7 +14102,7 @@ static void sp_3072_mul_d_96(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -14167,7 +14167,7 @@ static sp_digit sp_3072_cond_sub_48(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -14367,7 +14367,7 @@ static sp_digit sp_3072_cond_sub_48(sp_digit* r, const sp_digit* a, const sp_dig "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -14802,7 +14802,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -14908,7 +14908,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -15205,7 +15205,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m, s "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -15299,7 +15299,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_3072_cond_sub_48(a - 48, a, m, (sp_digit)0 - mp); } @@ -15385,7 +15385,7 @@ static void sp_3072_mul_d_48(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #192]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -15651,7 +15651,7 @@ static void sp_3072_mul_d_48(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -15716,7 +15716,7 @@ SP_NOINLINE static sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, sp_digit "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -15788,7 +15788,7 @@ SP_NOINLINE static sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, sp_digit "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -16369,7 +16369,7 @@ static sp_int32 sp_3072_cmp_48(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -16815,7 +16815,7 @@ static sp_digit sp_3072_cond_sub_96(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -17183,7 +17183,7 @@ static sp_digit sp_3072_cond_sub_96(sp_digit* r, const sp_digit* a, const sp_dig "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -18002,7 +18002,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_96(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -18108,7 +18108,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_96(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -18645,7 +18645,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_96(sp_digit* a, const sp_digit* m, s "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -18739,7 +18739,7 @@ SP_NOINLINE static void sp_3072_mont_reduce_96(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_3072_cond_sub_96(a - 96, a, m, (sp_digit)0 - mp); } @@ -18818,7 +18818,7 @@ static sp_digit sp_3072_sub_96(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r11\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -19014,7 +19014,7 @@ static sp_digit sp_3072_sub_96(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -19080,7 +19080,7 @@ SP_NOINLINE static sp_digit div_3072_word_96(sp_digit d1, sp_digit d0, sp_digit "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -19152,7 +19152,7 @@ SP_NOINLINE static sp_digit div_3072_word_96(sp_digit d1, sp_digit d0, sp_digit "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -20364,7 +20364,7 @@ static sp_int32 sp_3072_cmp_96(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -20933,7 +20933,7 @@ static sp_digit sp_3072_cond_add_48(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -21133,7 +21133,7 @@ static sp_digit sp_3072_cond_add_48(sp_digit* r, const sp_digit* a, const sp_dig "ADC %[r], r10, r10\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -22045,7 +22045,7 @@ static void sp_3072_lshift_96(sp_digit* r, const sp_digit* a, byte n) "STR r4, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r7" + : "memory", "r4", "r5", "r6", "r3", "r7", "cc" ); } @@ -22703,7 +22703,7 @@ static sp_digit sp_4096_sub_in_place_128(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -22955,7 +22955,7 @@ static sp_digit sp_4096_add_128(sp_digit* r, const sp_digit* a, const sp_digit* "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -23079,7 +23079,7 @@ static sp_digit sp_4096_add_128(sp_digit* r, const sp_digit* a, const sp_digit* "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -23125,7 +23125,7 @@ static sp_digit sp_4096_sub_in_place_128(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -23229,7 +23229,7 @@ static void sp_4096_mul_128(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -23322,7 +23322,7 @@ static void sp_4096_sqr_128(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -23396,7 +23396,7 @@ static void sp_4096_mul_d_128(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #512]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -24062,7 +24062,7 @@ static void sp_4096_mul_d_128(sp_digit* r, const sp_digit* a, sp_digit b) "STR r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -24128,7 +24128,7 @@ static sp_digit sp_4096_cond_sub_128(sp_digit* r, const sp_digit* a, const sp_di "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -24608,7 +24608,7 @@ static sp_digit sp_4096_cond_sub_128(sp_digit* r, const sp_digit* a, const sp_di "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -25683,7 +25683,7 @@ SP_NOINLINE static void sp_4096_mont_reduce_128(sp_digit* a, const sp_digit* m, "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -25789,7 +25789,7 @@ SP_NOINLINE static void sp_4096_mont_reduce_128(sp_digit* a, const sp_digit* m, "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -26486,7 +26486,7 @@ SP_NOINLINE static void sp_4096_mont_reduce_128(sp_digit* a, const sp_digit* m, "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -26580,7 +26580,7 @@ SP_NOINLINE static void sp_4096_mont_reduce_128(sp_digit* a, const sp_digit* m, "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); sp_4096_cond_sub_128(a - 128, a, m, (sp_digit)0 - mp); } @@ -26659,7 +26659,7 @@ static sp_digit sp_4096_sub_128(sp_digit* r, const sp_digit* a, const sp_digit* "MOV %[r], r11\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -26911,7 +26911,7 @@ static sp_digit sp_4096_sub_128(sp_digit* r, const sp_digit* a, const sp_digit* "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -26977,7 +26977,7 @@ SP_NOINLINE static sp_digit div_4096_word_128(sp_digit d1, sp_digit d0, sp_digit "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -27049,7 +27049,7 @@ SP_NOINLINE static sp_digit div_4096_word_128(sp_digit d1, sp_digit d0, sp_digit "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -28613,7 +28613,7 @@ static sp_int32 sp_4096_cmp_128(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -29182,7 +29182,7 @@ static sp_digit sp_4096_cond_add_64(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -29438,7 +29438,7 @@ static sp_digit sp_4096_cond_add_64(sp_digit* r, const sp_digit* a, const sp_dig "ADC %[r], r10, r10\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -30542,7 +30542,7 @@ static void sp_4096_lshift_128(sp_digit* r, const sp_digit* a, byte n) "STR r5, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r7" + : "memory", "r4", "r5", "r6", "r3", "r7", "cc" ); } @@ -30926,7 +30926,7 @@ static void sp_256_mul_8(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -31286,7 +31286,7 @@ SP_NOINLINE static void sp_256_mul_8(sp_digit* r, const sp_digit* a, const sp_di "ADD sp, sp, #0x24\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -31423,7 +31423,7 @@ SP_NOINLINE static void sp_256_mul_8(sp_digit* r, const sp_digit* a, const sp_di "ADD sp, sp, #0x2c\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr" + : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr", "cc" ); } @@ -31519,7 +31519,7 @@ static void sp_256_sqr_8(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -31769,7 +31769,7 @@ SP_NOINLINE static void sp_256_sqr_8(sp_digit* r, const sp_digit* a) "ADD sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -31886,7 +31886,7 @@ SP_NOINLINE static void sp_256_sqr_8(sp_digit* r, const sp_digit* a) "ADD sp, sp, #0x20\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); } @@ -31935,7 +31935,7 @@ static sp_digit sp_256_add_8(sp_digit* r, const sp_digit* a, const sp_digit* b) "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -31978,7 +31978,7 @@ static sp_digit sp_256_add_8(sp_digit* r, const sp_digit* a, const sp_digit* b) "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -32220,7 +32220,7 @@ static int sp_256_mod_mul_norm_8(sp_digit* r, const sp_digit* a, const sp_digit* "ADD sp, sp, #0x18\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -32902,7 +32902,7 @@ SP_NOINLINE static void sp_256_mont_mul_8(sp_digit* r, const sp_digit* a, const "ADD sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -33171,7 +33171,7 @@ SP_NOINLINE static void sp_256_mont_mul_8(sp_digit* r, const sp_digit* a, const "ADD sp, sp, #0x4c\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr" + : "memory", "r3", "r4", "r5", "r6", "r10", "r11", "r12", "r7", "r8", "r9", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -33552,7 +33552,7 @@ SP_NOINLINE static void sp_256_mont_sqr_8(sp_digit* r, const sp_digit* a, const "ADD sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -33801,7 +33801,7 @@ SP_NOINLINE static void sp_256_mont_sqr_8(sp_digit* r, const sp_digit* a, const "ADD sp, sp, #0x44\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -34047,7 +34047,7 @@ static sp_int32 sp_256_cmp_8(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -34103,7 +34103,7 @@ static sp_digit sp_256_cond_sub_8(sp_digit* r, const sp_digit* a, const sp_digit "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -34163,7 +34163,7 @@ static sp_digit sp_256_cond_sub_8(sp_digit* r, const sp_digit* a, const sp_digit "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -34280,7 +34280,7 @@ SP_NOINLINE static void sp_256_mont_reduce_8(sp_digit* a, const sp_digit* m, sp_ "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -34375,7 +34375,7 @@ SP_NOINLINE static void sp_256_mont_reduce_8(sp_digit* a, const sp_digit* m, sp_ "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -34532,7 +34532,7 @@ SP_NOINLINE static void sp_256_mont_reduce_8(sp_digit* a, const sp_digit* m, sp_ "ADD sp, sp, #0x44\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -34654,7 +34654,7 @@ SP_NOINLINE static void sp_256_mont_reduce_order_8(sp_digit* a, const sp_digit* "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -34749,7 +34749,7 @@ SP_NOINLINE static void sp_256_mont_reduce_order_8(sp_digit* a, const sp_digit* "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_256_cond_sub_8(a - 8, a, m, (sp_digit)0 - mp); } @@ -34853,7 +34853,7 @@ SP_NOINLINE static void sp_256_mont_add_8(sp_digit* r, const sp_digit* a, const "STM %[r], {r5, r6, r7, r8, r9, r10, r11, r12}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -34913,7 +34913,7 @@ SP_NOINLINE static void sp_256_mont_dbl_8(sp_digit* r, const sp_digit* a, const "STM %[r], {r4, r5, r6, r7, r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -35005,7 +35005,7 @@ SP_NOINLINE static void sp_256_mont_tpl_8(sp_digit* r, const sp_digit* a, const "STM %[r], {r4, r5, r6, r7, r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "r12", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -35069,7 +35069,7 @@ SP_NOINLINE static void sp_256_mont_sub_8(sp_digit* r, const sp_digit* a, const "STM %[r], {r5, r6, r7, r8, r9, r10, r11, r12}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -35136,7 +35136,7 @@ SP_NOINLINE static void sp_256_mont_div2_8(sp_digit* r, const sp_digit* a, const "STM %[r], {r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "cc" ); } @@ -38673,7 +38673,7 @@ static void sp_256_add_one_8(sp_digit* a) "STM %[a]!, {r1, r2, r3, r4}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4" + : "memory", "r1", "r2", "r3", "r4", "cc" ); } @@ -39086,7 +39086,7 @@ static sp_digit sp_256_sub_in_place_8(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -39126,7 +39126,7 @@ static sp_digit sp_256_sub_in_place_8(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -39181,7 +39181,7 @@ static void sp_256_mul_d_8(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #32]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -39247,7 +39247,7 @@ static void sp_256_mul_d_8(sp_digit* r, const sp_digit* a, sp_digit b) "STR r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -39312,7 +39312,7 @@ SP_NOINLINE static sp_digit div_256_word_8(sp_digit d1, sp_digit d0, sp_digit di "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -39384,7 +39384,7 @@ SP_NOINLINE static sp_digit div_256_word_8(sp_digit d1, sp_digit d0, sp_digit di "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -40077,7 +40077,7 @@ static sp_digit sp_256_sub_8(sp_digit* r, const sp_digit* a, const sp_digit* b) "MOV %[r], r11\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -40119,7 +40119,7 @@ static sp_digit sp_256_sub_8(sp_digit* r, const sp_digit* a, const sp_digit* b) "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -40165,7 +40165,7 @@ static void sp_256_rshift1_8(sp_digit* r, const sp_digit* a) "STRD r8, r9, [%[r], #8]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -40245,7 +40245,7 @@ static void sp_256_div2_mod_8(sp_digit* r, const sp_digit* a, const sp_digit* m) "STM %[r], {r8, r9, r10, r11}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); } @@ -40388,7 +40388,7 @@ static int sp_256_num_bits_8(const sp_digit* a) "MOV %[a], r4\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5" + : "memory", "r1", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -41576,7 +41576,7 @@ static void sp_384_mul_12(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -42604,7 +42604,7 @@ static void sp_384_mul_12(sp_digit* r, const sp_digit* a, const sp_digit* b) "STM %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -42699,7 +42699,7 @@ static void sp_384_sqr_12(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -43400,7 +43400,7 @@ static void sp_384_sqr_12(sp_digit* r, const sp_digit* a) "STM %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -43448,7 +43448,7 @@ static sp_digit sp_384_add_12(sp_digit* r, const sp_digit* a, const sp_digit* b) "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -43498,7 +43498,7 @@ static sp_digit sp_384_add_12(sp_digit* r, const sp_digit* a, const sp_digit* b) "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -43846,7 +43846,7 @@ static sp_digit sp_384_cond_sub_12(sp_digit* r, const sp_digit* a, const sp_digi "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -43920,7 +43920,7 @@ static sp_digit sp_384_cond_sub_12(sp_digit* r, const sp_digit* a, const sp_digi "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -44068,7 +44068,7 @@ SP_NOINLINE static void sp_384_mont_reduce_12(sp_digit* a, const sp_digit* m, sp "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_384_cond_sub_12(a - 12, a, m, (sp_digit)0 - mp); } @@ -44183,7 +44183,7 @@ SP_NOINLINE static void sp_384_mont_reduce_12(sp_digit* a, const sp_digit* m, sp "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_384_cond_sub_12(a - 12, a, m, (sp_digit)0 - mp); } @@ -44510,7 +44510,7 @@ static sp_int32 sp_384_cmp_12(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -44679,7 +44679,7 @@ static sp_digit sp_384_sub_12(sp_digit* r, const sp_digit* a, const sp_digit* b) "MOV %[r], r11\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -44728,7 +44728,7 @@ static sp_digit sp_384_sub_12(sp_digit* r, const sp_digit* a, const sp_digit* b) "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -44779,7 +44779,7 @@ static sp_digit sp_384_cond_add_12(sp_digit* r, const sp_digit* a, const sp_digi "MOV %[r], r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -44853,7 +44853,7 @@ static sp_digit sp_384_cond_add_12(sp_digit* r, const sp_digit* a, const sp_digi "ADC %[r], r10, r10\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -44948,7 +44948,7 @@ static void sp_384_rshift1_12(sp_digit* r, const sp_digit* a) "STR r4, [%[r], #44]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4" + : "memory", "r2", "r3", "r4", "cc" ); } @@ -48564,7 +48564,7 @@ static void sp_384_add_one_12(sp_digit* a) "STM %[a]!, {r1, r2, r3, r4}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4" + : "memory", "r1", "r2", "r3", "r4", "cc" ); } @@ -48977,7 +48977,7 @@ static sp_digit sp_384_sub_in_place_12(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -49024,7 +49024,7 @@ static sp_digit sp_384_sub_in_place_12(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -49079,7 +49079,7 @@ static void sp_384_mul_d_12(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #48]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -49165,7 +49165,7 @@ static void sp_384_mul_d_12(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -49230,7 +49230,7 @@ SP_NOINLINE static sp_digit div_384_word_12(sp_digit d1, sp_digit d0, sp_digit d "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -49302,7 +49302,7 @@ SP_NOINLINE static sp_digit div_384_word_12(sp_digit d1, sp_digit d0, sp_digit d "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -50038,7 +50038,7 @@ static void sp_384_div2_mod_12(sp_digit* r, const sp_digit* a, const sp_digit* m "STR r10, [%[r], #44]\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); } @@ -50249,7 +50249,7 @@ static int sp_384_num_bits_12(const sp_digit* a) "MOV %[a], r4\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5" + : "memory", "r1", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -51486,7 +51486,7 @@ static void sp_521_mul_17(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -53528,7 +53528,7 @@ static void sp_521_mul_17(sp_digit* r, const sp_digit* a, const sp_digit* b) "STM %[r]!, {r3}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -53626,7 +53626,7 @@ static void sp_521_sqr_17(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -54911,7 +54911,7 @@ static void sp_521_sqr_17(sp_digit* r, const sp_digit* a) "STM %[r]!, {r2}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -54965,7 +54965,7 @@ static sp_digit sp_521_add_17(sp_digit* r, const sp_digit* a, const sp_digit* b) "ADC %[r], r4, #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -55026,7 +55026,7 @@ static sp_digit sp_521_add_17(sp_digit* r, const sp_digit* a, const sp_digit* b) "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -55290,7 +55290,7 @@ static sp_digit sp_521_cond_sub_17(sp_digit* r, const sp_digit* a, const sp_digi "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -55383,7 +55383,7 @@ static sp_digit sp_521_cond_sub_17(sp_digit* r, const sp_digit* a, const sp_digi "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -55511,7 +55511,7 @@ SP_NOINLINE static void sp_521_mont_reduce_17(sp_digit* a, const sp_digit* m, sp "STM %[a]!, {r1, r2, r3, r4, r5, r6, r7, r8}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -55786,7 +55786,7 @@ SP_NOINLINE static void sp_521_mont_reduce_order_17(sp_digit* a, const sp_digit* "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_521_cond_sub_17(a - 17, a, m, (sp_digit)0 - mp); } @@ -56007,7 +56007,7 @@ SP_NOINLINE static void sp_521_mont_reduce_order_17(sp_digit* a, const sp_digit* "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_521_cond_sub_17(a - 17, a, m, (sp_digit)0 - mp); } @@ -56386,7 +56386,7 @@ static sp_int32 sp_521_cmp_17(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -56519,7 +56519,7 @@ SP_NOINLINE static void sp_521_mont_add_17(sp_digit* r, const sp_digit* a, const "STM %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -56599,7 +56599,7 @@ SP_NOINLINE static void sp_521_mont_dbl_17(sp_digit* r, const sp_digit* a, const "STM %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -56699,7 +56699,7 @@ SP_NOINLINE static void sp_521_mont_tpl_17(sp_digit* r, const sp_digit* a, const "STM %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r2", "r3", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -56791,7 +56791,7 @@ SP_NOINLINE static void sp_521_mont_sub_17(sp_digit* r, const sp_digit* a, const "STM %[r]!, {r4}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); #ifndef WOLFSSL_NO_VAR_ASSIGN_REG (void)m_p; @@ -56880,7 +56880,7 @@ static void sp_521_rshift1_17(sp_digit* r, const sp_digit* a) "STR r3, [%[r], #64]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4" + : "memory", "r2", "r3", "r4", "cc" ); } @@ -61127,7 +61127,7 @@ static void sp_521_add_one_17(sp_digit* a) "STM %[a]!, {r1}\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4" + : "memory", "r1", "r2", "r3", "r4", "cc" ); } @@ -61596,7 +61596,7 @@ static void sp_521_rshift_17(sp_digit* r, const sp_digit* a, byte n) "STRD r4, r5, [%[r], #60]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r7" + : "memory", "r4", "r5", "r6", "r3", "r7", "cc" ); } @@ -61722,7 +61722,7 @@ static void sp_521_lshift_17(sp_digit* r, const sp_digit* a, byte n) "STR r5, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r7" + : "memory", "r4", "r5", "r6", "r3", "r7", "cc" ); } @@ -61946,7 +61946,7 @@ static void sp_521_lshift_34(sp_digit* r, const sp_digit* a, byte n) "STR r6, [%[r], #4]\n\t" : [r] "+r" (r), [a] "+r" (a), [n] "+r" (n) : - : "memory", "r4", "r5", "r6", "r3", "r7" + : "memory", "r4", "r5", "r6", "r3", "r7", "cc" ); } @@ -61995,7 +61995,7 @@ static sp_digit sp_521_sub_in_place_17(sp_digit* a, const sp_digit* b) "SBC %[a], %[a], %[a]\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -62053,7 +62053,7 @@ static sp_digit sp_521_sub_in_place_17(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -62108,7 +62108,7 @@ static void sp_521_mul_d_17(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #68]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -62219,7 +62219,7 @@ static void sp_521_mul_d_17(sp_digit* r, const sp_digit* a, sp_digit b) "STR r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -62284,7 +62284,7 @@ SP_NOINLINE static sp_digit div_521_word_17(sp_digit d1, sp_digit d0, sp_digit d "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -62356,7 +62356,7 @@ SP_NOINLINE static sp_digit div_521_word_17(sp_digit d1, sp_digit d0, sp_digit d "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -63055,7 +63055,7 @@ static sp_digit sp_521_sub_17(sp_digit* r, const sp_digit* a, const sp_digit* b) "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -63115,7 +63115,7 @@ static sp_digit sp_521_sub_17(sp_digit* r, const sp_digit* a, const sp_digit* b) "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -63270,7 +63270,7 @@ static void sp_521_div2_mod_17(sp_digit* r, const sp_digit* a, const sp_digit* m "STR r9, [%[r], #64]\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); } @@ -63566,7 +63566,7 @@ static int sp_521_num_bits_17(const sp_digit* a) "MOV %[a], r4\n\t" : [a] "+r" (a) : - : "memory", "r1", "r2", "r3", "r4", "r5" + : "memory", "r1", "r2", "r3", "r4", "r5", "cc" ); return (uint32_t)(size_t)a; } @@ -66391,7 +66391,7 @@ static void sp_1024_mul_16(sp_digit* r, const sp_digit* a, const sp_digit* b) "STM %[r]!, {r3, r4, r5, r6}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r11", "r12", "cc" ); } @@ -67543,7 +67543,7 @@ static void sp_1024_sqr_16(sp_digit* r, const sp_digit* a) "STM %[r]!, {r2, r3, r4, r8}\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r12", "cc" ); } @@ -67598,7 +67598,7 @@ static sp_digit sp_1024_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -67679,7 +67679,7 @@ static sp_digit sp_1024_sub_in_place_32(sp_digit* a, const sp_digit* b) "SBC %[a], r9, r9\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)a; } @@ -67763,7 +67763,7 @@ static sp_digit sp_1024_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b "ADC %[r], %[r], #0x0\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -67887,7 +67887,7 @@ static sp_digit sp_1024_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b "SBC %[r], r6, r6\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -68026,7 +68026,7 @@ static void sp_1024_mul_32(sp_digit* r, const sp_digit* a, const sp_digit* b) #endif : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -68119,7 +68119,7 @@ static void sp_1024_sqr_32(sp_digit* r, const sp_digit* a) #endif : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "lr", "r11", "cc" ); } @@ -68249,7 +68249,7 @@ static sp_digit sp_1024_sub_in_place_32(sp_digit* a, const sp_digit* b) "MOV %[a], r10\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc" ); return (uint32_t)(size_t)a; } @@ -68300,7 +68300,7 @@ static sp_digit sp_1024_cond_sub_32(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r4\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -68444,7 +68444,7 @@ static sp_digit sp_1024_cond_sub_32(sp_digit* r, const sp_digit* a, const sp_dig "SBC %[r], r5, r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); return (uint32_t)(size_t)r; } @@ -68493,7 +68493,7 @@ static sp_digit sp_1024_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b "MOV %[r], r3\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r3", "r12", "cc" ); return (uint32_t)(size_t)r; } @@ -68548,7 +68548,7 @@ static void sp_1024_mul_d_32(sp_digit* r, const sp_digit* a, sp_digit b) "STR r3, [%[r], #128]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "cc" ); } @@ -68734,7 +68734,7 @@ static void sp_1024_mul_d_32(sp_digit* r, const sp_digit* a, sp_digit b) "STR r5, [%[r]]\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); } @@ -68799,7 +68799,7 @@ SP_NOINLINE static sp_digit div_1024_word_32(sp_digit d1, sp_digit d0, sp_digit "ADD %[d1], r6, r3\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -68871,7 +68871,7 @@ SP_NOINLINE static sp_digit div_1024_word_32(sp_digit d1, sp_digit d0, sp_digit "SUB %[d1], r3, r8\n\t" : [d1] "+r" (d1), [d0] "+r" (d0), [div] "+r" (div) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)d1; } @@ -69306,7 +69306,7 @@ static sp_int32 sp_1024_cmp_32(const sp_digit* a, const sp_digit* b) "MOV %[a], r2\n\t" : [a] "+r" (a), [b] "+r" (b) : - : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8" + : "memory", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)a; } @@ -69944,7 +69944,7 @@ SP_NOINLINE static void sp_1024_mont_reduce_32(sp_digit* a, const sp_digit* m, s "MOV %[mp], r3\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_1024_cond_sub_32(a - 32, a, m, mp); } @@ -70164,7 +70164,7 @@ SP_NOINLINE static void sp_1024_mont_reduce_32(sp_digit* a, const sp_digit* m, s "MOV %[mp], r5\n\t" : [a] "+r" (a), [m] "+r" (m), [mp] "+r" (mp) : - : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr" + : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr", "cc" ); sp_1024_cond_sub_32(a - 32, a, m, mp); } @@ -70482,7 +70482,7 @@ SP_NOINLINE static void sp_1024_mont_add_32(sp_digit* r, const sp_digit* a, cons "STM %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -70643,7 +70643,7 @@ SP_NOINLINE static void sp_1024_mont_dbl_32(sp_digit* r, const sp_digit* a, cons "STM %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12" + : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12", "cc" ); } @@ -70959,7 +70959,7 @@ SP_NOINLINE static void sp_1024_mont_tpl_32(sp_digit* r, const sp_digit* a, cons "STM %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [m] "+r" (m) : - : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12" + : "memory", "r8", "r9", "r10", "r11", "r4", "r5", "r6", "r7", "r12", "cc" ); } @@ -71132,7 +71132,7 @@ SP_NOINLINE static void sp_1024_mont_sub_32(sp_digit* r, const sp_digit* a, cons "STM %[r]!, {r4, r5, r6, r7}\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "cc" ); } @@ -71181,7 +71181,7 @@ static sp_digit sp_1024_cond_add_32(sp_digit* r, const sp_digit* a, const sp_dig "MOV %[r], r5\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8" + : "memory", "r4", "r5", "r6", "r7", "r8", "cc" ); return (uint32_t)(size_t)r; } @@ -71325,7 +71325,7 @@ static sp_digit sp_1024_cond_add_32(sp_digit* r, const sp_digit* a, const sp_dig "ADC %[r], r10, r10\n\t" : [r] "+r" (r), [a] "+r" (a), [b] "+r" (b), [m] "+r" (m) : - : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10" + : "memory", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "cc" ); return (uint32_t)(size_t)r; } @@ -71471,7 +71471,7 @@ static void sp_1024_rshift1_32(sp_digit* r, const sp_digit* a) "STR r3, [%[r], #124]\n\t" : [r] "+r" (r), [a] "+r" (a) : - : "memory", "r2", "r3", "r4" + : "memory", "r2", "r3", "r4", "cc" ); }