Patchwork Remove US_SOFTWARE_GOFAST

login
register
mail settings
Submitter Joseph S. Myers
Date Dec. 14, 2010, 8:21 p.m.
Message ID <Pine.LNX.4.64.1012142020170.9479@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/75530/
State New
Headers show

Comments

Joseph S. Myers - Dec. 14, 2010, 8:21 p.m.
One thing shown up in going through config headers to find all options
that need adding to .opt files was that we hadn't got round to
removing US_SOFTWARE_GOFAST support.  This patch removes that support.

Tested building cc1 for crosses to mips-elf and sparc-elf.  Will
commit in the absence of any objections within the next 24 hours (this
removal was preapproved in 2006 in bug 24998 comment 30).

2010-12-14  Joseph Myers  <joseph@codesourcery.com>

	* doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
	* doc/tm.texi: Regenerate.
	* system.h (US_SOFTWARE_GOFAST): Poison.
	* config.gcc (enable_gofast): Don't handle.
	* config/gofast.h: Remove.
	* config/mips/t-gofast: Remove.
	* config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
	* config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
	* config/mips/elforion.h: Don't mention GOFAST in comment.
	* config/mips/mips.c: Don't include gofast.h.
	(mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
	* config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
	US_SOFTWARE_GOFAST.
	* config/sparc/sparc.c: Don't include gofast.h.
	(sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
	* config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
	US_SOFTWARE_GOFAST.

Patch

Index: gcc/doc/tm.texi
===================================================================
--- gcc/doc/tm.texi	(revision 167746)
+++ gcc/doc/tm.texi	(working copy)
@@ -5268,26 +5268,6 @@  If this macro evaluates to @code{false} 
 in @file{libgcc.a}, you do not need to define this macro.
 @end defmac
 
-@cindex US Software GOFAST, floating point emulation library
-@cindex floating point emulation library, US Software GOFAST
-@cindex GOFAST, floating point emulation library
-@findex gofast_maybe_init_libfuncs
-@defmac US_SOFTWARE_GOFAST
-Define this macro if your system C library uses the US Software GOFAST
-library to provide floating point emulation.
-
-In addition to defining this macro, your architecture must set
-@code{TARGET_INIT_LIBFUNCS} to @code{gofast_maybe_init_libfuncs}, or
-else call that function from its version of that hook.  It is defined
-in @file{config/gofast.h}, which must be included by your
-architecture's @file{@var{cpu}.c} file.  See @file{sparc/sparc.c} for
-an example.
-
-If this macro is defined, the
-@code{TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL} target hook must return
-false for @code{SFmode} and @code{DFmode} comparisons.
-@end defmac
-
 @cindex @code{EDOM}, implicit usage
 @findex matherr
 @defmac TARGET_EDOM
Index: gcc/doc/tm.texi.in
===================================================================
--- gcc/doc/tm.texi.in	(revision 167746)
+++ gcc/doc/tm.texi.in	(working copy)
@@ -5250,26 +5250,6 @@  If this macro evaluates to @code{false} 
 in @file{libgcc.a}, you do not need to define this macro.
 @end defmac
 
-@cindex US Software GOFAST, floating point emulation library
-@cindex floating point emulation library, US Software GOFAST
-@cindex GOFAST, floating point emulation library
-@findex gofast_maybe_init_libfuncs
-@defmac US_SOFTWARE_GOFAST
-Define this macro if your system C library uses the US Software GOFAST
-library to provide floating point emulation.
-
-In addition to defining this macro, your architecture must set
-@code{TARGET_INIT_LIBFUNCS} to @code{gofast_maybe_init_libfuncs}, or
-else call that function from its version of that hook.  It is defined
-in @file{config/gofast.h}, which must be included by your
-architecture's @file{@var{cpu}.c} file.  See @file{sparc/sparc.c} for
-an example.
-
-If this macro is defined, the
-@code{TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL} target hook must return
-false for @code{SFmode} and @code{DFmode} comparisons.
-@end defmac
-
 @cindex @code{EDOM}, implicit usage
 @findex matherr
 @defmac TARGET_EDOM
Index: gcc/system.h
===================================================================
--- gcc/system.h	(revision 167746)
+++ gcc/system.h	(working copy)
@@ -818,7 +818,7 @@  extern void fancy_abort (const char *, i
 	SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_TAKES_ARG \
 	TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP	   \
 	HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK CONDITIONAL_REGISTER_USAGE   \
-	FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS
+	FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST
 
 /* Hooks that are no longer used.  */
  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE	\
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 167746)
+++ gcc/config.gcc	(working copy)
@@ -3567,13 +3567,7 @@  case ${target} in
 				tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
 				;;
 		esac
-		if test "x$enable_gofast" = xyes
-		then
-			tm_defines="US_SOFTWARE_GOFAST $tm_defines"
-			tmake_file="mips/t-gofast $tmake_file"
-		else
-			tmake_file="mips/t-mips $tmake_file"
-		fi
+		tmake_file="mips/t-mips $tmake_file"
 		;;
 
 	powerpc*-*-* | rs6000-*-*)
Index: gcc/config/spu/t-spu-elf
===================================================================
--- gcc/config/spu/t-spu-elf	(revision 167746)
+++ gcc/config/spu/t-spu-elf	(working copy)
@@ -1,4 +1,4 @@ 
-#  Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+#  Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 #
 #  This file is free software; you can redistribute it and/or modify it under
 #  the terms of the GNU General Public License as published by the Free
@@ -55,12 +55,10 @@  FPBIT = fp-bit.c
 DPBIT = dp-bit.c
 
 dp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/spu/t-spu-elf
-	echo '#undef US_SOFTWARE_GOFAST' > dp-bit.c
 	cat $(srcdir)/config/fp-bit.c >> dp-bit.c
 
 fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/spu/t-spu-elf
 	echo '#define FLOAT' > fp-bit.c
-	echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c
 	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
 
 # Don't let CTOR_LIST end up in sdata section.
Index: gcc/config/sparc/sparc.c
===================================================================
--- gcc/config/sparc/sparc.c	(revision 167746)
+++ gcc/config/sparc/sparc.c	(working copy)
@@ -8466,7 +8466,6 @@  sparc_function_ok_for_sibcall (tree decl
 }
 
 /* libfunc renaming.  */
-#include "config/gofast.h"
 
 static void
 sparc_init_libfuncs (void)
@@ -8560,8 +8559,6 @@  sparc_init_libfuncs (void)
 	  set_conv_libfunc (ufix_optab, DImode, DFmode, "__dtoul");
 	}
     }
