X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fgmp%2Fmpn%2Fmips3%2Faddmul_1.s;fp=rts%2Fgmp%2Fmpn%2Fmips3%2Faddmul_1.s;h=0000000000000000000000000000000000000000;hb=fdf1cd0399158308769fcb2ab7e46e215a68d865;hp=d390e2298ec5bb96d0aca9b19ba14bcb14ce8426;hpb=e552cfc427d2734b9a9629f2ab1d22f493e775f6;p=ghc-hetmet.git diff --git a/rts/gmp/mpn/mips3/addmul_1.s b/rts/gmp/mpn/mips3/addmul_1.s deleted file mode 100644 index d390e22..0000000 --- a/rts/gmp/mpn/mips3/addmul_1.s +++ /dev/null @@ -1,97 +0,0 @@ - # MIPS3 __gmpn_addmul_1 -- Multiply a limb vector with a single limb and - # add the product to a second limb vector. - - # Copyright (C) 1992, 1994, 1995, 2000 Free Software Foundation, Inc. - - # This file is part of the GNU MP Library. - - # The GNU MP Library is free software; you can redistribute it and/or modify - # it under the terms of the GNU Lesser General Public License as published by - # the Free Software Foundation; either version 2.1 of the License, or (at your - # option) any later version. - - # The GNU MP Library is distributed in the hope that it will be useful, but - # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - # License for more details. - - # You should have received a copy of the GNU Lesser General Public License - # along with the GNU MP Library; see the file COPYING.LIB. If not, write to - # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - # MA 02111-1307, USA. - - - # INPUT PARAMETERS - # res_ptr $4 - # s1_ptr $5 - # size $6 - # s2_limb $7 - - .text - .align 4 - .globl __gmpn_addmul_1 - .ent __gmpn_addmul_1 -__gmpn_addmul_1: - .set noreorder - .set nomacro - - # warm up phase 0 - ld $8,0($5) - - # warm up phase 1 - daddiu $5,$5,8 - dmultu $8,$7 - - daddiu $6,$6,-1 - beq $6,$0,$LC0 - move $2,$0 # zero cy2 - - daddiu $6,$6,-1 - beq $6,$0,$LC1 - ld $8,0($5) # load new s1 limb as early as possible - -Loop: ld $10,0($4) - mflo $3 - mfhi $9 - daddiu $5,$5,8 - daddu $3,$3,$2 # add old carry limb to low product limb - dmultu $8,$7 - ld $8,0($5) # load new s1 limb as early as possible - daddiu $6,$6,-1 # decrement loop counter - sltu $2,$3,$2 # carry from previous addition -> $2 - daddu $3,$10,$3 - sltu $10,$3,$10 - daddu $2,$2,$10 - sd $3,0($4) - daddiu $4,$4,8 - bne $6,$0,Loop - daddu $2,$9,$2 # add high product limb and carry from addition - - # cool down phase 1 -$LC1: ld $10,0($4) - mflo $3 - mfhi $9 - daddu $3,$3,$2 - sltu $2,$3,$2 - dmultu $8,$7 - daddu $3,$10,$3 - sltu $10,$3,$10 - daddu $2,$2,$10 - sd $3,0($4) - daddiu $4,$4,8 - daddu $2,$9,$2 # add high product limb and carry from addition - - # cool down phase 0 -$LC0: ld $10,0($4) - mflo $3 - mfhi $9 - daddu $3,$3,$2 - sltu $2,$3,$2 - daddu $3,$10,$3 - sltu $10,$3,$10 - daddu $2,$2,$10 - sd $3,0($4) - j $31 - daddu $2,$9,$2 # add high product limb and carry from addition - - .end __gmpn_addmul_1