mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +02:00
ARM asm: add "cc" to all clobber lists
Carry flags are more often than not affected by assembly code. Carry wasn't in any inline assembly clobber list. Always clobber "cc" to be safe.
This commit is contained in:
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user