-
-  gofast_maybe_init_libfuncs ();
 }
 
 #define def_builtin(NAME, CODE, TYPE) \
Index: gcc/config/fp-bit.c
===================================================================
--- gcc/config/fp-bit.c	(revision 167746)
+++ gcc/config/fp-bit.c	(working copy)
@@ -1,7 +1,7 @@ 
 /* This is a software floating point library which can be used
    for targets without hardware floating point. 
    Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003,
-   2004, 2005, 2008, 2009 Free Software Foundation, Inc.
+   2004, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -48,8 +48,6 @@  see the files COPYING3 and COPYING.RUNTI
      8-bit processors.
    CMPtype: Specify the type that floating point compares should return.
      This defaults to SItype, aka int.
-   US_SOFTWARE_GOFAST: This makes all entry points use the same names as the
-     US Software goFast library.
    _DEBUG_BITFLOAT: This makes debugging the code a little easier, by adding
      two integers to the FLO_union_type.
    NO_DENORMALS: Disable handling of denormals.
@@ -1179,8 +1177,6 @@  compare (FLO_type arg_a, FLO_type arg_b)
 }
 #endif /* L_compare_sf || L_compare_df */
 
-#ifndef US_SOFTWARE_GOFAST
-
 /* These should be optimized for their specific tasks someday.  */
 
 #if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf)
@@ -1308,8 +1304,6 @@  _le_f2 (FLO_type arg_a, FLO_type arg_b)
 }
 #endif /* L_le_sf || L_le_df */
 
-#endif /* ! US_SOFTWARE_GOFAST */
-
 #if defined(L_unord_sf) || defined(L_unord_df) || defined(L_unord_tf)
 CMPtype
 _unord_f2 (FLO_type arg_a, FLO_type arg_b)
