diff options
| author | Russ Cox <rsc@swtch.com> | 2007-11-05 12:27:49 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@swtch.com> | 2007-11-05 12:27:49 -0500 |
| commit | 88cf5927234499472ad3910aff63803f85fba40b (patch) | |
| tree | 5943ba64872f7cef78015bc1bf1db07d37db5845 /src/libmp/386/mpvecdigmuladd-Darwin.s | |
| parent | 50808670fce561a500eb46267f7da10bddad3524 (diff) | |
| download | plan9port-88cf5927234499472ad3910aff63803f85fba40b.tar.gz plan9port-88cf5927234499472ad3910aff63803f85fba40b.zip | |
libmp: no text jump labels for darwin
Diffstat (limited to 'src/libmp/386/mpvecdigmuladd-Darwin.s')
| -rw-r--r-- | src/libmp/386/mpvecdigmuladd-Darwin.s | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/libmp/386/mpvecdigmuladd-Darwin.s b/src/libmp/386/mpvecdigmuladd-Darwin.s index c88dded1..f6d28ac3 100644 --- a/src/libmp/386/mpvecdigmuladd-Darwin.s +++ b/src/libmp/386/mpvecdigmuladd-Darwin.s @@ -22,7 +22,6 @@ */ .text -.p2align 2,0x90 .globl _mpvecdigmuladd _mpvecdigmuladd: /* Prelude */ @@ -42,20 +41,20 @@ _mpvecdigmuladd: addl %ecx, %esi /* SI = b + n */ addl %ecx, %edi /* DI = p + n */ xorl %ecx, %ecx -_muladdloop: +1: movl (%esi, %ebp, 4), %eax /* lo = b[i] */ mull %ebx /* hi, lo = b[i] * m */ addl %ecx,%eax /* lo += oldhi */ - jae _muladdnocarry1 + jae 2f incl %edx /* hi += carry */ -_muladdnocarry1: +2: addl %eax, (%edi, %ebp, 4) /* p[i] += lo */ - jae _muladdnocarry2 + jae 3f incl %edx /* hi += carry */ -_muladdnocarry2: +3: movl %edx, %ecx /* oldhi = hi */ incl %ebp /* i++ */ - jnz _muladdloop + jnz 1b xorl %eax, %eax addl %ecx, (%edi, %ebp, 4) /* p[n] + oldhi */ adcl %eax, %eax /* return carry out of p[n] */ |
