forked from wolfSSL/wolfssl
Fix div word in SP ARM32
This commit is contained in:
@@ -4353,6 +4353,10 @@ static sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
@@ -6177,6 +6181,10 @@ static sp_digit div_2048_word_64(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
@@ -14928,6 +14936,10 @@ static sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
@@ -17376,6 +17388,10 @@ static sp_digit div_3072_word_96(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
@@ -69645,6 +69661,10 @@ static sp_digit div_4096_word_128(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
@@ -79741,6 +79761,10 @@ static sp_digit div_256_word_8(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
@@ -87913,6 +87937,10 @@ static sp_digit div_384_word_12(sp_digit d1, sp_digit d0, sp_digit div)
|
|||||||
"subs r4, %[d0], r4\n\t"
|
"subs r4, %[d0], r4\n\t"
|
||||||
"sbc r5, %[d1], r5\n\t"
|
"sbc r5, %[d1], r5\n\t"
|
||||||
"add %[r], %[r], r5\n\t"
|
"add %[r], %[r], r5\n\t"
|
||||||
|
"umull r4, r5, %[r], %[div]\n\t"
|
||||||
|
"subs r4, %[d0], r4\n\t"
|
||||||
|
"sbc r5, %[d1], r5\n\t"
|
||||||
|
"add %[r], %[r], r5\n\t"
|
||||||
"subs r8, %[div], r4\n\t"
|
"subs r8, %[div], r4\n\t"
|
||||||
"sbc r8, r8, r8\n\t"
|
"sbc r8, r8, r8\n\t"
|
||||||
"sub %[r], %[r], r8\n\t"
|
"sub %[r], %[r], r8\n\t"
|
||||||
|
Reference in New Issue
Block a user