Merge pull request #6979 from SparkiDev/sp_arm64_noinline

SP ARM64 P-256: mark functions as SP_NOINLINE
This commit is contained in:
JacobBarthelmeh
2023-11-21 09:48:08 -07:00
committed by GitHub
7 changed files with 124 additions and 105 deletions

View File

@ -71032,8 +71032,8 @@ static SP_NOINLINE void sp_256_mont_sqr_8(sp_digit* r_p, const sp_digit* a_p, co
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_8(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_8(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_8(r, a, m, mp);
for (; n > 1; n--) {
@ -89861,8 +89861,8 @@ SP_NOINLINE static void sp_384_mont_sqr_12(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_12(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_12(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_12(r, a, m, mp);
for (; n > 1; n--) {
@ -116850,8 +116850,8 @@ SP_NOINLINE static void sp_521_mont_sqr_17(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_17(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_17(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_17(r, a, m, mp);
for (; n > 1; n--) {

View File

@ -21872,7 +21872,8 @@ static void sp_256_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
* a A single precision integer.
* b A single precision integer.
*/
static void sp_256_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
SP_NOINLINE static void sp_256_mul_4(sp_digit* r, const sp_digit* a,
const sp_digit* b)
{
__asm__ __volatile__ (
"ldp x13, x14, [%[a], 0]\n\t"
@ -21978,7 +21979,7 @@ static void sp_256_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
* r A single precision integer.
* a A single precision integer.
*/
static void sp_256_sqr_4(sp_digit* r, const sp_digit* a)
SP_NOINLINE static void sp_256_sqr_4(sp_digit* r, const sp_digit* a)
{
__asm__ __volatile__ (
"ldp x12, x13, [%[a], 0]\n\t"
@ -22421,8 +22422,8 @@ static void sp_256_cond_copy_4(sp_digit* r, const sp_digit* a, sp_digit m)
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_mul_4(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m, sp_digit mp)
{
(void)m;
(void)mp;
@ -22596,8 +22597,8 @@ static void sp_256_mont_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_4(sp_digit* r, const sp_digit* a, const sp_digit* m,
sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_4(sp_digit* r, const sp_digit* a,
const sp_digit* m, sp_digit mp)
{
(void)m;
(void)mp;
@ -22741,8 +22742,8 @@ static void sp_256_mont_sqr_4(sp_digit* r, const sp_digit* a, const sp_digit* m,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_4(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_4(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_4(r, a, m, mp);
for (; n > 1; n--) {
@ -23081,7 +23082,8 @@ static void sp_256_map_4(sp_point_256* r, const sp_point_256* p,
* a Number to double in Montgomery form.
* m Modulus (prime).
*/
static void sp_256_mont_dbl_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_256_mont_dbl_4(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x3, x4, [%[a]]\n\t"
@ -23121,7 +23123,8 @@ static void sp_256_mont_dbl_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
* a Number to triple in Montgomery form.
* m Modulus (prime).
*/
static void sp_256_mont_tpl_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_256_mont_tpl_4(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x9, x10, [%[a]]\n\t"
@ -23176,8 +23179,8 @@ static void sp_256_mont_tpl_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
* b Number to subtract with in Montgomery form.
* m Modulus (prime).
*/
static void sp_256_mont_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_256_mont_sub_4(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -23218,7 +23221,8 @@ static void sp_256_mont_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
* a Number to divide.
* m Modulus (prime).
*/
static void sp_256_mont_div2_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_256_mont_div2_4(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x3, x4, [%[a], 0]\n\t"
@ -23250,8 +23254,8 @@ static void sp_256_mont_div2_4(sp_digit* r, const sp_digit* a, const sp_digit* m
* b Number to subtract with in Montgomery form.
* m Modulus (prime).
*/
static void sp_256_mont_rsb_sub_dbl_4(sp_digit* r, const sp_digit* a,
sp_digit* b, const sp_digit* m)
SP_NOINLINE static void sp_256_mont_rsb_sub_dbl_4(sp_digit* r,
const sp_digit* a, sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x8, x9, [%[b]]\n\t"
@ -23327,8 +23331,8 @@ static void sp_256_mont_rsb_sub_dbl_4(sp_digit* r, const sp_digit* a,
* b Number to subtract with in Montgomery form.
* m Modulus (prime).
*/
static void sp_256_mont_add_sub_4(sp_digit* ra, sp_digit* rs, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
SP_NOINLINE static void sp_256_mont_add_sub_4(sp_digit* ra,
sp_digit* rs, const sp_digit* a, const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -23807,7 +23811,8 @@ static void sp_256_proj_point_add_4(sp_point_256* r,
: [r] "r" (r), [p] "r" (p), [q] "r" (q), [x] "r" (x),
[y] "r" (y), [z] "r" (z)
: "memory", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17",
"x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28"
"x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28",
"cc"
);
}
}
@ -24039,7 +24044,8 @@ static int sp_256_proj_point_add_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r,
: [r] "r" (r), [p] "r" (p), [q] "r" (q), [x] "r" (ctx->x),
[y] "r" (ctx->y), [z] "r" (ctx->z)
: "memory", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17",
"x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28"
"x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28",
"cc"
);
}
ctx->state = 25;
@ -24282,8 +24288,8 @@ static void sp_256_ecc_recode_6_4(const sp_digit* k, ecc_recode_256* v)
* table Table - start of the entries to access
* idx Index of entry to retrieve.
*/
static void sp_256_get_point_33_4(sp_point_256* r, const sp_point_256* table,
int idx)
SP_NOINLINE static void sp_256_get_point_33_4(sp_point_256* r,
const sp_point_256* table, int idx)
{
__asm__ __volatile__ (
"mov w30, #1\n\t"
@ -24340,7 +24346,7 @@ static void sp_256_get_point_33_4(sp_point_256* r, const sp_point_256* table,
"stp x13, x14, [%[r], #144]\n\t"
: [table] "+r" (table)
: [r] "r" (r), [idx] "r" (idx)
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30"
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30", "cc"
);
}
#endif /* !WC_NO_CACHE_RESISTANT */
@ -24609,7 +24615,8 @@ static void sp_256_proj_point_add_qz1_4(sp_point_256* r,
: [r] "r" (r), [p] "r" (p), [q] "r" (q), [x] "r" (x),
[y] "r" (y), [z] "r" (z)
: "memory", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17",
"x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28"
"x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28",
"cc"
);
}
}
@ -24740,7 +24747,7 @@ static int sp_256_gen_stripe_table_4(const sp_point_256* a,
* table Table - start of the entries to access
* idx Index of entry to retrieve.
*/
static void sp_256_get_entry_64_4(sp_point_256* r,
SP_NOINLINE static void sp_256_get_entry_64_4(sp_point_256* r,
const sp_table_entry_256* table, int idx)
{
__asm__ __volatile__ (
@ -24784,7 +24791,7 @@ static void sp_256_get_entry_64_4(sp_point_256* r,
"stp x9, x10, [%[r], #80]\n\t"
: [table] "+r" (table)
: [r] "r" (r), [idx] "r" (idx)
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30"
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30", "cc"
);
}
#endif /* !WC_NO_CACHE_RESISTANT */
@ -25169,7 +25176,7 @@ static int sp_256_gen_stripe_table_4(const sp_point_256* a,
* table Table - start of the entries to access
* idx Index of entry to retrieve.
*/
static void sp_256_get_entry_256_4(sp_point_256* r,
SP_NOINLINE static void sp_256_get_entry_256_4(sp_point_256* r,
const sp_table_entry_256* table, int idx)
{
__asm__ __volatile__ (
@ -25213,7 +25220,7 @@ static void sp_256_get_entry_256_4(sp_point_256* r,
"stp x9, x10, [%[r], #80]\n\t"
: [table] "+r" (table)
: [r] "r" (r), [idx] "r" (idx)
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30"
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30", "cc"
);
}
#endif /* !WC_NO_CACHE_RESISTANT */
@ -27368,7 +27375,7 @@ static void sp_256_ecc_recode_7_4(const sp_digit* k, ecc_recode_256* v)
* table Table - start of the entries to access
* idx Index of entry to retrieve.
*/
static void sp_256_get_entry_65_4(sp_point_256* r,
SP_NOINLINE static void sp_256_get_entry_65_4(sp_point_256* r,
const sp_table_entry_256* table, int idx)
{
__asm__ __volatile__ (
@ -27412,7 +27419,7 @@ static void sp_256_get_entry_65_4(sp_point_256* r,
"stp x9, x10, [%[r], #80]\n\t"
: [table] "+r" (table)
: [r] "r" (r), [idx] "r" (idx)
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30"
: "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "w30", "cc"
);
}
#endif /* !WC_NO_CACHE_RESISTANT */
@ -40321,7 +40328,8 @@ static WC_INLINE int sp_256_mod_4(sp_digit* r, const sp_digit* a, const sp_digit
* a First operand of the multiplication.
* b Second operand of the multiplication.
*/
static void sp_256_mont_mul_order_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
SP_NOINLINE static void sp_256_mont_mul_order_4(sp_digit* r,
const sp_digit* a, const sp_digit* b)
{
__asm__ __volatile__ (
"ldp x13, x14, [%[a], 0]\n\t"
@ -40546,7 +40554,8 @@ static const uint64_t p256_order_minus_2[4] = {
* r Result of the squaring.
* a Number to square.
*/
static void sp_256_mont_sqr_order_4(sp_digit* r, const sp_digit* a)
SP_NOINLINE static void sp_256_mont_sqr_order_4(sp_digit* r,
const sp_digit* a)
{
__asm__ __volatile__ (
"ldp x12, x13, [%[a], 0]\n\t"
@ -40732,7 +40741,8 @@ static void sp_256_mont_sqr_order_4(sp_digit* r, const sp_digit* a)
* r Result of the squaring.
* a Number to square.
*/
static void sp_256_mont_sqr_n_order_4(sp_digit* r, const sp_digit* a, int n)
SP_NOINLINE static void sp_256_mont_sqr_n_order_4(sp_digit* r,
const sp_digit* a, int n)
{
__asm__ __volatile__ (
@ -42080,8 +42090,8 @@ int sp_ecc_verify_256_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
* b Second number to add in Montgomery form.
* m Modulus (prime).
*/
static void sp_256_mont_add_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_256_mont_add_4(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -43961,8 +43971,8 @@ SP_NOINLINE static void sp_384_mont_sqr_6(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_6(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_6(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_6(r, a, m, mp);
for (; n > 1; n--) {
@ -44250,8 +44260,8 @@ static void sp_384_map_6(sp_point_384* r, const sp_point_384* p,
* b Second number to add in Montgomery form.
* m Modulus (prime).
*/
static void sp_384_mont_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_384_mont_add_6(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
sp_digit o;
@ -44265,7 +44275,8 @@ static void sp_384_mont_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
* a Number to double in Montgomery form.
* m Modulus (prime).
*/
static void sp_384_mont_dbl_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_384_mont_dbl_6(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
sp_digit o;
@ -44279,7 +44290,8 @@ static void sp_384_mont_dbl_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
* a Number to triple in Montgomery form.
* m Modulus (prime).
*/
static void sp_384_mont_tpl_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_384_mont_tpl_6(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
sp_digit o;
@ -44377,8 +44389,8 @@ static sp_digit sp_384_cond_add_6(sp_digit* r, const sp_digit* a, const sp_digit
* b Number to subtract with in Montgomery form.
* m Modulus (prime).
*/
static void sp_384_mont_sub_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_384_mont_sub_6(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
sp_digit o;
@ -44413,7 +44425,8 @@ static void sp_384_rshift1_6(sp_digit* r, const sp_digit* a)
* a Number to divide.
* m Modulus (prime).
*/
static void sp_384_mont_div2_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_384_mont_div2_6(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
sp_digit o;
@ -45260,8 +45273,8 @@ static void sp_384_ecc_recode_6_6(const sp_digit* k, ecc_recode_384* v)
* table Table - start of the entries to access
* idx Index of entry to retrieve.
*/
static void sp_384_get_point_33_6(sp_point_384* r, const sp_point_384* table,
int idx)
SP_NOINLINE static void sp_384_get_point_33_6(sp_point_384* r,
const sp_point_384* table, int idx)
{
int i;
sp_digit mask;
@ -72148,8 +72161,8 @@ SP_NOINLINE static void sp_521_mont_sqr_9(sp_digit* r, const sp_digit* a, const
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_9(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_9(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_9(r, a, m, mp);
for (; n > 1; n--) {
@ -72448,8 +72461,8 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p,
* b Second number to add in Montgomery form.
* m Modulus (prime).
*/
static void sp_521_mont_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_521_mont_add_9(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -72501,7 +72514,8 @@ static void sp_521_mont_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
* a Number to double in Montgomery form.
* m Modulus (prime).
*/
static void sp_521_mont_dbl_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_521_mont_dbl_9(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -72548,7 +72562,8 @@ static void sp_521_mont_dbl_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
* a Number to triple in Montgomery form.
* m Modulus (prime).
*/
static void sp_521_mont_tpl_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_521_mont_tpl_9(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -72605,8 +72620,8 @@ static void sp_521_mont_tpl_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
* b Number to subtract with in Montgomery form.
* m Modulus (prime).
*/
static void sp_521_mont_sub_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_521_mont_sub_9(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -72787,7 +72802,8 @@ static void sp_521_rshift1_9(sp_digit* r, const sp_digit* a)
* a Number to divide.
* m Modulus (prime).
*/
static void sp_521_mont_div2_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_521_mont_div2_9(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
sp_digit o;
@ -73636,8 +73652,8 @@ static void sp_521_ecc_recode_6_9(const sp_digit* k, ecc_recode_521* v)
* table Table - start of the entries to access
* idx Index of entry to retrieve.
*/
static void sp_521_get_point_33_9(sp_point_521* r, const sp_point_521* table,
int idx)
SP_NOINLINE static void sp_521_get_point_33_9(sp_point_521* r,
const sp_point_521* table, int idx)
{
int i;
sp_digit mask;
@ -116258,8 +116274,8 @@ static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p,
* b Second number to add in Montgomery form.
* m Modulus (prime).
*/
static void sp_1024_mont_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_1024_mont_add_16(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -116359,7 +116375,8 @@ static void sp_1024_mont_add_16(sp_digit* r, const sp_digit* a, const sp_digit*
* a Number to double in Montgomery form.
* m Modulus (prime).
*/
static void sp_1024_mont_dbl_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_1024_mont_dbl_16(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -116451,7 +116468,8 @@ static void sp_1024_mont_dbl_16(sp_digit* r, const sp_digit* a, const sp_digit*
* a Number to triple in Montgomery form.
* m Modulus (prime).
*/
static void sp_1024_mont_tpl_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_1024_mont_tpl_16(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -116613,8 +116631,8 @@ static void sp_1024_mont_tpl_16(sp_digit* r, const sp_digit* a, const sp_digit*
* b Number to subtract with in Montgomery form.
* m Modulus (prime).
*/
static void sp_1024_mont_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
const sp_digit* m)
SP_NOINLINE static void sp_1024_mont_sub_16(sp_digit* r, const sp_digit* a,
const sp_digit* b, const sp_digit* m)
{
__asm__ __volatile__ (
"ldp x4, x5, [%[a], 0]\n\t"
@ -116882,7 +116900,8 @@ static void sp_1024_rshift1_16(sp_digit* r, const sp_digit* a)
* a Number to divide.
* m Modulus (prime).
*/
static void sp_1024_mont_div2_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
SP_NOINLINE static void sp_1024_mont_div2_16(sp_digit* r, const sp_digit* a,
const sp_digit* m)
{
sp_digit o;

View File

@ -98862,8 +98862,8 @@ SP_NOINLINE static void sp_256_mont_sqr_8(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_8(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_8(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_8(r, a, m, mp);
for (; n > 1; n--) {
@ -110310,8 +110310,8 @@ SP_NOINLINE static void sp_384_mont_sqr_12(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_12(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_12(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_12(r, a, m, mp);
for (; n > 1; n--) {
@ -122594,8 +122594,8 @@ SP_NOINLINE static void sp_521_mont_sqr_17(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_17(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_17(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_17(r, a, m, mp);
for (; n > 1; n--) {

View File

@ -20988,8 +20988,8 @@ SP_NOINLINE static void sp_256_mont_sqr_9(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_9(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_9(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_9(r, a, m, mp);
for (; n > 1; n--) {
@ -28396,8 +28396,8 @@ SP_NOINLINE static void sp_384_mont_sqr_15(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_15(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_15(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_15(r, a, m, mp);
for (; n > 1; n--) {
@ -36069,8 +36069,8 @@ SP_NOINLINE static void sp_521_mont_sqr_21(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_21(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_21(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_21(r, a, m, mp);
for (; n > 1; n--) {

View File

@ -21968,8 +21968,8 @@ SP_NOINLINE static void sp_256_mont_sqr_5(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_5(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_5(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_5(r, a, m, mp);
for (; n > 1; n--) {
@ -28872,8 +28872,8 @@ SP_NOINLINE static void sp_384_mont_sqr_7(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_7(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_7(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_7(r, a, m, mp);
for (; n > 1; n--) {
@ -36410,8 +36410,8 @@ SP_NOINLINE static void sp_521_mont_sqr_9(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_9(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_9(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_9(r, a, m, mp);
for (; n > 1; n--) {

View File

@ -33861,8 +33861,8 @@ static void sp_256_mont_sqr_8(sp_digit* r, const sp_digit* a, const sp_digit* m,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_8(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_8(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_8(r, a, m, mp);
for (; n > 1; n--) {
@ -44264,8 +44264,8 @@ SP_NOINLINE static void sp_384_mont_sqr_12(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_12(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_12(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_12(r, a, m, mp);
for (; n > 1; n--) {
@ -56088,8 +56088,8 @@ SP_NOINLINE static void sp_521_mont_sqr_17(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_17(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_17(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_17(r, a, m, mp);
for (; n > 1; n--) {

View File

@ -8409,8 +8409,8 @@ extern void sp_256_mont_sqr_4(sp_digit* r, const sp_digit* a, const sp_digit* m,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_4(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_4(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_4(r, a, m, mp);
for (; n > 1; n--) {
@ -9609,8 +9609,8 @@ extern void sp_256_mont_sqr_avx2_4(sp_digit* r, const sp_digit* a, const sp_digi
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_256_mont_sqr_n_avx2_4(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_256_mont_sqr_n_avx2_4(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_256_mont_sqr_avx2_4(r, a, m, mp);
for (; n > 1; n--) {
@ -27535,8 +27535,8 @@ SP_NOINLINE static void sp_384_mont_sqr_6(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_6(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_6(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_6(r, a, m, mp);
for (; n > 1; n--) {
@ -28769,8 +28769,8 @@ SP_NOINLINE static void sp_384_mont_sqr_avx2_6(sp_digit* r, const sp_digit* a,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_384_mont_sqr_n_avx2_6(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_384_mont_sqr_n_avx2_6(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_384_mont_sqr_avx2_6(r, a, m, mp);
for (; n > 1; n--) {
@ -52416,8 +52416,8 @@ extern void sp_521_mont_sqr_9(sp_digit* r, const sp_digit* a, const sp_digit* m,
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_9(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_9(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_9(r, a, m, mp);
for (; n > 1; n--) {
@ -53642,8 +53642,8 @@ extern void sp_521_mont_sqr_avx2_9(sp_digit* r, const sp_digit* a, const sp_digi
* m Modulus (prime).
* mp Montgomery multiplier.
*/
static void sp_521_mont_sqr_n_avx2_9(sp_digit* r, const sp_digit* a, int n,
const sp_digit* m, sp_digit mp)
SP_NOINLINE static void sp_521_mont_sqr_n_avx2_9(sp_digit* r,
const sp_digit* a, int n, const sp_digit* m, sp_digit mp)
{
sp_521_mont_sqr_avx2_9(r, a, m, mp);
for (; n > 1; n--) {