diff options
author | Kevin Ryde <user42@zip.com.au> | 2001-04-11 01:58:37 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2001-04-11 01:58:37 +0200 |
commit | 391e0ab39f6f52a79848fd322162d63772ebab2d (patch) | |
tree | dedd40d26eb43afbd9231c618e1fd9a26b278049 /mpn/m68k | |
parent | da942efc0028371b58ef62763dc937c0af9e1309 (diff) | |
download | gmp-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.asm | 36 | ||||
-rw-r--r-- | mpn/m68k/mc68020/umul.asm | 35 |
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) |