aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-12-15 22:55:53 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2010-12-15 22:55:53 +0000
commitbd9c1f8f189c00662eaf588134b01bfbd424b87e (patch)
tree9aa1ce2e66c7dabed41e2d67c9a9a8a5dd4279db /gcc/config
parent73487f1ebc9ea83725076c7e95b6afbca56e54f4 (diff)
downloadgcc-bd9c1f8f189c00662eaf588134b01bfbd424b87e.zip
gcc-bd9c1f8f189c00662eaf588134b01bfbd424b87e.tar.gz
gcc-bd9c1f8f189c00662eaf588134b01bfbd424b87e.tar.bz2
tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
* 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. From-SVN: r167880
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/fp-bit.c20
-rw-r--r--gcc/config/fp-bit.h165
-rw-r--r--gcc/config/gofast.h80
-rw-r--r--gcc/config/mips/elforion.h5
-rw-r--r--gcc/config/mips/mips.c5
-rw-r--r--gcc/config/mips/t-gofast37
-rw-r--r--gcc/config/mips/t-sr71k4
-rw-r--r--gcc/config/sparc/sparc.c3
-rw-r--r--gcc/config/spu/t-spu-elf4
9 files changed, 70 insertions, 253 deletions
diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c
index 1cdac6e..82d924e 100644
--- a/gcc/config/fp-bit.c
+++ b/gcc/config/fp-bit.c
@@ -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.RUNTIME respectively. If not, see
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
diff --git a/gcc/config/fp-bit.h b/gcc/config/fp-bit.h
index 3638cc5..f0b07e9 100644
--- a/gcc/config/fp-bit.h
+++ b/gcc/config/fp-bit.h
@@ -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__ ((mode (TI)));
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 *, 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_type);
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);
diff --git a/gcc/config/gofast.h b/gcc/config/gofast.h
deleted file mode 100644
index 69e9edd..0000000
--- a/gcc/config/gofast.h
+++ /dev/null
@@ -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
-}
diff --git a/gcc/config/mips/elforion.h b/gcc/config/mips/elforion.h
index 71ea25f..5560580 100644
--- a/gcc/config/mips/elforion.h
+++ b/gcc/config/mips/elforion.h
@@ -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.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 74f7a79..883747e 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -11149,8 +11149,6 @@ mips_preferred_simd_mode (enum machine_mode mode ATTRIBUTE_UNUSED)
/* 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. */
diff --git a/gcc/config/mips/t-gofast b/gcc/config/mips/t-gofast
deleted file mode 100644
index ba5d61b..0000000
--- a/gcc/config/mips/t-gofast
+++ /dev/null
@@ -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
diff --git a/gcc/config/mips/t-sr71k b/gcc/config/mips/t-sr71k
index 534da28..5eb96a1 100644
--- a/gcc/config/mips/t-sr71k
+++ b/gcc/config/mips/t-sr71k
@@ -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
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 223408d..b37b851 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -8466,7 +8466,6 @@ sparc_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
}
/* 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) \
diff --git a/gcc/config/spu/t-spu-elf b/gcc/config/spu/t-spu-elf
index cc8c94b..3bb54e4 100644
--- a/gcc/config/spu/t-spu-elf
+++ b/gcc/config/spu/t-spu-elf
@@ -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.