aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mips/mul_1.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mips/mul_1.S')
-rw-r--r--sysdeps/mips/mul_1.S117
1 files changed, 0 insertions, 117 deletions
diff --git a/sysdeps/mips/mul_1.S b/sysdeps/mips/mul_1.S
deleted file mode 100644
index d924f02061..0000000000
--- a/sysdeps/mips/mul_1.S
+++ /dev/null
@@ -1,117 +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-2017 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. If not, see
-<http://www.gnu.org/licenses/>. */
-
-#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
-#if __mips_isa_rev < 6
- multu $8,$7
-#else
- mulu $11,$8,$7
- muhu $12,$8,$7
-#endif
-
- 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 */
-
-
-#if __mips_isa_rev < 6
-L(Loop): mflo $10
- mfhi $9
-#else
-L(Loop): move $10,$11
- move $9,$12
-#endif
- addiu $5,$5,4
- addu $10,$10,$2 /* add old carry limb to low product limb */
-#if __mips_isa_rev < 6
- multu $8,$7
-#else
- mulu $11,$8,$7
- muhu $12,$8,$7
-#endif
- 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 */
-#if __mips_isa_rev < 6
-L(LC1): mflo $10
- mfhi $9
-#else
-L(LC1): move $10,$11
- move $9,$12
-#endif
- addu $10,$10,$2
- sltu $2,$10,$2
-#if __mips_isa_rev < 6
- multu $8,$7
-#else
- mulu $11,$8,$7
- muhu $12,$8,$7
-#endif
- sw $10,0($4)
- addiu $4,$4,4
- addu $2,$9,$2 /* add high product limb and carry from addition */
-
- /* cool down phase 0 */
-#if __mips_isa_rev < 6
-L(LC0): mflo $10
- mfhi $9
-#else
-L(LC0): move $10,$11
- move $9,$12
-#endif
- 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)