@@ -310,11 +310,12 @@ void AES_invert_key(unsigned char* ks, word32 rounds)
310310 : [ks ] "+ r " (ks), [rounds] " + r " (rounds),
311311 [L_AES_Thumb2_te ] "+ r " (L_AES_Thumb2_te_c), [L_AES_Thumb2_td] " + r " (L_AES_Thumb2_td_c)
312312 :
313+ : " memory ", " r12 ", " lr ", " r4 ", " r5 ", " r6 ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
313314#else
314315 : [ks ] "+ r " (ks), [rounds] " + r " (rounds)
315316 : [L_AES_Thumb2_te ] "r" (L_AES_Thumb2_te ), [L_AES_Thumb2_td ] "r" (L_AES_Thumb2_td )
316- #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
317317 : "memory" , "r12" , "lr" , "r4" , "r5" , "r6" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
318+ #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
318319 );
319320}
320321
@@ -558,11 +559,12 @@ void AES_set_encrypt_key(const unsigned char* key, word32 len, unsigned char* ks
558559 : [key ] "+ r " (key), [len] " + r " (len), [ks] " + r " (ks),
559560 [L_AES_Thumb2_te ] "+ r " (L_AES_Thumb2_te_c), [L_AES_Thumb2_rcon] " + r " (L_AES_Thumb2_rcon_c)
560561 :
562+ : " memory ", " r12 ", " lr ", " r5 ", " r6 ", " r7 ", " r8 ", " r9 ", " r10 ", " cc "
561563#else
562564 : [key ] "+ r " (key), [len] " + r " (len), [ks] " + r " (ks)
563565 : [L_AES_Thumb2_te ] "r " (L_AES_Thumb2_te), [L_AES_Thumb2_rcon] " r " (L_AES_Thumb2_rcon)
564- #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
565566 : " memory ", " r12 ", " lr ", " r5 ", " r6 ", " r7 ", " r8 ", " r9 ", " r10 ", " cc "
567+ #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
566568 );
567569}
568570
@@ -969,12 +971,16 @@ void AES_ECB_encrypt(const unsigned char* in, unsigned char* out, unsigned long
969971 : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr),
970972 [L_AES_Thumb2_te_ecb ] "+ r " (L_AES_Thumb2_te_ecb_c)
971973 :
974+ : " memory ", " r12 ", " lr ", " r6 ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
972975#else
973- : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr)
976+ : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks)
974977 : [L_AES_Thumb2_te_ecb ] "r" (L_AES_Thumb2_te_ecb )
978+ : "memory ", "r12" , "lr" , "r4" , "r6" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
975979#endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
976- : "memory" , "r12" , "lr" , "r6" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
977980 );
981+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
982+ (void )nr ;
983+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
978984}
979985
980986#endif /* HAVE_AESCCM || HAVE_AESGCM || WOLFSSL_AES_DIRECT || WOLFSSL_AES_COUNTER */
@@ -1169,12 +1175,19 @@ void AES_CBC_encrypt(const unsigned char* in, unsigned char* out, unsigned long
11691175 : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [iv] " + r " (iv),
11701176 [L_AES_Thumb2_te_ecb ] "+ r " (L_AES_Thumb2_te_ecb_c)
11711177 :
1178+ : " memory ", " r12 ", " lr ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
11721179#else
1173- : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [iv] " + r " (iv)
1180+ : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks)
11741181 : [L_AES_Thumb2_te_ecb ] "r" (L_AES_Thumb2_te_ecb )
1182+ : "memory ", "r12" , "lr" , "r4" , "r5" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
11751183#endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
1176- : "memory" , "r12" , "lr" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
11771184 );
1185+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
1186+ (void )nr ;
1187+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
1188+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
1189+ (void )iv ;
1190+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
11781191}
11791192
11801193#endif /* HAVE_AES_CBC */
@@ -1390,12 +1403,19 @@ void AES_CTR_encrypt(const unsigned char* in, unsigned char* out, unsigned long
13901403 : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [ctr] " + r " (ctr),
13911404 [L_AES_Thumb2_te_ecb ] " + r " (L_AES_Thumb2_te_ecb_c)
13921405 :
1406+ : " memory ", " r12 ", " lr ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
13931407#else
1394- : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [ctr] " + r " (ctr)
1408+ : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks)
13951409 : [L_AES_Thumb2_te_ecb ] " r " (L_AES_Thumb2_te_ecb)
1410+ : " memory ", " r12 ", " lr ", " r4 ", " r5 ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
13961411#endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
1397- : " memory ", " r12 ", " lr ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
13981412 );
1413+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
1414+ (void )nr ;
1415+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
1416+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
1417+ (void )ctr ;
1418+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
13991419}
14001420
14011421#endif /* WOLFSSL_AES_COUNTER */
@@ -1834,12 +1854,16 @@ void AES_ECB_decrypt(const unsigned char* in, unsigned char* out, unsigned long
18341854 : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr),
18351855 [L_AES_Thumb2_td_ecb ] "+ r " (L_AES_Thumb2_td_ecb_c), [L_AES_Thumb2_td4] " + r " (L_AES_Thumb2_td4_c)
18361856 :
1857+ : " memory ", " r12 ", " lr ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
18371858#else
1838- : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr)
1859+ : [in ] "+ r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks)
18391860 : [L_AES_Thumb2_td_ecb ] "r" (L_AES_Thumb2_td_ecb ), [L_AES_Thumb2_td4 ] "r" (L_AES_Thumb2_td4 )
1861+ : "memory" , "r12" , "lr" , "r4" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
18401862#endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
1841- : "memory" , "r12" , "lr" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
18421863 );
1864+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
1865+ (void )nr ;
1866+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
18431867}
18441868
18451869#endif /* WOLFSSL_AES_DIRECT || WOLFSSL_AES_COUNTER */
@@ -2193,12 +2217,19 @@ void AES_CBC_decrypt(const unsigned char* in, unsigned char* out, unsigned long
21932217 : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [iv] " + r " (iv),
21942218 [L_AES_Thumb2_td_ecb ] " + r " (L_AES_Thumb2_td_ecb_c), [L_AES_Thumb2_td4] " + r " (L_AES_Thumb2_td4_c)
21952219 :
2220+ : " memory ", " r12 ", " lr ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
21962221#else
2197- : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [iv] " + r " (iv)
2222+ : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks)
21982223 : [L_AES_Thumb2_td_ecb ] " r " (L_AES_Thumb2_td_ecb), [L_AES_Thumb2_td4] " r " (L_AES_Thumb2_td4)
2224+ : " memory ", " r12 ", " lr ", " r4 ", " r5 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
21992225#endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
2200- : " memory ", " r12 ", " lr ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
22012226 );
2227+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
2228+ (void )nr ;
2229+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
2230+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
2231+ (void )iv ;
2232+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
22022233}
22032234
22042235#endif /* HAVE_AES_CBC */
@@ -2785,11 +2816,12 @@ void GCM_gmult_len(unsigned char* x, const unsigned char** m, const unsigned cha
27852816 : [x ] "+r" (x ), [m ] "+r" (m ), [data ] "+r" (data ), [len ] "+r" (len ),
27862817 [L_GCM_gmult_len_r ] "+r" (L_GCM_gmult_len_r_c )
27872818 :
2819+ : "memory" , "r12" , "lr" , "r5" , "r6" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
27882820#else
27892821 : [x ] "+ r " (x), [m] " + r " (m), [data] " + r " (data), [len] " + r " (len)
27902822 : [L_GCM_gmult_len_r ] "r" (L_GCM_gmult_len_r )
2791- #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
27922823 : "memory ", "r12" , "lr" , "r5" , "r6" , "r7" , "r8" , "r9" , "r10" , "r11" , "cc"
2824+ #endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
27932825 );
27942826}
27952827
@@ -2996,12 +3028,19 @@ void AES_GCM_encrypt(const unsigned char* in, unsigned char* out, unsigned long
29963028 : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [ctr] " + r " (ctr),
29973029 [L_AES_Thumb2_te_gcm ] " + r " (L_AES_Thumb2_te_gcm_c)
29983030 :
3031+ : " memory ", " r12 ", " lr ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
29993032#else
3000- : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks), [nr] " + r " (nr), [ctr] " + r " (ctr)
3033+ : [in ] " + r " (in), [out] " + r " (out), [len] " + r " (len), [ks] " + r " (ks)
30013034 : [L_AES_Thumb2_te_gcm ] " r " (L_AES_Thumb2_te_gcm)
3035+ : " memory ", " r12 ", " lr ", " r4 ", " r5 ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
30023036#endif /* WOLFSSL_NO_VAR_ASSIGN_REG */
3003- : " memory ", " r12 ", " lr ", " r7 ", " r8 ", " r9 ", " r10 ", " r11 ", " cc "
30043037 );
3038+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
3039+ (void )nr ;
3040+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
3041+ #ifdef WOLFSSL_NO_VAR_ASSIGN_REG
3042+ (void )ctr ;
3043+ #endif /* !WOLFSSL_NO_VAR_ASSIGN_REG */
30053044}
30063045
30073046#endif /* HAVE_AESGCM */
0 commit comments