@@ -1434,14 +1428,7 @@  float_to_si (FLO_type arg_a)
 }
 #endif /* L_sf_to_si || L_df_to_si */
 
-#if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi)
-#if defined US_SOFTWARE_GOFAST || defined(L_tf_to_usi)
-/* While libgcc2.c defines its own __fixunssfsi and __fixunsdfsi routines,
-   we also define them for GOFAST because the ones in libgcc2.c have the
-   wrong names and I'd rather define these here and keep GOFAST CYG-LOC's
-   out of libgcc2.c.  We can't define these here if not GOFAST because then
-   there'd be duplicate copies.  */
-
+#if defined(L_tf_to_usi)
 USItype
 float_to_usi (FLO_type arg_a)
 {
@@ -1471,8 +1458,7 @@  float_to_usi (FLO_type arg_a)
   else
     return a.fraction.ll >> ((FRACBITS + NGARDS) - a.normal_exp);
 }
-#endif /* US_SOFTWARE_GOFAST */
-#endif /* L_sf_to_usi || L_df_to_usi */
+#endif /* L_tf_to_usi */
 
 #if defined(L_negate_sf) || defined(L_negate_df) || defined(L_negate_tf)
 FLO_type
Index: gcc/config/fp-bit.h
===================================================================
--- gcc/config/fp-bit.h	(revision 167746)
+++ gcc/config/fp-bit.h	(working copy)
@@ -1,5 +1,6 @@ 
 /* Header file for fp-bit.c.  */
-/* Copyright (C) 2000, 2002, 2003, 2006, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002, 2003, 2006, 2009, 2010
+   Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -217,101 +218,67 @@  typedef unsigned int UTItype __attribute
 	typedef DItype intfrac;
 #endif /* FLOAT */
 
-#ifdef US_SOFTWARE_GOFAST
-#	ifdef TFLOAT
-#		error "GOFAST TFmode not supported"
-#	elif defined FLOAT
-#		define add 		fpadd
-#		define sub 		fpsub
-#		define multiply 	fpmul
-#		define divide 		fpdiv
-#		define compare 		fpcmp
-#		define _unord_f2	__unordsf2
-#		define usi_to_float 	__floatunsisf
-#		define si_to_float 	sitofp
-#		define float_to_si 	fptosi
-#		define float_to_usi 	fptoui
-#		define negate 		__negsf2
-#		define sf_to_df		fptodp
-#		define sf_to_tf		__extendsftf2
-#	else
-#		define add 		dpadd
-#		define sub 		dpsub
-#		define multiply 	dpmul
-#		define divide 		dpdiv
-#		define compare 		dpcmp
-#		define _unord_f2	__unorddf2
-#		define usi_to_float 	__floatunsidf
-#		define si_to_float 	litodp
-#		define float_to_si 	dptoli
-#		define float_to_usi 	dptoul
-#		define negate 		__negdf2
-#		define df_to_sf 	dptofp
-#		define df_to_tf 	__extenddftf2
-#	endif /* FLOAT */
+#ifdef TFLOAT
+#	define add 		__addtf3
+#	define sub 		__subtf3
+#	define multiply 	__multf3
+#	define divide 		__divtf3
+#	define compare 		__cmptf2
+#	define _eq_f2 		__eqtf2
+#	define _ne_f2 		__netf2
+#	define _gt_f2 		__gttf2
+#	define _ge_f2 		__getf2
+#	define _lt_f2 		__lttf2
+#	define _le_f2 		__letf2
+#	define _unord_f2	__unordtf2
+#	define usi_to_float 	__floatunsitf
+#	define si_to_float 	__floatsitf
+#	define float_to_si 	__fixtfsi
+#	define float_to_usi 	__fixunstfsi
+#	define negate 		__negtf2
+#	define tf_to_sf		__trunctfsf2
+#	define tf_to_df		__trunctfdf2
+#elif defined FLOAT
+#	define add 		__addsf3
+#	define sub 		__subsf3
+#	define multiply 	__mulsf3
+#	define divide 		__divsf3
+#	define compare 		__cmpsf2
+#	define _eq_f2 		__eqsf2
+#	define _ne_f2 		__nesf2
+#	define _gt_f2 		__gtsf2
+#	define _ge_f2 		__gesf2
+#	define _lt_f2 		__ltsf2
+#	define _le_f2 		__lesf2
+#	define _unord_f2	__unordsf2
+#	define usi_to_float 	__floatunsisf
+#	define si_to_float 	__floatsisf
+#	define float_to_si 	__fixsfsi
+#	define float_to_usi 	__fixunssfsi
+#	define negate 		__negsf2
+#	define sf_to_df		__extendsfdf2
+#	define sf_to_tf		__extendsftf2
 #else
