mirror of git://gcc.gnu.org/git/gcc.git
config.gcc (mips64*-*-linux*, [...]): Add crtfastmath.o to extra_parts.
gcc/ * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*): Add crtfastmath.o to extra_parts. * config/mips/crtfastmath.c: New. * config/mips/linux.h (ENDFILE_SPEC): New. libgcc/ * config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. * config/mips/t-crtfm: New. From-SVN: r160655
This commit is contained in:
parent
b53cd1c5cf
commit
48b09a925e
|
|
@ -1,3 +1,10 @@
|
||||||
|
2010-06-12 Kazu Hirata <kazu@codesourcery.com>
|
||||||
|
|
||||||
|
* config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*,
|
||||||
|
mips*-*-linux*): Add crtfastmath.o to extra_parts.
|
||||||
|
* config/mips/crtfastmath.c: New.
|
||||||
|
* config/mips/linux.h (ENDFILE_SPEC): New.
|
||||||
|
|
||||||
2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
|
2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
* graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
|
* graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
|
||||||
|
|
|
||||||
|
|
@ -1750,6 +1750,7 @@ mips64*-*-linux* | mipsisa64*-*-linux*)
|
||||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
extra_parts="$extra_parts crtfastmath.o"
|
||||||
gnu_ld=yes
|
gnu_ld=yes
|
||||||
gas=yes
|
gas=yes
|
||||||
test x$with_llsc != x || with_llsc=yes
|
test x$with_llsc != x || with_llsc=yes
|
||||||
|
|
@ -1764,6 +1765,7 @@ mips*-*-linux*) # Linux MIPS, either endian.
|
||||||
mipsisa32*)
|
mipsisa32*)
|
||||||
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
|
||||||
esac
|
esac
|
||||||
|
extra_parts="$extra_parts crtfastmath.o"
|
||||||
test x$with_llsc != x || with_llsc=yes
|
test x$with_llsc != x || with_llsc=yes
|
||||||
;;
|
;;
|
||||||
mips*-*-openbsd*)
|
mips*-*-openbsd*)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
/* Copyright (C) 2010 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.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
and a copy of the GCC Runtime Library Exception along with this
|
||||||
|
program; see the files COPYING3 and COPYING.RUNTIME respectively.
|
||||||
|
If not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifdef __mips_hard_float
|
||||||
|
|
||||||
|
/* Flush denormalized numbers to zero. */
|
||||||
|
#define _FPU_FLUSH_TZ 0x1000000
|
||||||
|
|
||||||
|
/* Rounding control. */
|
||||||
|
#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
|
||||||
|
#define _FPU_RC_ZERO 0x1
|
||||||
|
#define _FPU_RC_UP 0x2
|
||||||
|
#define _FPU_RC_DOWN 0x3
|
||||||
|
|
||||||
|
/* Enable interrupts for IEEE exceptions. */
|
||||||
|
#define _FPU_IEEE 0x00000F80
|
||||||
|
|
||||||
|
/* Macros for accessing the hardware control word. */
|
||||||
|
#define _FPU_GETCW(cw) __asm__ ("cfc1 %0,$31" : "=r" (cw))
|
||||||
|
#define _FPU_SETCW(cw) __asm__ ("ctc1 %0,$31" : : "r" (cw))
|
||||||
|
|
||||||
|
static void __attribute__((constructor))
|
||||||
|
set_fast_math (void)
|
||||||
|
{
|
||||||
|
unsigned int fcr;
|
||||||
|
|
||||||
|
/* Flush to zero, round to nearest, IEEE exceptions disabled. */
|
||||||
|
fcr = _FPU_FLUSH_TZ | _FPU_RC_NEAREST;
|
||||||
|
|
||||||
|
_FPU_SETCW(fcr);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __mips_hard_float */
|
||||||
|
|
@ -147,3 +147,9 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
|
||||||
#define DRIVER_SELF_SPECS \
|
#define DRIVER_SELF_SPECS \
|
||||||
BASE_DRIVER_SELF_SPECS, \
|
BASE_DRIVER_SELF_SPECS, \
|
||||||
LINUX_DRIVER_SELF_SPECS
|
LINUX_DRIVER_SELF_SPECS
|
||||||
|
|
||||||
|
/* Similar to standard Linux, but adding -ffast-math support. */
|
||||||
|
#undef ENDFILE_SPEC
|
||||||
|
#define ENDFILE_SPEC \
|
||||||
|
"%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
|
||||||
|
%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2010-06-12 Kazu Hirata <kazu@codesourcery.com>
|
||||||
|
|
||||||
|
* config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm
|
||||||
|
to tmake_file. Add crtfastmath.o to extra_parts.
|
||||||
|
* config/mips/t-crtfm: New.
|
||||||
|
|
||||||
2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
|
2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||||
|
|
||||||
* config.host (sparc64-*-rtems*): New target.
|
* config.host (sparc64-*-rtems*): New target.
|
||||||
|
|
|
||||||
|
|
@ -400,8 +400,12 @@ mips-sgi-irix[56]*)
|
||||||
mips*-*-netbsd*) # NetBSD/mips, either endian.
|
mips*-*-netbsd*) # NetBSD/mips, either endian.
|
||||||
;;
|
;;
|
||||||
mips64*-*-linux*)
|
mips64*-*-linux*)
|
||||||
|
extra_parts="$extra_parts crtfastmath.o"
|
||||||
|
tmake_file="{$tmake_file} mips/t-crtfm"
|
||||||
;;
|
;;
|
||||||
mips*-*-linux*) # Linux MIPS, either endian.
|
mips*-*-linux*) # Linux MIPS, either endian.
|
||||||
|
extra_parts="$extra_parts crtfastmath.o"
|
||||||
|
tmake_file="{$tmake_file} mips/t-crtfm"
|
||||||
;;
|
;;
|
||||||
mips*-*-openbsd*)
|
mips*-*-openbsd*)
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
crtfastmath.o: $(gcc_srcdir)/config/mips/crtfastmath.c
|
||||||
|
$(gcc_compile) -c $(gcc_srcdir)/config/mips/crtfastmath.c
|
||||||
|
|
||||||
Loading…
Reference in New Issue