diff options
Diffstat (limited to 'sysdeps/mips/mips64')
-rw-r--r-- | sysdeps/mips/mips64/add_n.S | 29 | ||||
-rw-r--r-- | sysdeps/mips/mips64/addmul_1.S | 23 | ||||
-rw-r--r-- | sysdeps/mips/mips64/lshift.S | 29 | ||||
-rw-r--r-- | sysdeps/mips/mips64/mul_1.S | 24 | ||||
-rw-r--r-- | sysdeps/mips/mips64/rshift.S | 29 | ||||
-rw-r--r-- | sysdeps/mips/mips64/sub_n.S | 29 | ||||
-rw-r--r-- | sysdeps/mips/mips64/submul_1.S | 24 |
7 files changed, 98 insertions, 89 deletions
diff --git a/sysdeps/mips/mips64/add_n.S b/sysdeps/mips/mips64/add_n.S index 771d51981a..072f4f0b73 100644 --- a/sysdeps/mips/mips64/add_n.S +++ b/sysdeps/mips/mips64/add_n.S @@ -1,7 +1,7 @@ /* MIPS3 __mpn_add_n -- Add two limb vectors of the same length > 0 and * store sum in a third limb vector. * - * Copyright (C) 1995, 2000 Free Software Foundation, Inc. + * Copyright (C) 1995, 2000, 2002, 2003 Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -22,6 +22,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* * INPUT PARAMETERS @@ -38,10 +39,10 @@ .globl __mpn_add_n .ent __mpn_add_n __mpn_add_n: - .set noreorder #ifdef __PIC__ - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro ld $10,0($5) @@ -49,12 +50,12 @@ __mpn_add_n: daddiu $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 + beq $9,$0,L(L0) # if multiple of 4 limbs, skip first loop + move $2,$0 dsubu $7,$7,$9 -.Loop0: daddiu $9,$9,-1 +L(Loop0): daddiu $9,$9,-1 ld $12,8($5) daddu $11,$11,$2 ld $13,8($6) @@ -68,13 +69,13 @@ __mpn_add_n: daddiu $6,$6,8 move $10,$12 move $11,$13 - bne $9,$0,.Loop0 - daddiu $4,$4,8 + bne $9,$0,L(Loop0) + daddiu $4,$4,8 -.L0: beq $7,$0,.Lend - nop +L(L0): beq $7,$0,L(Lend) + nop -.Loop: daddiu $7,$7,-4 +L(Loop): daddiu $7,$7,-4 ld $12,8($5) daddu $11,$11,$2 @@ -115,10 +116,10 @@ __mpn_add_n: daddiu $5,$5,32 daddiu $6,$6,32 - bne $7,$0,.Loop - daddiu $4,$4,32 + bne $7,$0,L(Loop) + daddiu $4,$4,32 -.Lend: daddu $11,$11,$2 +L(Lend): daddu $11,$11,$2 sltu $8,$11,$2 daddu $11,$10,$11 sltu $2,$11,$10 diff --git a/sysdeps/mips/mips64/addmul_1.S b/sysdeps/mips/mips64/addmul_1.S index f6cf428315..f5ecd83702 100644 --- a/sysdeps/mips/mips64/addmul_1.S +++ b/sysdeps/mips/mips64/addmul_1.S @@ -1,7 +1,7 @@ /* MIPS3 __mpn_addmul_1 -- Multiply a limb vector with a single limb and * add the product to a second limb vector. * - * Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. + * Copyright (C) 1992, 1994, 1995, 2002, 2003 Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -22,6 +22,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* INPUT PARAMETERS * res_ptr $4 @@ -38,10 +39,10 @@ .globl __mpn_addmul_1 .ent __mpn_addmul_1 __mpn_addmul_1: - .set noreorder #ifdef PIC - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro # warm up phase 0 @@ -52,14 +53,14 @@ __mpn_addmul_1: dmultu $8,$7 daddiu $6,$6,-1 - beq $6,$0,$LC0 - move $2,$0 # zero cy2 + beq $6,$0,L(LC0) + move $2,$0 # zero cy2 daddiu $6,$6,-1 - beq $6,$0,$LC1 + beq $6,$0,L(LC1) ld $8,0($5) # load new s1 limb as early as possible -Loop: ld $10,0($4) +L(Loop): ld $10,0($4) mflo $3 mfhi $9 daddiu $5,$5,8 @@ -73,11 +74,11 @@ Loop: ld $10,0($4) 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 + bne $6,$0,L(Loop) + daddu $2,$9,$2 # add high product limb and carry from addition # cool down phase 1 -$LC1: ld $10,0($4) +L(LC1): ld $10,0($4) mflo $3 mfhi $9 daddu $3,$3,$2 @@ -91,7 +92,7 @@ $LC1: ld $10,0($4) daddu $2,$9,$2 # add high product limb and carry from addition # cool down phase 0 -$LC0: ld $10,0($4) +L(LC0): ld $10,0($4) mflo $3 mfhi $9 daddu $3,$3,$2 diff --git a/sysdeps/mips/mips64/lshift.S b/sysdeps/mips/mips64/lshift.S index d06ba0d309..20f9e3da19 100644 --- a/sysdeps/mips/mips64/lshift.S +++ b/sysdeps/mips/mips64/lshift.S @@ -1,6 +1,6 @@ /* MIPS3 __mpn_lshift -- * - * Copyright (C) 1995, 2000 Free Software Foundation, Inc. + * Copyright (C) 1995, 2000, 2002, 2003 Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -21,6 +21,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* INPUT PARAMETERS * res_ptr $4 @@ -37,10 +38,10 @@ .globl __mpn_lshift .ent __mpn_lshift __mpn_lshift: - .set noreorder #ifdef __PIC__ - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro dsll $2,$6,3 @@ -50,12 +51,12 @@ __mpn_lshift: daddu $4,$4,$2 # make r4 point at end of res daddiu $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 - dsrl $2,$10,$13 # compute function result + beq $9,$0,L(L0) # if multiple of 4 limbs, skip first loop + dsrl $2,$10,$13 # compute function result dsubu $6,$6,$9 -.Loop0: ld $3,-16($5) +L(Loop0): ld $3,-16($5) daddiu $4,$4,-8 daddiu $5,$5,-8 daddiu $9,$9,-1 @@ -63,13 +64,13 @@ __mpn_lshift: dsrl $12,$3,$13 move $10,$3 or $8,$11,$12 - bne $9,$0,.Loop0 - sd $8,0($4) + bne $9,$0,L(Loop0) + sd $8,0($4) -.L0: beq $6,$0,.Lend - nop +L(L0): beq $6,$0,L(Lend) + nop -.Loop: ld $3,-16($5) +L(Loop): ld $3,-16($5) daddiu $4,$4,-32 daddiu $6,$6,-4 dsll $11,$10,$7 @@ -95,10 +96,10 @@ __mpn_lshift: daddiu $5,$5,-32 or $8,$14,$9 - bgtz $6,.Loop - sd $8,0($4) + bgtz $6,L(Loop) + sd $8,0($4) -.Lend: dsll $8,$10,$7 +L(Lend): dsll $8,$10,$7 j $31 sd $8,-8($4) .end __mpn_lshift diff --git a/sysdeps/mips/mips64/mul_1.S b/sysdeps/mips/mips64/mul_1.S index bf32953f43..c711783001 100644 --- a/sysdeps/mips/mips64/mul_1.S +++ b/sysdeps/mips/mips64/mul_1.S @@ -1,7 +1,8 @@ /* MIPS3 __mpn_mul_1 -- Multiply a limb vector with a single limb and * store the product in a second limb vector. * - * Copyright (C) 1992, 1994, 1995, 2000 Free Software Foundation, Inc. + * Copyright (C) 1992, 1994, 1995, 2000, 2002, 2003 + * Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -22,6 +23,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* INPUT PARAMETERS * res_ptr $4 @@ -38,10 +40,10 @@ .globl __mpn_mul_1 .ent __mpn_mul_1 __mpn_mul_1: - .set noreorder #ifdef __PIC__ - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro # warm up phase 0 @@ -52,14 +54,14 @@ __mpn_mul_1: dmultu $8,$7 daddiu $6,$6,-1 - beq $6,$0,$LC0 - move $2,$0 # zero cy2 + beq $6,$0,L(LC0) + move $2,$0 # zero cy2 daddiu $6,$6,-1 - beq $6,$0,$LC1 + beq $6,$0,L(LC1) ld $8,0($5) # load new s1 limb as early as possible -Loop: mflo $10 +L(Loop): mflo $10 mfhi $9 daddiu $5,$5,8 daddu $10,$10,$2 # add old carry limb to low product limb @@ -69,11 +71,11 @@ Loop: mflo $10 sltu $2,$10,$2 # carry from previous addition -> $2 sd $10,0($4) daddiu $4,$4,8 - bne $6,$0,Loop - daddu $2,$9,$2 # add high product limb and carry from addition + bne $6,$0,L(Loop) + daddu $2,$9,$2 # add high product limb and carry from addition # cool down phase 1 -$LC1: mflo $10 +L(LC1): mflo $10 mfhi $9 daddu $10,$10,$2 sltu $2,$10,$2 @@ -83,7 +85,7 @@ $LC1: mflo $10 daddu $2,$9,$2 # add high product limb and carry from addition # cool down phase 0 -$LC0: mflo $10 +L(LC0): mflo $10 mfhi $9 daddu $10,$10,$2 sltu $2,$10,$2 diff --git a/sysdeps/mips/mips64/rshift.S b/sysdeps/mips/mips64/rshift.S index f39c1b3314..e6a8a06d3d 100644 --- a/sysdeps/mips/mips64/rshift.S +++ b/sysdeps/mips/mips64/rshift.S @@ -1,6 +1,6 @@ /* MIPS3 __mpn_rshift -- * - * Copyright (C) 1995, 2000 Free Software Foundation, Inc. + * Copyright (C) 1995, 2000, 2002, 2003 Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -21,6 +21,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* INPUT PARAMETERS * res_ptr $4 @@ -37,22 +38,22 @@ .globl __mpn_rshift .ent __mpn_rshift __mpn_rshift: - .set noreorder #ifdef __PIC__ - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro ld $10,0($5) # load first limb dsubu $13,$0,$7 daddiu $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 - dsll $2,$10,$13 # compute function result + beq $9,$0,L(L0) # if multiple of 4 limbs, skip first loop + dsll $2,$10,$13 # compute function result dsubu $6,$6,$9 -.Loop0: ld $3,8($5) +L(Loop0): ld $3,8($5) daddiu $4,$4,8 daddiu $5,$5,8 daddiu $9,$9,-1 @@ -60,13 +61,13 @@ __mpn_rshift: dsll $12,$3,$13 move $10,$3 or $8,$11,$12 - bne $9,$0,.Loop0 - sd $8,-8($4) + bne $9,$0,L(Loop0) + sd $8,-8($4) -.L0: beq $6,$0,.Lend - nop +L(L0): beq $6,$0,L(Lend) + nop -.Loop: ld $3,8($5) +L(Loop): ld $3,8($5) daddiu $4,$4,32 daddiu $6,$6,-4 dsrl $11,$10,$7 @@ -92,10 +93,10 @@ __mpn_rshift: daddiu $5,$5,32 or $8,$14,$9 - bgtz $6,.Loop - sd $8,-8($4) + bgtz $6,L(Loop) + sd $8,-8($4) -.Lend: dsrl $8,$10,$7 +L(Lend): dsrl $8,$10,$7 j $31 sd $8,0($4) .end __mpn_rshift diff --git a/sysdeps/mips/mips64/sub_n.S b/sysdeps/mips/mips64/sub_n.S index d566658bfd..aa8b0dcf9a 100644 --- a/sysdeps/mips/mips64/sub_n.S +++ b/sysdeps/mips/mips64/sub_n.S @@ -1,7 +1,7 @@ /* MIPS3 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and * store difference in a third limb vector. * - * Copyright (C) 1995, 2000 Free Software Foundation, Inc. + * Copyright (C) 1995, 2000, 2002, 2003 Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -22,6 +22,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* INPUT PARAMETERS * res_ptr $4 @@ -38,10 +39,10 @@ .globl __mpn_sub_n .ent __mpn_sub_n __mpn_sub_n: - .set noreorder #ifdef __PIC__ - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro ld $10,0($5) @@ -49,12 +50,12 @@ __mpn_sub_n: daddiu $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 + beq $9,$0,L(L0) # if multiple of 4 limbs, skip first loop + move $2,$0 dsubu $7,$7,$9 -.Loop0: daddiu $9,$9,-1 +L(Loop0): daddiu $9,$9,-1 ld $12,8($5) daddu $11,$11,$2 ld $13,8($6) @@ -68,13 +69,13 @@ __mpn_sub_n: daddiu $6,$6,8 move $10,$12 move $11,$13 - bne $9,$0,.Loop0 - daddiu $4,$4,8 + bne $9,$0,L(Loop0) + daddiu $4,$4,8 -.L0: beq $7,$0,.Lend - nop +L(L0): beq $7,$0,L(Lend) + nop -.Loop: daddiu $7,$7,-4 +L(Loop): daddiu $7,$7,-4 ld $12,8($5) daddu $11,$11,$2 @@ -115,10 +116,10 @@ __mpn_sub_n: daddiu $5,$5,32 daddiu $6,$6,32 - bne $7,$0,.Loop - daddiu $4,$4,32 + bne $7,$0,L(Loop) + daddiu $4,$4,32 -.Lend: daddu $11,$11,$2 +L(Lend): daddu $11,$11,$2 sltu $8,$11,$2 dsubu $11,$10,$11 sltu $2,$10,$11 diff --git a/sysdeps/mips/mips64/submul_1.S b/sysdeps/mips/mips64/submul_1.S index 510923f366..4971b992a1 100644 --- a/sysdeps/mips/mips64/submul_1.S +++ b/sysdeps/mips/mips64/submul_1.S @@ -1,7 +1,8 @@ /* MIPS3 __mpn_submul_1 -- Multiply a limb vector with a single limb and * subtract the product from a second limb vector. * - * Copyright (C) 1992, 1994, 1995, 2000 Free Software Foundation, Inc. + * Copyright (C) 1992, 1994, 1995, 2000, 2002, 2003 + * Free Software Foundation, Inc. * * This file is part of the GNU MP Library. * @@ -22,6 +23,7 @@ */ #include <sysdep.h> +#include <sys/asm.h> /* INPUT PARAMETERS * res_ptr $4 @@ -38,10 +40,10 @@ .globl __mpn_submul_1 .ent __mpn_submul_1 __mpn_submul_1: - .set noreorder #ifdef __PIC__ - .cpload t9 + SETUP_GP /* ??? unused */ #endif + .set noreorder .set nomacro # warm up phase 0 @@ -52,14 +54,14 @@ __mpn_submul_1: dmultu $8,$7 daddiu $6,$6,-1 - beq $6,$0,$LC0 - move $2,$0 # zero cy2 + beq $6,$0,L(LC0) + move $2,$0 # zero cy2 daddiu $6,$6,-1 - beq $6,$0,$LC1 + beq $6,$0,L(LC1) ld $8,0($5) # load new s1 limb as early as possible -Loop: ld $10,0($4) +L(Loop): ld $10,0($4) mflo $3 mfhi $9 daddiu $5,$5,8 @@ -73,11 +75,11 @@ Loop: ld $10,0($4) 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 + bne $6,$0,L(Loop) + daddu $2,$9,$2 # add high product limb and carry from addition # cool down phase 1 -$LC1: ld $10,0($4) +L(LC1): ld $10,0($4) mflo $3 mfhi $9 daddu $3,$3,$2 @@ -91,7 +93,7 @@ $LC1: ld $10,0($4) daddu $2,$9,$2 # add high product limb and carry from addition # cool down phase 0 -$LC0: ld $10,0($4) +L(LC0): ld $10,0($4) mflo $3 mfhi $9 daddu $3,$3,$2 |