-#	ifdef TFLOAT
-#		define add 		__addtf3
-#		define sub 		__subtf3
-#		define multiply 	__multf3
-#		define divide 		__divtf3
-#		define compare 		__cmptf2
-#		define _eq_f2 		__eqtf2
-#		define _ne_f2 		__netf2
-#		define _gt_f2 		__gttf2
-#		define _ge_f2 		__getf2
-#		define _lt_f2 		__lttf2
-#		define _le_f2 		__letf2
-#		define _unord_f2	__unordtf2
-#		define usi_to_float 	__floatunsitf
-#		define si_to_float 	__floatsitf
-#		define float_to_si 	__fixtfsi
-#		define float_to_usi 	__fixunstfsi
-#		define negate 		__negtf2
-#		define tf_to_sf		__trunctfsf2
-#		define tf_to_df		__trunctfdf2
-#	elif defined FLOAT
-#		define add 		__addsf3
-#		define sub 		__subsf3
-#		define multiply 	__mulsf3
-#		define divide 		__divsf3
-#		define compare 		__cmpsf2
-#		define _eq_f2 		__eqsf2
-#		define _ne_f2 		__nesf2
-#		define _gt_f2 		__gtsf2
-#		define _ge_f2 		__gesf2
-#		define _lt_f2 		__ltsf2
-#		define _le_f2 		__lesf2
-#		define _unord_f2	__unordsf2
-#		define usi_to_float 	__floatunsisf
-#		define si_to_float 	__floatsisf
-#		define float_to_si 	__fixsfsi
-#		define float_to_usi 	__fixunssfsi
-#		define negate 		__negsf2
-#		define sf_to_df		__extendsfdf2
-#		define sf_to_tf		__extendsftf2
-#	else
-#		define add 		__adddf3
-#		define sub 		__subdf3
-#		define multiply 	__muldf3
-#		define divide 		__divdf3
-#		define compare 		__cmpdf2
-#		define _eq_f2 		__eqdf2
-#		define _ne_f2 		__nedf2
-#		define _gt_f2 		__gtdf2
-#		define _ge_f2 		__gedf2
-#		define _lt_f2 		__ltdf2
-#		define _le_f2 		__ledf2
-#		define _unord_f2	__unorddf2
-#		define usi_to_float 	__floatunsidf
-#		define si_to_float 	__floatsidf
-#		define float_to_si 	__fixdfsi
-#		define float_to_usi 	__fixunsdfsi
-#		define negate 		__negdf2
-#		define df_to_sf		__truncdfsf2
-#		define df_to_tf		__extenddftf2
-#	endif /* FLOAT */
-#endif /* US_SOFTWARE_GOFAST */
+#	define add 		__adddf3
+#	define sub 		__subdf3
+#	define multiply 	__muldf3
+#	define divide 		__divdf3
+#	define compare 		__cmpdf2
+#	define _eq_f2 		__eqdf2
+#	define _ne_f2 		__nedf2
+#	define _gt_f2 		__gtdf2
+#	define _ge_f2 		__gedf2
+#	define _lt_f2 		__ltdf2
+#	define _le_f2 		__ledf2
+#	define _unord_f2	__unorddf2
+#	define usi_to_float 	__floatunsidf
+#	define si_to_float 	__floatsidf
+#	define float_to_si 	__fixdfsi
+#	define float_to_usi 	__fixunsdfsi
+#	define negate 		__negdf2
+#	define df_to_sf		__truncdfsf2
+#	define df_to_tf		__extenddftf2
+#endif /* FLOAT */
 
 #ifndef INLINE
 #define INLINE __inline__
