about summary refs log tree commit diff
path: root/sysdeps/mips/mips64
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/mips64
parent7d58530341304d403a6626d7f7a1913165fe2f32 (diff)
downloadglibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.gz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.xz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.zip
2.5-18.1
Diffstat (limited to 'sysdeps/mips/mips64')
-rw-r--r--sysdeps/mips/mips64/Dist1
-rw-r--r--sysdeps/mips/mips64/Implies3
-rw-r--r--sysdeps/mips/mips64/__longjmp.c98
-rw-r--r--sysdeps/mips/mips64/add_n.S130
-rw-r--r--sysdeps/mips/mips64/addmul_1.S107
-rw-r--r--sysdeps/mips/mips64/bsd-_setjmp.S49
-rw-r--r--sysdeps/mips/mips64/bsd-setjmp.S47
-rw-r--r--sysdeps/mips/mips64/gmp-mparam.h31
-rw-r--r--sysdeps/mips/mips64/lshift.S105
-rw-r--r--sysdeps/mips/mips64/memcpy.S140
-rw-r--r--sysdeps/mips/mips64/memset.S92
-rw-r--r--sysdeps/mips/mips64/mul_1.S96
-rw-r--r--sysdeps/mips/mips64/n32/Implies4
-rw-r--r--sysdeps/mips/mips64/n32/Makefile6
-rw-r--r--sysdeps/mips/mips64/n64/Implies4
-rw-r--r--sysdeps/mips/mips64/n64/Makefile6
-rw-r--r--sysdeps/mips/mips64/rshift.S102
-rw-r--r--sysdeps/mips/mips64/setjmp.S46
-rw-r--r--sysdeps/mips/mips64/setjmp_aux.c78
-rw-r--r--sysdeps/mips/mips64/soft-fp/Dist1
-rw-r--r--sysdeps/mips/mips64/soft-fp/sfp-machine.h47
-rw-r--r--sysdeps/mips/mips64/sub_n.S130
-rw-r--r--sysdeps/mips/mips64/submul_1.S108
23 files changed, 0 insertions, 1431 deletions
diff --git a/sysdeps/mips/mips64/Dist b/sysdeps/mips/mips64/Dist
deleted file mode 100644
index ad6ea0313a..0000000000
--- a/sysdeps/mips/mips64/Dist
+++ /dev/null
@@ -1 +0,0 @@
-setjmp_aux.c
diff --git a/sysdeps/mips/mips64/Implies b/sysdeps/mips/mips64/Implies
deleted file mode 100644
index 8c18cb3034..0000000000
--- a/sysdeps/mips/mips64/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-# MIPS uses IEEE 754 floating point.
-ieee754/flt-32
-ieee754/dbl-64
diff --git a/sysdeps/mips/mips64/__longjmp.c b/sysdeps/mips/mips64/__longjmp.c
deleted file mode 100644
index 546493f842..0000000000
--- a/sysdeps/mips/mips64/__longjmp.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 2000, 2003, 2004
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Brendan Kehoe (brendan@zen.org).
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <setjmp.h>
-#include <sgidefs.h>
-#include <stdlib.h>
-
-#undef __longjmp
-
-#ifndef	__GNUC__
-  #error This file uses GNU C extensions; you must compile with GCC.
-#endif
-
-void
-__longjmp (env, val_arg)
-     __jmp_buf env;
-     int val_arg;
-{
-  /* gcc 1.39.19 miscompiled the longjmp routine (as it did setjmp before
-     the hack around it); force it to use $a1 for the longjmp value.
-     Without this it saves $a1 in a register which gets clobbered
-     along the way.  */
-  register int val asm ("a1");
-
-  /* Pull back the floating point callee-saved registers.  */
-#if _MIPS_SIM == _ABI64
-  asm volatile ("l.d $f24, %0" : : "m" (env[0].__fpregs[0]));
-  asm volatile ("l.d $f25, %0" : : "m" (env[0].__fpregs[1]));
-  asm volatile ("l.d $f26, %0" : : "m" (env[0].__fpregs[2]));
-  asm volatile ("l.d $f27, %0" : : "m" (env[0].__fpregs[3]));
-  asm volatile ("l.d $f28, %0" : : "m" (env[0].__fpregs[4]));
-  asm volatile ("l.d $f29, %0" : : "m" (env[0].__fpregs[5]));
-  asm volatile ("l.d $f30, %0" : : "m" (env[0].__fpregs[6]));
-  asm volatile ("l.d $f31, %0" : : "m" (env[0].__fpregs[7]));
-#else
-  asm volatile ("l.d $f20, %0" : : "m" (env[0].__fpregs[0]));
-  asm volatile ("l.d $f22, %0" : : "m" (env[0].__fpregs[1]));
-  asm volatile ("l.d $f24, %0" : : "m" (env[0].__fpregs[2]));
-  asm volatile ("l.d $f26, %0" : : "m" (env[0].__fpregs[3]));
-  asm volatile ("l.d $f28, %0" : : "m" (env[0].__fpregs[4]));
-  asm volatile ("l.d $f30, %0" : : "m" (env[0].__fpregs[5]));
-#endif
-
-  /* Get and reconstruct the floating point csr.  */
-  asm volatile ("lw $2, %0" : : "m" (env[0].__fpc_csr));
-  asm volatile ("ctc1 $2, $31");
-
-  /* Get the GP. */
-  asm volatile ("ld $gp, %0" : : "m" (env[0].__gp));
-
-  /* Get the callee-saved registers.  */
-  asm volatile ("ld $16, %0" : : "m" (env[0].__regs[0]));
-  asm volatile ("ld $17, %0" : : "m" (env[0].__regs[1]));
-  asm volatile ("ld $18, %0" : : "m" (env[0].__regs[2]));
-  asm volatile ("ld $19, %0" : : "m" (env[0].__regs[3]));
-  asm volatile ("ld $20, %0" : : "m" (env[0].__regs[4]));
-  asm volatile ("ld $21, %0" : : "m" (env[0].__regs[5]));
-  asm volatile ("ld $22, %0" : : "m" (env[0].__regs[6]));
-  asm volatile ("ld $23, %0" : : "m" (env[0].__regs[7]));
-
-  /* Get the PC.  */
-  asm volatile ("ld $31, %0" : : "m" (env[0].__pc));
-
-
-  /* Restore the stack pointer and the FP.  They have to be restored
-     last and in a single asm as gcc, depending on options used, may
-     use either of them to access env.  */
-  asm volatile ("ld $29, %0\n\t"
-		"ld $30, %1\n\t" : : "m" (env[0].__sp), "m" (env[0].__fp));
-
-/* Give setjmp 1 if given a 0, or what they gave us if non-zero.  */
-  if (val == 0)
-    asm volatile ("dli $2, 1");
-  else
-    asm volatile ("move $2, %0" : : "r" (val));
-
-  asm volatile ("j $31");
-
-  /* Avoid `volatile function does return' warnings.  */
-  for (;;);
-}
diff --git a/sysdeps/mips/mips64/add_n.S b/sysdeps/mips/mips64/add_n.S
deleted file mode 100644
index 072f4f0b73..0000000000
--- a/sysdeps/mips/mips64/add_n.S
+++ /dev/null
@@ -1,130 +0,0 @@
-/* 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, 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>
-#include <sys/asm.h>
-
-/*
- * INPUT PARAMETERS
- * res_ptr	$4
- * s1_ptr	$5
- * s2_ptr	$6
- * size		$7
- */
-#ifdef __PIC__
-	.option pic2
-#endif
-	.text
-	.align	2
-	.globl	__mpn_add_n
-	.ent	__mpn_add_n
-__mpn_add_n:
-#ifdef __PIC__
-	SETUP_GP /* ??? unused */
-#endif
-	.set	noreorder
-	.set	nomacro
-
-	ld	$10,0($5)
-	ld	$11,0($6)
-
-	daddiu	$7,$7,-1
-	and	$9,$7,4-1	# number of limbs in first loop
-	beq	$9,$0,L(L0)	# if multiple of 4 limbs, skip first loop
-	move	$2,$0
-
-	dsubu	$7,$7,$9
-
-L(Loop0):	daddiu	$9,$9,-1
-	ld	$12,8($5)
-	daddu	$11,$11,$2
-	ld	$13,8($6)
-	sltu	$8,$11,$2
-	daddu	$11,$10,$11
-	sltu	$2,$11,$10
-	sd	$11,0($4)
-	or	$2,$2,$8
-
-	daddiu	$5,$5,8
-	daddiu	$6,$6,8
-	move	$10,$12
-	move	$11,$13
-	bne	$9,$0,L(Loop0)
-	daddiu	$4,$4,8
-
-L(L0):	beq	$7,$0,L(Lend)
-	nop
-
-L(Loop):	daddiu	$7,$7,-4
-
-	ld	$12,8($5)
-	daddu	$11,$11,$2
-	ld	$13,8($6)
-	sltu	$8,$11,$2
-	daddu	$11,$10,$11
-	sltu	$2,$11,$10
-	sd	$11,0($4)
-	or	$2,$2,$8
-
-	ld	$10,16($5)
-	daddu	$13,$13,$2
-	ld	$11,16($6)
-	sltu	$8,$13,$2
-	daddu	$13,$12,$13
-	sltu	$2,$13,$12
-	sd	$13,8($4)
-	or	$2,$2,$8
-
-	ld	$12,24($5)
-	daddu	$11,$11,$2
-	ld	$13,24($6)
-	sltu	$8,$11,$2
-	daddu	$11,$10,$11
-	sltu	$2,$11,$10
-	sd	$11,16($4)
-	or	$2,$2,$8
-
-	ld	$10,32($5)
-	daddu	$13,$13,$2
-	ld	$11,32($6)
-	sltu	$8,$13,$2
-	daddu	$13,$12,$13
-	sltu	$2,$13,$12
-	sd	$13,24($4)
-	or	$2,$2,$8
-
-	daddiu	$5,$5,32
-	daddiu	$6,$6,32
-
-	bne	$7,$0,L(Loop)
-	daddiu	$4,$4,32
-
-L(Lend):	daddu	$11,$11,$2
-	sltu	$8,$11,$2
-	daddu	$11,$10,$11
-	sltu	$2,$11,$10
-	sd	$11,0($4)
-	j	$31
-	or	$2,$2,$8
-
-	.end	__mpn_add_n
diff --git a/sysdeps/mips/mips64/addmul_1.S b/sysdeps/mips/mips64/addmul_1.S
deleted file mode 100644
index f5ecd83702..0000000000
--- a/sysdeps/mips/mips64/addmul_1.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* 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, 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>
-#include <sys/asm.h>
-
-/* INPUT PARAMETERS
- * res_ptr	$4
- * s1_ptr	$5
- * size		$6
- * s2_limb	$7
- */
-
-#ifdef PIC
-	.option pic2
-#endif
-	.text
-	.align	4
-	.globl	__mpn_addmul_1
-	.ent	__mpn_addmul_1
-__mpn_addmul_1:
-#ifdef PIC
-	SETUP_GP /* ??? unused */
-#endif
-	.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,L(LC0)
-	move	$2,$0		# zero cy2
-
-	daddiu	$6,$6,-1
-	beq	$6,$0,L(LC1)
-	ld	$8,0($5)	# load new s1 limb as early as possible
-
-L(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,L(Loop)
-	daddu	$2,$9,$2	# add high product limb and carry from addition
-
- # cool down phase 1
-L(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
-L(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	__mpn_addmul_1
diff --git a/sysdeps/mips/mips64/bsd-_setjmp.S b/sysdeps/mips/mips64/bsd-_setjmp.S
deleted file mode 100644
index 7620cf391f..0000000000
--- a/sysdeps/mips/mips64/bsd-_setjmp.S
+++ /dev/null
@@ -1,49 +0,0 @@
-/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'.  MIPS64 version.
-   Copyright (C) 1996, 1997, 2000, 2002, 2003, 2004
-	Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This just does a tail-call to `__sigsetjmp (ARG, 0)'.
-   We cannot do it in C because it must be a tail-call, so frame-unwinding
-   in setjmp doesn't clobber the state restored by longjmp.  */
-
-#include <sgidefs.h>
-#include <sysdep.h>
-#include <sys/asm.h>
-
-#ifdef __PIC__
-	.option pic2
-#endif
-ENTRY (_setjmp)
-#ifdef __PIC__
-	SETUP_GP
-#endif
-	SETUP_GP64 (v0, C_SYMBOL_NAME (_setjmp))
-	PTR_LA t9, C_SYMBOL_NAME (__sigsetjmp)
-#if _MIPS_SIM == _ABIO32
-	nop
-#endif	
-	RESTORE_GP64
-	move	a1, zero		/* Pass a second argument of zero.  */
-#ifdef __PIC__
-	jr	t9
-#else
-	j	C_SYMBOL_NAME (__sigsetjmp)
-#endif
-	.end	_setjmp
-libc_hidden_def (_setjmp)
diff --git a/sysdeps/mips/mips64/bsd-setjmp.S b/sysdeps/mips/mips64/bsd-setjmp.S
deleted file mode 100644
index 2a1fd9ce71..0000000000
--- a/sysdeps/mips/mips64/bsd-setjmp.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'.  MIPS64 version.
-   Copyright (C) 1996, 1997, 2002, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This just does a tail-call to `__sigsetjmp (ARG, 1)'.
-   We cannot do it in C because it must be a tail-call, so frame-unwinding
-   in setjmp doesn't clobber the state restored by longjmp.  */
-
-#include <sgidefs.h>
-#include <sysdep.h>
-#include <sys/asm.h>
-
-#ifdef PIC
-	.option pic2
-#endif
-ENTRY (setjmp)
-#ifdef __PIC__
-	SETUP_GP
-#endif
-	SETUP_GP64 (v0, C_SYMBOL_NAME (setjmp))
-	PTR_LA t9, C_SYMBOL_NAME (__sigsetjmp)
-#if _MIPS_SIM == _ABIO32
-	nop
-#endif	
-	RESTORE_GP64
-	dli a1, 1		/* Pass a second argument of one.  */
-#ifdef __PIC__
-	jr	t9
-#else
-	j	C_SYMBOL_NAME (__sigsetjmp)
-#endif
-	.end	setjmp
diff --git a/sysdeps/mips/mips64/gmp-mparam.h b/sysdeps/mips/mips64/gmp-mparam.h
deleted file mode 100644
index 7666137a21..0000000000
--- a/sysdeps/mips/mips64/gmp-mparam.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* gmp-mparam.h -- Compiler/machine parameter header file.
-
-Copyright (C) 1991, 1993, 1994, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#if defined __GMP_H__ && ! defined _LONG_LONG_LIMB
-#error "Included too late for _LONG_LONG_LIMB to take effect"
-#endif
-
-#define _LONG_LONG_LIMB
-#define BITS_PER_MP_LIMB 64
-#define BYTES_PER_MP_LIMB 8
-#define BITS_PER_LONGINT __WORDSIZE
-#define BITS_PER_INT 32
-#define BITS_PER_SHORTINT 16
-#define BITS_PER_CHAR 8
diff --git a/sysdeps/mips/mips64/lshift.S b/sysdeps/mips/mips64/lshift.S
deleted file mode 100644
index 20f9e3da19..0000000000
--- a/sysdeps/mips/mips64/lshift.S
+++ /dev/null
@@ -1,105 +0,0 @@
-/* MIPS3 __mpn_lshift --
- *
- * Copyright (C) 1995, 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>
-#include <sys/asm.h>
-
-/* INPUT PARAMETERS
- * res_ptr	$4
- * src_ptr	$5
- * size		$6
- * cnt		$7
- */
-
-#ifdef __PIC__
-	.option pic2
-#endif
-	.text
-	.align	2
-	.globl	__mpn_lshift
-	.ent	__mpn_lshift
-__mpn_lshift:
-#ifdef __PIC__
-	SETUP_GP /* ??? unused */
-#endif
-	.set	noreorder
-	.set	nomacro
-
-	dsll	$2,$6,3
-	daddu	$5,$5,$2	# make r5 point at end of src
-	ld	$10,-8($5)	# load first limb
-	dsubu	$13,$0,$7
-	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,L(L0)	# if multiple of 4 limbs, skip first loop
-	dsrl	$2,$10,$13	# compute function result
-
-	dsubu	$6,$6,$9
-
-L(Loop0):	ld	$3,-16($5)
-	daddiu	$4,$4,-8
-	daddiu	$5,$5,-8
-	daddiu	$9,$9,-1
-	dsll	$11,$10,$7
-	dsrl	$12,$3,$13
-	move	$10,$3
-	or	$8,$11,$12
-	bne	$9,$0,L(Loop0)
-	sd	$8,0($4)
-
-L(L0):	beq	$6,$0,L(Lend)
-	nop
-
-L(Loop):	ld	$3,-16($5)
-	daddiu	$4,$4,-32
-	daddiu	$6,$6,-4
-	dsll	$11,$10,$7
-	dsrl	$12,$3,$13
-
-	ld	$10,-24($5)
-	dsll	$14,$3,$7
-	or	$8,$11,$12
-	sd	$8,24($4)
-	dsrl	$9,$10,$13
-
-	ld	$3,-32($5)
-	dsll	$11,$10,$7
-	or	$8,$14,$9
-	sd	$8,16($4)
-	dsrl	$12,$3,$13
-
-	ld	$10,-40($5)
-	dsll	$14,$3,$7
-	or	$8,$11,$12
-	sd	$8,8($4)
-	dsrl	$9,$10,$13
-
-	daddiu	$5,$5,-32
-	or	$8,$14,$9
-	bgtz	$6,L(Loop)
-	sd	$8,0($4)
-
-L(Lend):	dsll	$8,$10,$7
-	j	$31
-	sd	$8,-8($4)
-	.end	__mpn_lshift
diff --git a/sysdeps/mips/mips64/memcpy.S b/sysdeps/mips/mips64/memcpy.S
deleted file mode 100644
index eab9463f86..0000000000
--- a/sysdeps/mips/mips64/memcpy.S
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Hartvig Ekner <hartvige@mips.com>, 2002.
-   Ported to mips3 n32/n64 by Alexandre Oliva <aoliva@redhat.com>
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <endian.h>
-#include <sys/asm.h>
-
-
-/* void *memcpy(void *s1, const void *s2, size_t n);
-	
-   This could probably be optimized further.  */
-
-#if __BYTE_ORDER == __BIG_ENDIAN
-#  define LDHI	ldl		/* high part is left in big-endian	*/
-#  define SDHI	sdl		/* high part is left in big-endian	*/
-#  define LDLO	ldr		/* low part is right in big-endian	*/
-#  define SDLO	sdr		/* low part is right in big-endian	*/
-#else
-#  define LDHI	ldr		/* high part is right in little-endian	*/
-#  define SDHI	sdr		/* high part is right in little-endian	*/
-#  define LDLO	ldl		/* low part is left in little-endian	*/
-#  define SDLO	sdl		/* low part is left in little-endian	*/
-#endif
-
-ENTRY (memcpy)
-	.set	noreorder
-
-	slti	t0, a2, 16		# Less than 16?
-	bne	t0, zero, L(last16)
-	move	v0, a0			# Setup exit value before too late
-
-	xor	t0, a1, a0		# Find a0/a1 displacement
-	andi	t0, 0x7
-	bne	t0, zero, L(shift)	# Go handle the unaligned case
-	PTR_SUBU t1, zero, a1
-	andi	t1, 0x7			# a0/a1 are aligned, but are we
-	beq	t1, zero, L(chk8w)	#  starting in the middle of a word?
-	PTR_SUBU a2, t1
-	LDHI	t0, 0(a1)		# Yes we are... take care of that
-	PTR_ADDU a1, t1
-	SDHI	t0, 0(a0)
-	PTR_ADDU a0, t1
-
-L(chk8w):
-	andi	t0, a2, 0x3f		# 64 or more bytes left?
-	beq	t0, a2, L(chk1w)
-	PTR_SUBU a3, a2, t0		# Yes
-	PTR_ADDU a3, a1			# a3 = end address of loop
-	move	a2, t0			# a2 = what will be left after loop
-L(lop8w):	
-	ld	t0,  0(a1)		# Loop taking 8 words at a time
-	ld	t1,  8(a1)
-	ld	t2, 16(a1)
-	ld	t3, 24(a1)
-	ld	ta0, 32(a1)
-	ld	ta1, 40(a1)
-	ld	ta2, 48(a1)
-	ld	ta3, 56(a1)
-	PTR_ADDIU a0, 64
-	PTR_ADDIU a1, 64
-	sd	t0, -64(a0)
-	sd	t1, -56(a0)
-	sd	t2, -48(a0)
-	sd	t3, -40(a0)
-	sd	ta0, -32(a0)
-	sd	ta1, -24(a0)
-	sd	ta2, -16(a0)
-	bne	a1, a3, L(lop8w)
-	sd	ta3,  -8(a0)
-
-L(chk1w):
-	andi	t0, a2, 0x7		# 8 or more bytes left?
-	beq	t0, a2, L(last16)
-	PTR_SUBU a3, a2, t0		# Yes, handle them one dword at a time
-	PTR_ADDU a3, a1			# a3 again end address
-	move	a2, t0
-L(lop1w):
-	ld	t0, 0(a1)
-	PTR_ADDIU a0, 8
-	PTR_ADDIU a1, 8
-	bne	a1, a3, L(lop1w)
-	sd	t0, -8(a0)
-
-L(last16):
-	blez	a2, L(lst16e)		# Handle last 16 bytes, one at a time
-	PTR_ADDU a3, a2, a1
-L(lst16l):
-	lb	t0, 0(a1)
-	PTR_ADDIU a0, 1
-	PTR_ADDIU a1, 1
-	bne	a1, a3, L(lst16l)
-	sb	t0, -1(a0)
-L(lst16e):
-	jr	ra			# Bye, bye
-	nop
-
-L(shift):
-	PTR_SUBU a3, zero, a0		# Src and Dest unaligned 
-	andi	a3, 0x7			#  (unoptimized case...)
-	beq	a3, zero, L(shft1)
-	PTR_SUBU a2, a3			# a2 = bytes left
-	LDHI	t0, 0(a1)		# Take care of first odd part
-	LDLO	t0, 7(a1)
-	PTR_ADDU a1, a3
-	SDHI	t0, 0(a0)
-	PTR_ADDU a0, a3
-L(shft1):
-	andi	t0, a2, 0x7
-	PTR_SUBU a3, a2, t0
-	PTR_ADDU a3, a1
-L(shfth):
-	LDHI	t1, 0(a1)		# Limp through, dword by dword
-	LDLO	t1, 7(a1)
-	PTR_ADDIU a0, 8
-	PTR_ADDIU a1, 8
-	bne	a1, a3, L(shfth)
-	sd	t1, -8(a0)
-	b	L(last16)		# Handle anything which may be left
-	move	a2, t0
-
-	.set	reorder
-END (memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/sysdeps/mips/mips64/memset.S b/sysdeps/mips/mips64/memset.S
deleted file mode 100644
index b50aaba816..0000000000
--- a/sysdeps/mips/mips64/memset.S
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Hartvig Ekner <hartvige@mips.com>, 2002.
-   Ported to mips3 n32/n64 by Alexandre Oliva <aoliva@redhat.com>
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <endian.h>
-#include <sys/asm.h>
-
-
-/* void *memset(void *s, int c, size_t n);
-	
-   This could probably be optimized further.  */
-
-#if __BYTE_ORDER == __BIG_ENDIAN
-# define SDHI	sdl		/* high part is left in big-endian	*/
-#else
-# define SDHI	sdr		/* high part is right in little-endian	*/
-#endif
-
-ENTRY (memset)
-	.set	noreorder
-
-	slti	ta1, a2, 16		# Less than 16?
-	bne	ta1, zero, L(last16)
-	move	v0, a0			# Setup exit value before too late
-
-	beq	a1, zero, L(ueven)	# If zero pattern, no need to extend
-	andi	a1, 0xff		# Avoid problems with bogus arguments
-	dsll	ta0, a1, 8
-	or	a1, ta0
-	dsll	ta0, a1, 16
-	or	a1, ta0			# a1 is now pattern in full word
-	dsll	ta0, a1, 32
-	or	a1, ta0			# a1 is now pattern in double word
-
-L(ueven):
-	PTR_SUBU ta0, zero, a0		# Unaligned address?
-	andi	ta0, 0x7
-	beq	ta0, zero, L(chkw)
-	PTR_SUBU a2, ta0
-	SDHI	a1, 0(a0)		# Yes, handle first unaligned part
-	PTR_ADDU a0, ta0		# Now both a0 and a2 are updated
-
-L(chkw):
-	andi	ta0, a2, 0xf		# Enough left for one loop iteration?
-	beq	ta0, a2, L(chkl)
-	PTR_SUBU a3, a2, ta0
-	PTR_ADDU a3, a0			# a3 is last loop address +1
-	move	a2, ta0			# a2 is now # of bytes left after loop
-L(loopw):
-	PTR_ADDIU a0, 16		# Handle 2 dwords pr. iteration
-	sd	a1, -16(a0)
-	bne	a0, a3, L(loopw)
-	sd	a1,  -8(a0)
-
-L(chkl):
-	andi	ta0, a2, 0x8		# Check if there is at least a double
-	beq	ta0, zero, L(last16)	#  word remaining after the loop
-	PTR_SUBU a2, ta0
-	sd	a1, 0(a0)		# Yes...
-	PTR_ADDIU a0, 8
-
-L(last16):
-	blez	a2, L(exit)		# Handle last 16 bytes (if cnt>0)
-	PTR_ADDU a3, a2, a0		# a3 is last address +1
-L(lst16l):
-	PTR_ADDIU a0, 1
-	bne	a0, a3, L(lst16l)
-	sb	a1, -1(a0)
-L(exit):
-	j	ra			# Bye, bye
-	nop
-
-	.set	reorder
-END (memset)
-libc_hidden_builtin_def (memset)
diff --git a/sysdeps/mips/mips64/mul_1.S b/sysdeps/mips/mips64/mul_1.S
deleted file mode 100644
index c711783001..0000000000
--- a/sysdeps/mips/mips64/mul_1.S
+++ /dev/null
@@ -1,96 +0,0 @@
-/* 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, 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>
-#include <sys/asm.h>
-
-/* INPUT PARAMETERS
- * res_ptr	$4
- * s1_ptr	$5
- * size		$6
- * s2_limb	$7
- */
-
-#ifdef __PIC__
-	.option pic2
-#endif
-	.text
-	.align	4
-	.globl	__mpn_mul_1
-	.ent	__mpn_mul_1
-__mpn_mul_1:
-#ifdef __PIC__
-	SETUP_GP /* ??? unused */
-#endif
-	.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,L(LC0)
-	move	$2,$0		# zero cy2
-
-	daddiu	$6,$6,-1
-	beq	$6,$0,L(LC1)
-	ld	$8,0($5)	# load new s1 limb as early as possible
-
-L(Loop):	mflo	$10
-	mfhi	$9
-	daddiu	$5,$5,8
-	daddu	$10,$10,$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,$10,$2	# carry from previous addition -> $2
-	sd	$10,0($4)
-	daddiu	$4,$4,8
-	bne	$6,$0,L(Loop)
-	daddu	$2,$9,$2	# add high product limb and carry from addition
-
- # cool down phase 1
-L(LC1):	mflo	$10
-	mfhi	$9
-	daddu	$10,$10,$2
-	sltu	$2,$10,$2
-	dmultu	$8,$7
-	sd	$10,0($4)
-	daddiu	$4,$4,8
-	daddu	$2,$9,$2	# add high product limb and carry from addition
-
- # cool down phase 0
-L(LC0):	mflo	$10
-	mfhi	$9
-	daddu	$10,$10,$2
-	sltu	$2,$10,$2
-	sd	$10,0($4)
-	j	$31
-	daddu	$2,$9,$2	# add high product limb and carry from addition
-
-	.end	__mpn_mul_1
diff --git a/sysdeps/mips/mips64/n32/Implies b/sysdeps/mips/mips64/n32/Implies
deleted file mode 100644
index a7cb280ec4..0000000000
--- a/sysdeps/mips/mips64/n32/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-ieee754/ldbl-128
-mips/mips64
-mips
-wordsize-32
diff --git a/sysdeps/mips/mips64/n32/Makefile b/sysdeps/mips/mips64/n32/Makefile
deleted file mode 100644
index a84d2a51bd..0000000000
--- a/sysdeps/mips/mips64/n32/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# `long double' is a distinct type we support.
-long-double-fcts = yes
-
-ifeq ($(filter -mabi=n32,$(CC)),)
-CC += -mabi=n32
-endif
diff --git a/sysdeps/mips/mips64/n64/Implies b/sysdeps/mips/mips64/n64/Implies
deleted file mode 100644
index e507786789..0000000000
--- a/sysdeps/mips/mips64/n64/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-ieee754/ldbl-128
-mips/mips64
-mips
-wordsize-64
diff --git a/sysdeps/mips/mips64/n64/Makefile b/sysdeps/mips/mips64/n64/Makefile
deleted file mode 100644
index a823f32b53..0000000000
--- a/sysdeps/mips/mips64/n64/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# `long double' is a distinct type we support.
-long-double-fcts = yes
-
-ifeq ($(filter -mabi=64,$(CC)),)
-CC += -mabi=64
-endif
diff --git a/sysdeps/mips/mips64/rshift.S b/sysdeps/mips/mips64/rshift.S
deleted file mode 100644
index e6a8a06d3d..0000000000
--- a/sysdeps/mips/mips64/rshift.S
+++ /dev/null
@@ -1,102 +0,0 @@
-/* MIPS3 __mpn_rshift --
- *
- * Copyright (C) 1995, 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>
-#include <sys/asm.h>
-
-/* INPUT PARAMETERS
- * res_ptr	$4
- * src_ptr	$5
- * size		$6
- * cnt		$7
- */
-
-#ifdef __PIC__
-	.option pic2
-#endif
-	.text
-	.align	2
-	.globl	__mpn_rshift
-	.ent	__mpn_rshift
-__mpn_rshift:
-#ifdef __PIC__
-	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,L(L0)	# if multiple of 4 limbs, skip first loop
-	dsll	$2,$10,$13	# compute function result
-
-	dsubu	$6,$6,$9
-
-L(Loop0):	ld	$3,8($5)
-	daddiu	$4,$4,8
-	daddiu	$5,$5,8
-	daddiu	$9,$9,-1
-	dsrl	$11,$10,$7
-	dsll	$12,$3,$13
-	move	$10,$3
-	or	$8,$11,$12
-	bne	$9,$0,L(Loop0)
-	sd	$8,-8($4)
-
-L(L0):	beq	$6,$0,L(Lend)
-	nop
-
-L(Loop):	ld	$3,8($5)
-	daddiu	$4,$4,32
-	daddiu	$6,$6,-4
-	dsrl	$11,$10,$7
-	dsll	$12,$3,$13
-
-	ld	$10,16($5)
-	dsrl	$14,$3,$7
-	or	$8,$11,$12
-	sd	$8,-32($4)
-	dsll	$9,$10,$13
-
-	ld	$3,24($5)
-	dsrl	$11,$10,$7
-	or	$8,$14,$9
-	sd	$8,-24($4)
-	dsll	$12,$3,$13
-
-	ld	$10,32($5)
-	dsrl	$14,$3,$7
-	or	$8,$11,$12
-	sd	$8,-16($4)
-	dsll	$9,$10,$13
-
-	daddiu	$5,$5,32
-	or	$8,$14,$9
-	bgtz	$6,L(Loop)
-	sd	$8,-8($4)
-
-L(Lend):	dsrl	$8,$10,$7
-	j	$31
-	sd	$8,0($4)
-	.end	__mpn_rshift
diff --git a/sysdeps/mips/mips64/setjmp.S b/sysdeps/mips/mips64/setjmp.S
deleted file mode 100644
index bdfd9cd51c..0000000000
--- a/sysdeps/mips/mips64/setjmp.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1996, 1997, 2000, 2002, 2003, 2004
-	Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sgidefs.h>
-#include <sysdep.h>
-#include <sys/asm.h>
-
-/* The function __sigsetjmp_aux saves all the registers, but it can't
-   reliably access the stack or frame pointers, so we pass them in as
-   extra arguments.  */
-#ifdef __PIC__
-	.option pic2
-#endif
-ENTRY (__sigsetjmp)
-#ifdef __PIC__
-	SETUP_GP
-#endif
-	SETUP_GP64 (v0, C_SYMBOL_NAME (__sigsetjmp))
-	move a2, sp
-	move a3, fp
-	PTR_LA t9, __sigsetjmp_aux
-#if _MIPS_SIM == _ABIO32
-	nop
-#endif	
-	RESTORE_GP64
-#if _MIPS_SIM != _ABIO32
-	move a4, gp
-#endif
-	jr t9
-	.end __sigsetjmp
diff --git a/sysdeps/mips/mips64/setjmp_aux.c b/sysdeps/mips/mips64/setjmp_aux.c
deleted file mode 100644
index 26b4739c32..0000000000
--- a/sysdeps/mips/mips64/setjmp_aux.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Brendan Kehoe (brendan@zen.org).
-
-   The GNU C 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 C 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 C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <setjmp.h>
-#include <sgidefs.h>
-
-/* This function is only called via the assembly language routine
-   __sigsetjmp, which arranges to pass in the stack pointer and the frame
-   pointer.  We do things this way because it's difficult to reliably
-   access them in C.  */
-
-int
-__sigsetjmp_aux (jmp_buf env, int savemask, long long sp, long long fp,
-		 long long gp)
-{
-  /* Store the floating point callee-saved registers...  */
-#if _MIPS_SIM == _ABI64
-  asm volatile ("s.d $f24, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[0]));
-  asm volatile ("s.d $f25, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[1]));
-  asm volatile ("s.d $f26, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[2]));
-  asm volatile ("s.d $f27, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[3]));
-  asm volatile ("s.d $f28, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[4]));
-  asm volatile ("s.d $f29, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[5]));
-  asm volatile ("s.d $f30, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[6]));
-  asm volatile ("s.d $f31, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[7]));
-#else
-  asm volatile ("s.d $f20, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[0]));
-  asm volatile ("s.d $f22, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[1]));
-  asm volatile ("s.d $f24, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[2]));
-  asm volatile ("s.d $f26, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[3]));
-  asm volatile ("s.d $f28, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[4]));
-  asm volatile ("s.d $f30, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[5]));
-#endif
-
-  /* .. and the PC;  */
-  asm volatile ("sd $31, %0" : : "m" (env[0].__jmpbuf[0].__pc));
-
-  /* .. and the stack pointer;  */
-  env[0].__jmpbuf[0].__sp = sp;
-
-  /* .. and the FP; it'll be in s8. */
-  env[0].__jmpbuf[0].__fp = fp;
-
-  /* .. and the GP; */
-  env[0].__jmpbuf[0].__gp = gp;
-
-  /* .. and the callee-saved registers; */
-  asm volatile ("sd $16, %0" : : "m" (env[0].__jmpbuf[0].__regs[0]));
-  asm volatile ("sd $17, %0" : : "m" (env[0].__jmpbuf[0].__regs[1]));
-  asm volatile ("sd $18, %0" : : "m" (env[0].__jmpbuf[0].__regs[2]));
-  asm volatile ("sd $19, %0" : : "m" (env[0].__jmpbuf[0].__regs[3]));
-  asm volatile ("sd $20, %0" : : "m" (env[0].__jmpbuf[0].__regs[4]));
-  asm volatile ("sd $21, %0" : : "m" (env[0].__jmpbuf[0].__regs[5]));
-  asm volatile ("sd $22, %0" : : "m" (env[0].__jmpbuf[0].__regs[6]));
-  asm volatile ("sd $23, %0" : : "m" (env[0].__jmpbuf[0].__regs[7]));
-
-  /* .. and finally get and reconstruct the floating point csr.  */
-  asm ("cfc1 %0, $31" : "=r" (env[0].__jmpbuf[0].__fpc_csr));
-
-  /* Save the signal mask if requested.  */
-  return __sigjmp_save (env, savemask);
-}
diff --git a/sysdeps/mips/mips64/soft-fp/Dist b/sysdeps/mips/mips64/soft-fp/Dist
deleted file mode 100644
index 7e9914fe58..0000000000
--- a/sysdeps/mips/mips64/soft-fp/Dist
+++ /dev/null
@@ -1 +0,0 @@
-sfp-machine.h
diff --git a/sysdeps/mips/mips64/soft-fp/sfp-machine.h b/sysdeps/mips/mips64/soft-fp/sfp-machine.h
deleted file mode 100644
index 309a14a5f8..0000000000
--- a/sysdeps/mips/mips64/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#define _FP_W_TYPE_SIZE		64
-#define _FP_W_TYPE		unsigned long long
-#define _FP_WS_TYPE		signed long long
-#define _FP_I_TYPE		long long
-
-#define _FP_MUL_MEAT_S(R,X,Y)					\
-  _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y)
-#define _FP_MUL_MEAT_D(R,X,Y)					\
-  _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y)					\
-  _FP_MUL_MEAT_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y)	_FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm)
-#define _FP_DIV_MEAT_D(R,X,Y)	_FP_DIV_MEAT_1_udiv_norm(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y)	_FP_DIV_MEAT_2_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S		((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D		((_FP_QNANBIT_D << 1) - 1)
-#define _FP_NANFRAC_Q		((_FP_QNANBIT_Q << 1) - 1), -1
-#define _FP_NANSIGN_S		0
-#define _FP_NANSIGN_D		0
-#define _FP_NANSIGN_Q		0
-
-#define _FP_KEEPNANFRACP 1
-/* From my experiments it seems X is chosen unless one of the
-   NaNs is sNaN,  in which case the result is NANSIGN/NANFRAC.  */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP)			\
-  do {								\
-    if ((_FP_FRAC_HIGH_RAW_##fs(X) |				\
-	 _FP_FRAC_HIGH_RAW_##fs(Y)) & _FP_QNANBIT_##fs)		\
-      {								\
-	R##_s = _FP_NANSIGN_##fs;				\
-        _FP_FRAC_SET_##wc(R,_FP_NANFRAC_##fs);			\
-      }								\
-    else							\
-      {								\
-	R##_s = X##_s;						\
-        _FP_FRAC_COPY_##wc(R,X);				\
-      }								\
-    R##_c = FP_CLS_NAN;						\
-  } while (0)
-
-#define FP_EX_INVALID           (1 << 4)
-#define FP_EX_DIVZERO           (1 << 3)
-#define FP_EX_OVERFLOW          (1 << 2)
-#define FP_EX_UNDERFLOW         (1 << 1)
-#define FP_EX_INEXACT           (1 << 0)
diff --git a/sysdeps/mips/mips64/sub_n.S b/sysdeps/mips/mips64/sub_n.S
deleted file mode 100644
index aa8b0dcf9a..0000000000
--- a/sysdeps/mips/mips64/sub_n.S
+++ /dev/null
@@ -1,130 +0,0 @@
-/* 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, 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>
-#include <sys/asm.h>
-
-/* INPUT PARAMETERS
- * res_ptr	$4
- * s1_ptr	$5
- * s2_ptr	$6
- * size		$7
- */
-
-#ifdef __PIC__
-	.option pic2
-#endif
-	.text
-	.align	2
-	.globl	__mpn_sub_n
-	.ent	__mpn_sub_n
-__mpn_sub_n:
-#ifdef __PIC__
-	SETUP_GP /* ??? unused */
-#endif
-	.set	noreorder
-	.set	nomacro
-
-	ld	$10,0($5)
-	ld	$11,0($6)
-
-	daddiu	$7,$7,-1
-	and	$9,$7,4-1	# number of limbs in first loop
-	beq	$9,$0,L(L0)	# if multiple of 4 limbs, skip first loop
-	move	$2,$0
-
-	dsubu	$7,$7,$9
-
-L(Loop0):	daddiu	$9,$9,-1
-	ld	$12,8($5)
-	daddu	$11,$11,$2
-	ld	$13,8($6)
-	sltu	$8,$11,$2
-	dsubu	$11,$10,$11
-	sltu	$2,$10,$11
-	sd	$11,0($4)
-	or	$2,$2,$8
-
-	daddiu	$5,$5,8
-	daddiu	$6,$6,8
-	move	$10,$12
-	move	$11,$13
-	bne	$9,$0,L(Loop0)
-	daddiu	$4,$4,8
-
-L(L0):	beq	$7,$0,L(Lend)
-	nop
-
-L(Loop):	daddiu	$7,$7,-4
-
-	ld	$12,8($5)
-	daddu	$11,$11,$2
-	ld	$13,8($6)
-	sltu	$8,$11,$2
-	dsubu	$11,$10,$11
-	sltu	$2,$10,$11
-	sd	$11,0($4)
-	or	$2,$2,$8
-
-	ld	$10,16($5)
-	daddu	$13,$13,$2
-	ld	$11,16($6)
-	sltu	$8,$13,$2
-	dsubu	$13,$12,$13
-	sltu	$2,$12,$13
-	sd	$13,8($4)
-	or	$2,$2,$8
-
-	ld	$12,24($5)
-	daddu	$11,$11,$2
-	ld	$13,24($6)
-	sltu	$8,$11,$2
-	dsubu	$11,$10,$11
-	sltu	$2,$10,$11
-	sd	$11,16($4)
-	or	$2,$2,$8
-
-	ld	$10,32($5)
-	daddu	$13,$13,$2
-	ld	$11,32($6)
-	sltu	$8,$13,$2
-	dsubu	$13,$12,$13
-	sltu	$2,$12,$13
-	sd	$13,24($4)
-	or	$2,$2,$8
-
-	daddiu	$5,$5,32
-	daddiu	$6,$6,32
-
-	bne	$7,$0,L(Loop)
-	daddiu	$4,$4,32
-
-L(Lend):	daddu	$11,$11,$2
-	sltu	$8,$11,$2
-	dsubu	$11,$10,$11
-	sltu	$2,$10,$11
-	sd	$11,0($4)
-	j	$31
-	or	$2,$2,$8
-
-	.end	__mpn_sub_n
diff --git a/sysdeps/mips/mips64/submul_1.S b/sysdeps/mips/mips64/submul_1.S
deleted file mode 100644
index 4971b992a1..0000000000
--- a/sysdeps/mips/mips64/submul_1.S
+++ /dev/null
@@ -1,108 +0,0 @@
-/* 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, 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>
-#include <sys/asm.h>
-
-/* INPUT PARAMETERS
- * res_ptr	$4
- * s1_ptr	$5
- * size		$6
- * s2_limb	$7
- */
-
-#ifdef __PIC__
-	.option pic2
-#endif
-	.text
-	.align	4
-	.globl	__mpn_submul_1
-	.ent	__mpn_submul_1
-__mpn_submul_1:
-#ifdef __PIC__
-	SETUP_GP /* ??? unused */
-#endif
-	.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,L(LC0)
-	move	$2,$0		# zero cy2
-
-	daddiu	$6,$6,-1
-	beq	$6,$0,L(LC1)
-	ld	$8,0($5)	# load new s1 limb as early as possible
-
-L(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
-	dsubu	$3,$10,$3
-	sgtu	$10,$3,$10
-	daddu	$2,$2,$10
-	sd	$3,0($4)
-	daddiu	$4,$4,8
-	bne	$6,$0,L(Loop)
-	daddu	$2,$9,$2	# add high product limb and carry from addition
-
- # cool down phase 1
-L(LC1):	ld	$10,0($4)
-	mflo	$3
-	mfhi	$9
-	daddu	$3,$3,$2
-	sltu	$2,$3,$2
-	dmultu	$8,$7
-	dsubu	$3,$10,$3
-	sgtu	$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
-L(LC0):	ld	$10,0($4)
-	mflo	$3
-	mfhi	$9
-	daddu	$3,$3,$2
-	sltu	$2,$3,$2
-	dsubu	$3,$10,$3
-	sgtu	$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	__mpn_submul_1