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
This commit is contained in:
parent
73487f1ebc
commit
bd9c1f8f18
@ -1,3 +1,23 @@
|
||||
2010-12-15 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.
|
||||
|
||||
2010-12-14 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* tree.c (get_file_function_name): Avoid using random seed on GLOBAL_sub_I
|
||||
|
@ -3562,13 +3562,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-*-*)
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
}
|
@ -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.
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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) \
|
||||
|
@ -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.
|
||||
|
@ -5268,26 +5268,6 @@ If this macro evaluates to @code{false} the comparison functions return
|
||||
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
|
||||
|
@ -5250,26 +5250,6 @@ If this macro evaluates to @code{false} the comparison functions return
|
||||
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
|
||||
|
@ -822,7 +822,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
|
||||
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 \
|
||||
|
Loading…
Reference in New Issue
Block a user