@@ -437,8 +404,6 @@  extern int __fpcmp_parts (fp_number_type
 extern CMPtype compare (FLO_type, FLO_type);
 #endif
 
-#ifndef US_SOFTWARE_GOFAST
-
 #if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf)
 extern CMPtype _eq_f2 (FLO_type, FLO_type);
 #endif
@@ -467,8 +432,6 @@  extern CMPtype _le_f2 (FLO_type, FLO_typ
 extern CMPtype _unord_f2 (FLO_type, FLO_type);
 #endif
 
-#endif /* ! US_SOFTWARE_GOFAST */
-
 #if defined(L_si_to_sf) || defined(L_si_to_df) || defined(L_si_to_tf)
 extern FLO_type si_to_float (SItype);
 #endif
@@ -477,11 +440,9 @@  extern FLO_type si_to_float (SItype);
 extern SItype float_to_si (FLO_type);
 #endif
 
-#if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi)
-#if defined(US_SOFTWARE_GOFAST) || defined(L_tf_to_usi)
+#if defined(L_tf_to_usi)
 extern USItype float_to_usi (FLO_type);
 #endif
-#endif
 
 #if defined(L_usi_to_sf) || defined(L_usi_to_df) || defined(L_usi_to_tf)
 extern FLO_type usi_to_float (USItype);
Index: gcc/config/gofast.h
===================================================================
--- gcc/config/gofast.h	(revision 167746)
+++ gcc/config/gofast.h	(working copy)
@@ -1,80 +0,0 @@ 
-/* US Software GOFAST floating point library support.
-   Copyright (C) 1994, 1998, 1999, 2002, 2003, 2004, 2007
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC 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 General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* The US Software GOFAST library requires special optabs support.
-   This file is intended to be included by config/ARCH/ARCH.c.  It
-   defines one function, gofast_maybe_init_libfuncs, which should be
-   called from the TARGET_INIT_LIBFUNCS hook.  When tm.h has defined
-   US_SOFTWARE_GOFAST, this function will adjust all the optabs and
-   libfuncs appropriately.  Otherwise it will do nothing.  */
-
-static void
-gofast_maybe_init_libfuncs (void)
-{
-#ifdef US_SOFTWARE_GOFAST
-  int mode;
-
-  set_optab_libfunc (add_optab, SFmode, "fpadd");
-  set_optab_libfunc (add_optab, DFmode, "dpadd");
-  set_optab_libfunc (sub_optab, SFmode, "fpsub");
-  set_optab_libfunc (sub_optab, DFmode, "dpsub");
-  set_optab_libfunc (smul_optab, SFmode, "fpmul");
-  set_optab_libfunc (smul_optab, DFmode, "dpmul");
-  set_optab_libfunc (sdiv_optab, SFmode, "fpdiv");
-  set_optab_libfunc (sdiv_optab, DFmode, "dpdiv");
-  set_optab_libfunc (cmp_optab, SFmode, "fpcmp");
-  set_optab_libfunc (cmp_optab, DFmode, "dpcmp");
-
-  /* GOFAST does not provide libfuncs for negation, so we use the
-     standard names.  */
-
-  /* GCC does not use fpcmp/dpcmp for gt or ge because its own
-     FP-emulation library returns +1 for both > and unord.  So we
-     leave gt and ge unset, such that, instead of fpcmp(a,b) >[=], we
-     generate fpcmp(b,a) <[=] 0, which is unambiguous.  For unord
-     libfuncs, we use our own functions, since GOFAST doesn't supply
-     them.  */
-
-  set_optab_libfunc (eq_optab, SFmode, "fpcmp");
-  set_optab_libfunc (ne_optab, SFmode, "fpcmp");
-  set_optab_libfunc (gt_optab, SFmode, 0);
-  set_optab_libfunc (ge_optab, SFmode, 0);
-  set_optab_libfunc (lt_optab, SFmode, "fpcmp");
-  set_optab_libfunc (le_optab, SFmode, "fpcmp");
-
-  set_optab_libfunc (eq_optab, DFmode, "dpcmp");
-  set_optab_libfunc (ne_optab, DFmode, "dpcmp");
-  set_optab_libfunc (gt_optab, DFmode, 0);
-  set_optab_libfunc (ge_optab, DFmode, 0);
-  set_optab_libfunc (lt_optab, DFmode, "dpcmp");
-  set_optab_libfunc (le_optab, DFmode, "dpcmp");
-
-  set_conv_libfunc (sext_optab,   DFmode, SFmode, "fptodp");
-  set_conv_libfunc (trunc_optab,  SFmode, DFmode, "dptofp");
-
-  set_conv_libfunc (sfix_optab,   SImode, SFmode, "fptosi");
-  set_conv_libfunc (sfix_optab,   SImode, DFmode, "dptoli");
-  set_conv_libfunc (ufix_optab,   SImode, SFmode, "fptoui");
-  set_conv_libfunc (ufix_optab,   SImode, DFmode, "dptoul");
-
-  set_conv_libfunc (sfloat_optab, SFmode, SImode, "sitofp");
-  set_conv_libfunc (sfloat_optab, DFmode, SImode, "litodp");
-#endif
-}
Index: gcc/config/mips/t-sr71k
===================================================================
--- gcc/config/mips/t-sr71k	(revision 167746)
+++ gcc/config/mips/t-sr71k	(working copy)
@@ -1,4 +1,4 @@ 
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2010 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
@@ -49,7 +49,6 @@  dp-bit.c: $(srcdir)/config/fp-bit.c
 	echo '#ifdef __MIPSEL__' > dp-bit.c
 	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
 	echo '#endif' >> dp-bit.c
-	echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
 	cat $(srcdir)/config/fp-bit.c >> dp-bit.c
 
 fp-bit.c: $(srcdir)/config/fp-bit.c
@@ -57,7 +56,6 @@  fp-bit.c: $(srcdir)/config/fp-bit.c
 	echo '#ifdef __MIPSEL__' >> fp-bit.c
 	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
 	echo '#endif' >> fp-bit.c
-	echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
 	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
 
 # Build the libraries for both hard and soft floating point
Index: gcc/config/mips/t-gofast
===================================================================
--- gcc/config/mips/t-gofast	(revision 167746)
+++ gcc/config/mips/t-gofast	(working copy)
@@ -1,37 +0,0 @@ 
-# Copyright (C) 2002 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GCC 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GCC; see the file COPYING3.  If not see
-# <http://www.gnu.org/licenses/>.
-
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#ifdef __MIPSEL__' > dp-bit.c
-	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
-	echo '#endif' >> dp-bit.c
-	echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	echo '#ifdef __MIPSEL__' >> fp-bit.c
-	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
-	echo '#endif' >> fp-bit.c
-	echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
Index: gcc/config/mips/elforion.h
===================================================================
--- gcc/config/mips/elforion.h	(revision 167746)
+++ gcc/config/mips/elforion.h	(working copy)
@@ -1,6 +1,5 @@ 
-/* Definitions of target machine for GNU compiler.  MIPS ORION version with
-   GOFAST floating point library.
-   Copyright (C) 1994, 1998, 2007 Free Software Foundation, Inc.
+/* Definitions of target machine for GNU compiler.  MIPS ORION version.
+   Copyright (C) 1994, 1998, 2007, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
Index: gcc/config/mips/mips.c
===================================================================
--- gcc/config/mips/mips.c	(revision 167746)
+++ gcc/config/mips/mips.c	(working copy)
@@ -11149,8 +11149,6 @@  mips_preferred_simd_mode (enum machine_m
 
 /* Implement TARGET_INIT_LIBFUNCS.  */
 
-#include "config/gofast.h"
-
 static void
 mips_init_libfuncs (void)
 {
@@ -11209,9 +11207,6 @@  mips_init_libfuncs (void)
 			    "__mips16_floatunsidf");
 	}
     }
-  else
-    /* Register the gofast functions if selected using --enable-gofast.  */
-    gofast_maybe_init_libfuncs ();
 
   /* The MIPS16 ISA does not have an encoding for "sync", so we rely
      on an external non-MIPS16 routine to implement __sync_synchronize.  */