aboutsummaryrefslogtreecommitdiff
path: root/src/libmp/386/mpvecdigmulsub-Darwin.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmp/386/mpvecdigmulsub-Darwin.s')
-rw-r--r--src/libmp/386/mpvecdigmulsub-Darwin.s21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/libmp/386/mpvecdigmulsub-Darwin.s b/src/libmp/386/mpvecdigmulsub-Darwin.s
index 8aef933d..8f7f4d68 100644
--- a/src/libmp/386/mpvecdigmulsub-Darwin.s
+++ b/src/libmp/386/mpvecdigmulsub-Darwin.s
@@ -23,7 +23,6 @@
*/
.text
-.p2align 2,0x90
.globl _mpvecdigmulsub
_mpvecdigmulsub:
/* Prelude */
@@ -39,28 +38,28 @@ _mpvecdigmulsub:
movl 12(%ebp), %edi /* p */
xorl %ebp, %ebp
pushl %ebp
-_mulsubloop:
+1:
movl (%esi, %ebp, 4),%eax /* lo = b[i] */
mull %ebx /* hi, lo = b[i] * m */
addl 0(%esp), %eax /* lo += oldhi */
- jae _mulsubnocarry1
+ jae 2f
incl %edx /* hi += carry */
-_mulsubnocarry1:
+2:
subl %eax, (%edi, %ebp, 4)
- jae _mulsubnocarry2
+ jae 3f
incl %edx /* hi += carry */
-_mulsubnocarry2:
+3:
movl %edx, 0(%esp)
incl %ebp
- loop _mulsubloop
+ loop 1b
popl %eax
subl %eax, (%edi, %ebp, 4)
- jae _mulsubnocarry3
+ jae 4f
movl $-1, %eax
- jmp done
-_mulsubnocarry3:
+ jmp 5f
+4:
movl $1, %eax
-done:
+5:
/* Postlude */
popl %edi
popl %esi