summaryrefslogtreecommitdiff
path: root/mpn/m68k
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2001-04-11 01:58:37 +0200
committerKevin Ryde <user42@zip.com.au>2001-04-11 01:58:37 +0200
commit391e0ab39f6f52a79848fd322162d63772ebab2d (patch)
treededd40d26eb43afbd9231c618e1fd9a26b278049 /mpn/m68k
parentda942efc0028371b58ef62763dc937c0af9e1309 (diff)
downloadgmp-391e0ab39f6f52a79848fd322162d63772ebab2d.tar.gz
* mpn/m68k/*.asm: New files, converted from .S. Merge add_n and sub_n
to aors_n, ditto mc68020 addmul_1 and submul_1 to aorsmul_1. No object code changes (except .type and .size now used on NetBSD 1.4).
Diffstat (limited to 'mpn/m68k')
-rw-r--r--mpn/m68k/mc68020/udiv.asm36
-rw-r--r--mpn/m68k/mc68020/umul.asm35
2 files changed, 71 insertions, 0 deletions
diff --git a/mpn/m68k/mc68020/udiv.asm b/mpn/m68k/mc68020/udiv.asm
new file mode 100644
index 000000000..5cc7fe2b3
--- /dev/null
+++ b/mpn/m68k/mc68020/udiv.asm
@@ -0,0 +1,36 @@
+dnl mc68020 mpn_udiv_qrnnd -- 2x1 limb division
+
+dnl Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+dnl
+dnl This file is part of the GNU MP Library.
+dnl
+dnl The GNU MP Library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public License as
+dnl published by the Free Software Foundation; either version 2.1 of the
+dnl License, or (at your option) any later version.
+dnl
+dnl The GNU MP Library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with the GNU MP Library; see the file COPYING.LIB. If
+dnl not, write to the Free Software Foundation, Inc., 59 Temple Place -
+dnl Suite 330, Boston, MA 02111-1307, USA.
+
+include(`../config.m4')
+
+
+C mp_limb_t mpn_udiv_qrnnd (mp_limb_t *rp,
+C mp_limb_t nh, mp_limb_t nl, mp_limb_t d);
+C
+
+PROLOGUE(__udiv_qrnnd)
+ movel M(sp,4), a0 C rp
+ movel M(sp,8), d1 C nh
+ movel M(sp,12), d0 C nl
+ divul M(sp,16), d1:d0
+ movel d1, M(a0) C r
+ rts
+EPILOGUE(__udiv_qrnnd)
diff --git a/mpn/m68k/mc68020/umul.asm b/mpn/m68k/mc68020/umul.asm
new file mode 100644
index 000000000..78d119769
--- /dev/null
+++ b/mpn/m68k/mc68020/umul.asm
@@ -0,0 +1,35 @@
+dnl mc68020 mpn_umul_ppmm -- limb by limb multiplication
+
+dnl Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+dnl
+dnl This file is part of the GNU MP Library.
+dnl
+dnl The GNU MP Library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public License as
+dnl published by the Free Software Foundation; either version 2.1 of the
+dnl License, or (at your option) any later version.
+dnl
+dnl The GNU MP Library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with the GNU MP Library; see the file COPYING.LIB. If
+dnl not, write to the Free Software Foundation, Inc., 59 Temple Place -
+dnl Suite 330, Boston, MA 02111-1307, USA.
+
+include(`../config.m4')
+
+
+C mp_limb_t mpn_umul_ppmm (mp_limb_t *lp, mp_limb_t x, mp_limb_t y);
+C
+
+PROLOGUE(mpn_umul_ppmm)
+ movel M(sp,4), a0 C lp
+ movel M(sp,8), d1 C x
+ movel M(sp,12), d0 C y
+ mulul d0, d0:d1
+ movel d1, M(a0) C low
+ rts
+EPILOGUE(mpn_umul_ppmm)