Removed. WE have a .S file now
authorUlrich Drepper <drepper@redhat.com>
Sat, 21 Jun 1997 01:58:17 +0000 (01:58 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 21 Jun 1997 01:58:17 +0000 (01:58 +0000)
sysdeps/mips/add_n.s [deleted file]
sysdeps/mips/addmul_1.s [deleted file]
sysdeps/mips/lshift.s [deleted file]
sysdeps/mips/mul_1.s [deleted file]
sysdeps/mips/rshift.s [deleted file]
sysdeps/mips/sub_n.s [deleted file]
sysdeps/mips/submul_1.s [deleted file]

diff --git a/sysdeps/mips/add_n.s b/sysdeps/mips/add_n.s
deleted file mode 100644 (file)
index f5525ce..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
- # MIPS2 __mpn_add_n -- Add two limb vectors of the same length > 0 and
- # store sum in a third limb vector.
-
- # Copyright (C) 1995 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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
- # s2_ptr      $6
- # size                $7
-
-       .text
-       .align  2
-       .globl  __mpn_add_n
-       .ent    __mpn_add_n
-__mpn_add_n:
-       .set    noreorder
-       .set    nomacro
-
-       lw      $10,0($5)
-       lw      $11,0($6)
-
-       addiu   $7,$7,-1
-       and     $9,$7,4-1       # number of limbs in first loop
-       beq     $9,$0,.L0       # if multiple of 4 limbs, skip first loop
-        move   $2,$0
-
-       subu    $7,$7,$9
-
-.Loop0:        addiu   $9,$9,-1
-       lw      $12,4($5)
-       addu    $11,$11,$2
-       lw      $13,4($6)
-       sltu    $8,$11,$2
-       addu    $11,$10,$11
-       sltu    $2,$11,$10
-       sw      $11,0($4)
-       or      $2,$2,$8
-
-       addiu   $5,$5,4
-       addiu   $6,$6,4
-       move    $10,$12
-       move    $11,$13
-       bne     $9,$0,.Loop0
-        addiu  $4,$4,4
-
-.L0:   beq     $7,$0,.Lend
-        nop
-
-.Loop: addiu   $7,$7,-4
-
-       lw      $12,4($5)
-       addu    $11,$11,$2
-       lw      $13,4($6)
-       sltu    $8,$11,$2
-       addu    $11,$10,$11
-       sltu    $2,$11,$10
-       sw      $11,0($4)
-       or      $2,$2,$8
-
-       lw      $10,8($5)
-       addu    $13,$13,$2
-       lw      $11,8($6)
-       sltu    $8,$13,$2
-       addu    $13,$12,$13
-       sltu    $2,$13,$12
-       sw      $13,4($4)
-       or      $2,$2,$8
-
-       lw      $12,12($5)
-       addu    $11,$11,$2
-       lw      $13,12($6)
-       sltu    $8,$11,$2
-       addu    $11,$10,$11
-       sltu    $2,$11,$10
-       sw      $11,8($4)
-       or      $2,$2,$8
-
-       lw      $10,16($5)
-       addu    $13,$13,$2
-       lw      $11,16($6)
-       sltu    $8,$13,$2
-       addu    $13,$12,$13
-       sltu    $2,$13,$12
-       sw      $13,12($4)
-       or      $2,$2,$8
-
-       addiu   $5,$5,16
-       addiu   $6,$6,16
-
-       bne     $7,$0,.Loop
-        addiu  $4,$4,16
-
-.Lend: addu    $11,$11,$2
-       sltu    $8,$11,$2
-       addu    $11,$10,$11
-       sltu    $2,$11,$10
-       sw      $11,0($4)
-       j       $31
-       or      $2,$2,$8
-
-       .end    __mpn_add_n
diff --git a/sysdeps/mips/addmul_1.s b/sysdeps/mips/addmul_1.s
deleted file mode 100644 (file)
index 6145771..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
- # MIPS __mpn_addmul_1 -- Multiply a limb vector with a single limb and
- # add the product to a second limb vector.
-
- # Copyright (C) 1992, 1994, 1996 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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   __mpn_addmul_1
-       .ent    __mpn_addmul_1
-__mpn_addmul_1:
-       .set    noreorder
-       .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,$LC0
-        move   $2,$0           # zero cy2
-
-       addiu   $6,$6,-1
-       beq     $6,$0,$LC1
-       lw      $8,0($5)        # load new s1 limb as early as possible
-
-Loop:  lw      $10,0($4)
-       mflo    $3
-       mfhi    $9
-       addiu   $5,$5,4
-       addu    $3,$3,$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,$3,$2        # carry from previous addition -> $2
-       addu    $3,$10,$3
-       sltu    $10,$3,$10
-       addu    $2,$2,$10
-       sw      $3,0($4)
-       addiu   $4,$4,4
-       bne     $6,$0,Loop
-        addu   $2,$9,$2        # add high product limb and carry from addition
-
- # cool down phase 1
-$LC1:  lw      $10,0($4)
-       mflo    $3
-       mfhi    $9
-       addu    $3,$3,$2
-       sltu    $2,$3,$2
-       multu   $8,$7
-       addu    $3,$10,$3
-       sltu    $10,$3,$10
-       addu    $2,$2,$10
-       sw      $3,0($4)
-       addiu   $4,$4,4
-       addu    $2,$9,$2        # add high product limb and carry from addition
-
- # cool down phase 0
-$LC0:  lw      $10,0($4)
-       mflo    $3
-       mfhi    $9
-       addu    $3,$3,$2
-       sltu    $2,$3,$2
-       addu    $3,$10,$3
-       sltu    $10,$3,$10
-       addu    $2,$2,$10
-       sw      $3,0($4)
-       j       $31
-       addu    $2,$9,$2        # add high product limb and carry from addition
-
-       .end    __mpn_addmul_1
diff --git a/sysdeps/mips/lshift.s b/sysdeps/mips/lshift.s
deleted file mode 100644 (file)
index ee92d79..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
- # MIPS2 __mpn_lshift --
-
- # Copyright (C) 1995 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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
- # src_ptr     $5
- # size                $6
- # cnt         $7
-
-       .text
-       .align  2
-       .globl  __mpn_lshift
-       .ent    __mpn_lshift
-__mpn_lshift:
-       .set    noreorder
-       .set    nomacro
-
-       sll     $2,$6,2
-       addu    $5,$5,$2        # make r5 point at end of src
-       lw      $10,-4($5)      # load first limb
-       subu    $13,$0,$7
-       addu    $4,$4,$2        # make r4 point at end of res
-       addiu   $6,$6,-1
-       and     $9,$6,4-1       # number of limbs in first loop
-       beq     $9,$0,.L0       # if multiple of 4 limbs, skip first loop
-        srl    $2,$10,$13      # compute function result
-
-       subu    $6,$6,$9
-
-.Loop0:        lw      $3,-8($5)
-       addiu   $4,$4,-4
-       addiu   $5,$5,-4
-       addiu   $9,$9,-1
-       sll     $11,$10,$7
-       srl     $12,$3,$13
-       move    $10,$3
-       or      $8,$11,$12
-       bne     $9,$0,.Loop0
-        sw     $8,0($4)
-
-.L0:   beq     $6,$0,.Lend
-        nop
-
-.Loop: lw      $3,-8($5)
-       addiu   $4,$4,-16
-       addiu   $6,$6,-4
-       sll     $11,$10,$7
-       srl     $12,$3,$13
-
-       lw      $10,-12($5)
-       sll     $14,$3,$7
-       or      $8,$11,$12
-       sw      $8,12($4)
-       srl     $9,$10,$13
-
-       lw      $3,-16($5)
-       sll     $11,$10,$7
-       or      $8,$14,$9
-       sw      $8,8($4)
-       srl     $12,$3,$13
-
-       lw      $10,-20($5)
-       sll     $14,$3,$7
-       or      $8,$11,$12
-       sw      $8,4($4)
-       srl     $9,$10,$13
-
-       addiu   $5,$5,-16
-       or      $8,$14,$9
-       bgtz    $6,.Loop
-        sw     $8,0($4)
-
-.Lend: sll     $8,$10,$7
-       j       $31
-       sw      $8,-4($4)
-       .end    __mpn_lshift
diff --git a/sysdeps/mips/mul_1.s b/sysdeps/mips/mul_1.s
deleted file mode 100644 (file)
index d006fa1..0000000
+++ /dev/null
@@ -1,85 +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) 1992, 1994, 1996 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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   __mpn_mul_1
-       .ent    __mpn_mul_1
-__mpn_mul_1:
-       .set    noreorder
-       .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,$LC0
-        move   $2,$0           # zero cy2
-
-       addiu   $6,$6,-1
-       beq     $6,$0,$LC1
-       lw      $8,0($5)        # load new s1 limb as early as possible
-
-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,Loop
-        addu   $2,$9,$2        # add high product limb and carry from addition
-
- # cool down phase 1
-$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
-$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
diff --git a/sysdeps/mips/rshift.s b/sysdeps/mips/rshift.s
deleted file mode 100644 (file)
index a8beb40..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
- # MIPS2 __mpn_rshift --
-
- # Copyright (C) 1995 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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
- # src_ptr     $5
- # size                $6
- # cnt         $7
-
-       .text
-       .align  2
-       .globl  __mpn_rshift
-       .ent    __mpn_rshift
-__mpn_rshift:
-       .set    noreorder
-       .set    nomacro
-
-       lw      $10,0($5)       # load first limb
-       subu    $13,$0,$7
-       addiu   $6,$6,-1
-       and     $9,$6,4-1       # number of limbs in first loop
-       beq     $9,$0,.L0       # if multiple of 4 limbs, skip first loop
-        sll    $2,$10,$13      # compute function result
-
-       subu    $6,$6,$9
-
-.Loop0:        lw      $3,4($5)
-       addiu   $4,$4,4
-       addiu   $5,$5,4
-       addiu   $9,$9,-1
-       srl     $11,$10,$7
-       sll     $12,$3,$13
-       move    $10,$3
-       or      $8,$11,$12
-       bne     $9,$0,.Loop0
-        sw     $8,-4($4)
-
-.L0:   beq     $6,$0,.Lend
-        nop
-
-.Loop: lw      $3,4($5)
-       addiu   $4,$4,16
-       addiu   $6,$6,-4
-       srl     $11,$10,$7
-       sll     $12,$3,$13
-
-       lw      $10,8($5)
-       srl     $14,$3,$7
-       or      $8,$11,$12
-       sw      $8,-16($4)
-       sll     $9,$10,$13
-
-       lw      $3,12($5)
-       srl     $11,$10,$7
-       or      $8,$14,$9
-       sw      $8,-12($4)
-       sll     $12,$3,$13
-
-       lw      $10,16($5)
-       srl     $14,$3,$7
-       or      $8,$11,$12
-       sw      $8,-8($4)
-       sll     $9,$10,$13
-
-       addiu   $5,$5,16
-       or      $8,$14,$9
-       bgtz    $6,.Loop
-        sw     $8,-4($4)
-
-.Lend: srl     $8,$10,$7
-       j       $31
-       sw      $8,0($4)
-       .end    __mpn_rshift
diff --git a/sysdeps/mips/sub_n.s b/sysdeps/mips/sub_n.s
deleted file mode 100644 (file)
index 3368ef2..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
- # MIPS2 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and
- # store difference in a third limb vector.
-
- # Copyright (C) 1995 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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
- # s2_ptr      $6
- # size                $7
-
-       .text
-       .align  2
-       .globl  __mpn_sub_n
-       .ent    __mpn_sub_n
-__mpn_sub_n:
-       .set    noreorder
-       .set    nomacro
-
-       lw      $10,0($5)
-       lw      $11,0($6)
-
-       addiu   $7,$7,-1
-       and     $9,$7,4-1       # number of limbs in first loop
-       beq     $9,$0,.L0       # if multiple of 4 limbs, skip first loop
-        move   $2,$0
-
-       subu    $7,$7,$9
-
-.Loop0:        addiu   $9,$9,-1
-       lw      $12,4($5)
-       addu    $11,$11,$2
-       lw      $13,4($6)
-       sltu    $8,$11,$2
-       subu    $11,$10,$11
-       sltu    $2,$10,$11
-       sw      $11,0($4)
-       or      $2,$2,$8
-
-       addiu   $5,$5,4
-       addiu   $6,$6,4
-       move    $10,$12
-       move    $11,$13
-       bne     $9,$0,.Loop0
-        addiu  $4,$4,4
-
-.L0:   beq     $7,$0,.Lend
-        nop
-
-.Loop: addiu   $7,$7,-4
-
-       lw      $12,4($5)
-       addu    $11,$11,$2
-       lw      $13,4($6)
-       sltu    $8,$11,$2
-       subu    $11,$10,$11
-       sltu    $2,$10,$11
-       sw      $11,0($4)
-       or      $2,$2,$8
-
-       lw      $10,8($5)
-       addu    $13,$13,$2
-       lw      $11,8($6)
-       sltu    $8,$13,$2
-       subu    $13,$12,$13
-       sltu    $2,$12,$13
-       sw      $13,4($4)
-       or      $2,$2,$8
-
-       lw      $12,12($5)
-       addu    $11,$11,$2
-       lw      $13,12($6)
-       sltu    $8,$11,$2
-       subu    $11,$10,$11
-       sltu    $2,$10,$11
-       sw      $11,8($4)
-       or      $2,$2,$8
-
-       lw      $10,16($5)
-       addu    $13,$13,$2
-       lw      $11,16($6)
-       sltu    $8,$13,$2
-       subu    $13,$12,$13
-       sltu    $2,$12,$13
-       sw      $13,12($4)
-       or      $2,$2,$8
-
-       addiu   $5,$5,16
-       addiu   $6,$6,16
-
-       bne     $7,$0,.Loop
-        addiu  $4,$4,16
-
-.Lend: addu    $11,$11,$2
-       sltu    $8,$11,$2
-       subu    $11,$10,$11
-       sltu    $2,$10,$11
-       sw      $11,0($4)
-       j       $31
-       or      $2,$2,$8
-
-       .end    __mpn_sub_n
diff --git a/sysdeps/mips/submul_1.s b/sysdeps/mips/submul_1.s
deleted file mode 100644 (file)
index 1324b66..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
- # MIPS __mpn_submul_1 -- Multiply a limb vector with a single limb and
- # subtract the product from a second limb vector.
-
- # Copyright (C) 1992, 1994, 1996 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 Library General Public License as published by
- # the Free Software Foundation; either version 2 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 Library General Public
- # License for more details.
-
- # You should have received a copy of the GNU Library 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   __mpn_submul_1
-       .ent    __mpn_submul_1
-__mpn_submul_1:
-       .set    noreorder
-       .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,$LC0
-        move   $2,$0           # zero cy2
-
-       addiu   $6,$6,-1
-       beq     $6,$0,$LC1
-       lw      $8,0($5)        # load new s1 limb as early as possible
-
-Loop:  lw      $10,0($4)
-       mflo    $3
-       mfhi    $9
-       addiu   $5,$5,4
-       addu    $3,$3,$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,$3,$2        # carry from previous addition -> $2
-       subu    $3,$10,$3
-       sgtu    $10,$3,$10
-       addu    $2,$2,$10
-       sw      $3,0($4)
-       addiu   $4,$4,4
-       bne     $6,$0,Loop
-        addu   $2,$9,$2        # add high product limb and carry from addition
-
- # cool down phase 1
-$LC1:  lw      $10,0($4)
-       mflo    $3
-       mfhi    $9
-       addu    $3,$3,$2
-       sltu    $2,$3,$2
-       multu   $8,$7
-       subu    $3,$10,$3
-       sgtu    $10,$3,$10
-       addu    $2,$2,$10
-       sw      $3,0($4)
-       addiu   $4,$4,4
-       addu    $2,$9,$2        # add high product limb and carry from addition
-
- # cool down phase 0
-$LC0:  lw      $10,0($4)
-       mflo    $3
-       mfhi    $9
-       addu    $3,$3,$2
-       sltu    $2,$3,$2
-       subu    $3,$10,$3
-       sgtu    $10,$3,$10
-       addu    $2,$2,$10
-       sw      $3,0($4)
-       j       $31
-       addu    $2,$9,$2        # add high product limb and carry from addition
-
-       .end    __mpn_submul_1