Merge pull request #7013 from SparkiDev/asm_arm_clobber_cc

ARM asm: add "cc" to all clobber lists
This commit is contained in:
JacobBarthelmeh
2023-11-30 11:05:03 -07:00
committed by GitHub
14 changed files with 809 additions and 809 deletions

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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"
);
}

View File

@ -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