Skip to content

Commit cbe8309

Browse files
Merge pull request #7013 from SparkiDev/asm_arm_clobber_cc
ARM asm: add "cc" to all clobber lists
2 parents a7e5c6c + 11e5544 commit cbe8309

14 files changed

Lines changed: 809 additions & 809 deletions

wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ void AES_invert_key(unsigned char* ks_p, word32 rounds_p)
403403
"bne L_AES_invert_key_mix_loop_%=\n\t"
404404
: [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)
405405
:
406-
: "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"
406+
: "memory", "r12", "lr", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc"
407407
);
408408
}
409409

@@ -924,7 +924,7 @@ void AES_set_encrypt_key(const unsigned char* key_p, word32 len_p, unsigned char
924924
"L_AES_set_encrypt_key_end_%=: \n\t"
925925
: [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)
926926
:
927-
: "memory", "r12", "lr", "r5", "r6", "r7", "r8"
927+
: "memory", "r12", "lr", "r5", "r6", "r7", "r8", "cc"
928928
);
929929
}
930930

@@ -1575,7 +1575,7 @@ void AES_encrypt_block(const uint32_t* te_p, int nr_p, int len_p, const uint32_t
15751575
"eor r7, r7, r11\n\t"
15761576
: [te] "+r" (te), [nr] "+r" (nr), [len] "+r" (len), [ks] "+r" (ks)
15771577
:
1578-
: "memory", "lr"
1578+
: "memory", "lr", "cc"
15791579
);
15801580
}
15811581

@@ -1824,7 +1824,7 @@ void AES_ECB_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l
18241824
"pop {%[ks]}\n\t"
18251825
: [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)
18261826
:
1827-
: "memory", "r12", "lr", "r6", "r7", "r8", "r9", "r10", "r11"
1827+
: "memory", "r12", "lr", "r6", "r7", "r8", "r9", "r10", "r11", "cc"
18281828
);
18291829
}
18301830

@@ -2090,7 +2090,7 @@ void AES_CBC_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l
20902090
"stm r9, {r4, r5, r6, r7}\n\t"
20912091
: [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)
20922092
:
2093-
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11"
2093+
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc"
20942094
);
20952095
}
20962096

@@ -2358,7 +2358,7 @@ void AES_CTR_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l
23582358
"stm r8, {r4, r5, r6, r7}\n\t"
23592359
: [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)
23602360
:
2361-
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11"
2361+
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc"
23622362
);
23632363
}
23642364

@@ -3011,7 +3011,7 @@ void AES_decrypt_block(const uint32_t* td_p, int nr_p, const uint8_t* td4_p)
30113011
"eor r7, r7, r11\n\t"
30123012
: [td] "+r" (td), [nr] "+r" (nr), [td4] "+r" (td4)
30133013
:
3014-
: "memory", "lr"
3014+
: "memory", "lr", "cc"
30153015
);
30163016
}
30173017

@@ -3293,7 +3293,7 @@ void AES_ECB_decrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l
32933293
"L_AES_ECB_decrypt_end_%=: \n\t"
32943294
: [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)
32953295
:
3296-
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11"
3296+
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc"
32973297
);
32983298
}
32993299

@@ -3925,7 +3925,7 @@ void AES_CBC_decrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l
39253925
"pop {%[ks]-r4}\n\t"
39263926
: [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)
39273927
:
3928-
: "memory", "r12", "lr", "r8", "r9", "r10", "r11"
3928+
: "memory", "r12", "lr", "r8", "r9", "r10", "r11", "cc"
39293929
);
39303930
}
39313931

@@ -4523,7 +4523,7 @@ void GCM_gmult_len(unsigned char* x_p, const unsigned char** m_p, const unsigned
45234523
"bne L_GCM_gmult_len_start_block_%=\n\t"
45244524
: [x] "+r" (x), [m] "+r" (m), [data] "+r" (data), [len] "+r" (len), [L_GCM_gmult_len_r] "+r" (L_GCM_gmult_len_r_c)
45254525
:
4526-
: "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "r11"
4526+
: "memory", "r12", "lr", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "cc"
45274527
);
45284528
}
45294529

@@ -4780,7 +4780,7 @@ void AES_GCM_encrypt(const unsigned char* in_p, unsigned char* out_p, unsigned l
47804780
"stm r8, {r4, r5, r6, r7}\n\t"
47814781
: [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)
47824782
:
4783-
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11"
4783+
: "memory", "r12", "lr", "r7", "r8", "r9", "r10", "r11", "cc"
47844784
);
47854785
}
47864786

0 commit comments

Comments
 (0)