aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mips/mul_1.S
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
commit0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (patch)
tree2ea1f8305970753e4a657acb2ccc15ca3eec8e2c /sysdeps/mips/mul_1.S
parent7d58530341304d403a6626d7f7a1913165fe2f32 (diff)
downloadglibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.gz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.bz2
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.zip
2.5-18.1
Diffstat (limited to 'sysdeps/mips/mul_1.S')
-rw-r--r--sysdeps/mips/mul_1.S87
1 files changed, 0 insertions, 87 deletions
diff --git a/sysdeps/mips/mul_1.S b/sysdeps/mips/mul_1.S
deleted file mode 100644
index 72f538670c..0000000000
--- a/sysdeps/mips/mul_1.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* MIPS __mpn_mul_1 -- Multiply a limb vector with a single limb and
-store the product in a second limb vector.
-
-Copyright (C) 1995, 1998, 2000, 2002, 2003 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. */
-
-#include <sysdep.h>
-
-/* INPUT PARAMETERS
- res_ptr $4
- s1_ptr $5
- size $6
- s2_limb $7
-*/
-#ifdef __PIC__
- .option pic2
-#endif
-ENTRY (__mpn_mul_1)
- .set noreorder
-#ifdef __PIC__
- .cpload t9
-#endif
- .set nomacro
-
- /* warm up phase 0 */
- lw $8,0($5)
-
- /* warm up phase 1 */
- addiu $5,$5,4
- multu $8,$7
-
- addiu $6,$6,-1
- beq $6,$0,L(LC0)
- move $2,$0 /* zero cy2 */
-
- addiu $6,$6,-1
- beq $6,$0,L(LC1)
- lw $8,0($5) /* load new s1 limb as early as possible */
-
-L(Loop): mflo $10
- mfhi $9
- addiu $5,$5,4
- addu $10,$10,$2 /* add old carry limb to low product limb */
- multu $8,$7
- lw $8,0($5) /* load new s1 limb as early as possible */
- addiu $6,$6,-1 /* decrement loop counter */
- sltu $2,$10,$2 /* carry from previous addition -> $2 */
- sw $10,0($4)
- addiu $4,$4,4
- bne $6,$0,L(Loop) /* should be "bnel" */
- addu $2,$9,$2 /* add high product limb and carry from addition */
-
- /* cool down phase 1 */
-L(LC1): mflo $10
- mfhi $9
- addu $10,$10,$2
- sltu $2,$10,$2
- multu $8,$7
- sw $10,0($4)
- addiu $4,$4,4
- addu $2,$9,$2 /* add high product limb and carry from addition */
-
- /* cool down phase 0 */
-L(LC0): mflo $10
- mfhi $9
- addu $10,$10,$2
- sltu $2,$10,$2
- sw $10,0($4)
- j $31
- addu $2,$9,$2 /* add high product limb and carry from addition */
- END (__mpn_mul_1)