aboutsummaryrefslogtreecommitdiff
path: root/src/libmp/386/mpvecadd-Darwin.s
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2020-12-30 07:39:16 -0500
committerRuss Cox <rsc@swtch.com>2020-12-30 07:53:28 -0500
commit99dee78c2d44641ba56e5bb640d732f993b3dfa1 (patch)
tree3e785ab1037b96d4eb2dc321925bc0733332cea8 /src/libmp/386/mpvecadd-Darwin.s
parent0bd14783426d137428ffae7cd89cfc06b88d1b11 (diff)
downloadplan9port-99dee78c2d44641ba56e5bb640d732f993b3dfa1.tar.gz
plan9port-99dee78c2d44641ba56e5bb640d732f993b3dfa1.tar.bz2
plan9port-99dee78c2d44641ba56e5bb640d732f993b3dfa1.zip
all: remove $OBJTYPE from build
Now that we assume pthreads, the only assembly left is in libmp and libsec. We only ever added assembly for 386. The portable C code is fine for plan9port.
Diffstat (limited to 'src/libmp/386/mpvecadd-Darwin.s')
-rw-r--r--src/libmp/386/mpvecadd-Darwin.s70
1 files changed, 0 insertions, 70 deletions
diff --git a/src/libmp/386/mpvecadd-Darwin.s b/src/libmp/386/mpvecadd-Darwin.s
deleted file mode 100644
index 2f68dbda..00000000
--- a/src/libmp/386/mpvecadd-Darwin.s
+++ /dev/null
@@ -1,70 +0,0 @@
-/* mpvecadd(mpdigit *a, int alen, mpdigit *b, int blen, mpdigit *sum) */
-/* sum[0:alen] = a[0:alen-1] + b[0:blen-1] */
-/* prereq: alen >= blen, sum has room for alen+1 digits */
-/* (very old gnu assembler doesn't allow multiline comments) */
-
-.text
-
-.p2align 2,0x90
-.globl _mpvecadd
-_mpvecadd:
- /* Prelude */
- pushl %ebp /* save on stack */
- pushl %ebx
- pushl %esi
- pushl %edi
-
- leal 20(%esp), %ebp /* %ebp = FP for now */
-
- movl 4(%ebp), %edx /* alen */
- movl 12(%ebp), %ecx /* blen */
- movl 0(%ebp), %esi /* a */
- movl 8(%ebp), %ebx /* b */
- subl %ecx, %edx
- movl 16(%ebp), %edi /* sum */
- xorl %ebp, %ebp /* this also sets carry to 0 */
-
- /* skip addition if b is zero */
- testl %ecx,%ecx
- je 2f
-
- /* sum[0:blen-1],carry = a[0:blen-1] + b[0:blen-1] */
-1:
- movl (%esi, %ebp, 4), %eax
- adcl (%ebx, %ebp, 4), %eax
- movl %eax, (%edi, %ebp, 4)
- incl %ebp
- loop 1b
-
-2:
- /* jump if alen > blen */
- incl %edx
- movl %edx, %ecx
- loop 5f
-
- /* sum[alen] = carry */
-3:
- jb 4f
- movl $0, (%edi, %ebp, 4)
- jmp 6f
-
-4:
- movl $1, (%edi, %ebp, 4)
- jmp 6f
-
- /* sum[blen:alen-1],carry = a[blen:alen-1] + 0 */
-5:
- movl (%esi, %ebp, 4),%eax
- adcl $0, %eax
- movl %eax, (%edi, %ebp, 4)
- incl %ebp
- loop 5b
- jmp 3b
-
-6:
- /* Postlude */
- popl %edi
- popl %esi
- popl %ebx
- popl %ebp
- ret