summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-13 17:33:38 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-13 17:33:38 +0000
commit1125ba8353fe7c4fa26f72ca22b970bfef27ce5b (patch)
tree43558081045fc254d40f3c818a030ebac045ba73 /gcc/config
parent80fad4aa85bf56122b4b9e53c69083c34abccf4f (diff)
downloadgcc-1125ba8353fe7c4fa26f72ca22b970bfef27ce5b.tar.gz
gcc:
* config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha. * config/alpha/t-crtfm: Remove. * config/i386/crtfastmath.c: Move to ../libgcc/config/i386. * config/i386/t-crtfm: Remove. * config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64. * config/mips/crtfastmath.c: Move to ../libgcc/config/mips. * config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc. * config/sparc/t-crtfm: Remove. * config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file. (alpha*-*-freebsd*): Likewise. (i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file. (x86_64-*-darwin*): Likewise. (i[34567]86-*-linux*): Likewise. (x86_64-*-linux*): Likewise. (x86_64-*-mingw*): Likewise. (ia64*-*-elf*): Remove crtfastmath.o from extra_parts. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Likewise. (mips64*-*-linux*): Likewise. (mips*-*-linux*): Likewise. (sparc-*-linux*): Remove sparc/t-crtfm from tmake_file. (sparc64-*-linux*): Likewise. (sparc64-*-freebsd*): Likewise. libgcc: * config/alpha/crtfastmath.c: New file. * config/i386/crtfastmath.c: New file. * config/ia64/crtfastmath.c: New file. * config/mips/crtfastmath.c: New file. * config/sparc/crtfastmath.c: New file. * config/t-crtfm (crtfastmath.o): Use $(srcdir) to refer to crtfastmath.c. Add -frandom-seed=gcc-crtfastmath. * config/alpha/t-crtfm: Remove. * config/i386/t-crtfm: Use $(srcdir) to refer to crtfastmath.c. * config/ia64/t-ia64 (crtfastmath.o): Remove. * config.host (alpha*-*-linux*): Replace alpha/t-crtfm by t-crtfm. (alpha*-dec-osf5.1*): Likewise. (alpha*-*-freebsd*): Add t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. (i[34567]86-*-darwin*): Add i386/t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. (x86_64-*-darwin*): Likewise. (x86_64-*-mingw*): Likewise. (ia64*-*-elf*): Add t-crtfm to tmake_file. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Likewise. (sparc64-*-freebsd*): Add t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176241 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/alpha/crtfastmath.c36
-rw-r--r--gcc/config/alpha/t-crtfm5
-rw-r--r--gcc/config/i386/crtfastmath.c131
-rw-r--r--gcc/config/i386/t-crtfm8
-rw-r--r--gcc/config/ia64/crtfastmath.c34
-rw-r--r--gcc/config/mips/crtfastmath.c53
-rw-r--r--gcc/config/sparc/crtfastmath.c44
-rw-r--r--gcc/config/sparc/t-crtfm4
8 files changed, 0 insertions, 315 deletions
diff --git a/gcc/config/alpha/crtfastmath.c b/gcc/config/alpha/crtfastmath.c
deleted file mode 100644
index 677b9edfa60..00000000000
--- a/gcc/config/alpha/crtfastmath.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2001, 2009 Free Software Foundation, Inc.
- * Contributed by Richard Henderson (rth@redhat.com)
- *
- * 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 Software Foundation; either version 3, or (at your option) any
- * later version.
- *
- * This file 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/>.
- */
-
-/* Assume OSF/1 compatible interfaces. */
-
-extern void __ieee_set_fp_control (unsigned long int);
-
-#define IEEE_MAP_DMZ (1UL<<12) /* Map denorm inputs to zero */
-#define IEEE_MAP_UMZ (1UL<<13) /* Map underflowed outputs to zero */
-
-static void __attribute__((constructor))
-set_fast_math (void)
-{
- __ieee_set_fp_control (IEEE_MAP_DMZ | IEEE_MAP_UMZ);
-}
diff --git a/gcc/config/alpha/t-crtfm b/gcc/config/alpha/t-crtfm
deleted file mode 100644
index b4103834aca..00000000000
--- a/gcc/config/alpha/t-crtfm
+++ /dev/null
@@ -1,5 +0,0 @@
-EXTRA_PARTS += crtfastmath.o
-
-$(T)crtfastmath.o: $(srcdir)/config/alpha/crtfastmath.c $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -frandom-seed=gcc-crtfastmath -c \
- -o $(T)crtfastmath.o $(srcdir)/config/alpha/crtfastmath.c
diff --git a/gcc/config/i386/crtfastmath.c b/gcc/config/i386/crtfastmath.c
deleted file mode 100644
index 7abe500e981..00000000000
--- a/gcc/config/i386/crtfastmath.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2005, 2007, 2009, 2011 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 Software Foundation; either version 3, or (at your option) any
- * later version.
- *
- * This file 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/>.
- */
-
-#define MXCSR_DAZ (1 << 6) /* Enable denormals are zero mode */
-#define MXCSR_FTZ (1 << 15) /* Enable flush to zero mode */
-
-#ifndef __x86_64__
-/* All 64-bit targets have SSE and DAZ;
- only check them explicitly for 32-bit ones. */
-#include "cpuid.h"
-#endif
-
-#if !defined __x86_64__ && defined __sun__ && defined __svr4__
-#include <signal.h>
-#include <ucontext.h>
-
-static volatile sig_atomic_t sigill_caught;
-
-static void
-sigill_hdlr (int sig __attribute((unused)),
- siginfo_t *sip __attribute__((unused)),
- ucontext_t *ucp)
-{
- sigill_caught = 1;
- /* Set PC to the instruction after the faulting one to skip over it,
- otherwise we enter an infinite loop. 3 is the size of the movaps
- instruction. */
- ucp->uc_mcontext.gregs[EIP] += 3;
- setcontext (ucp);
-}
-#endif
-
-static void __attribute__((constructor))
-#ifndef __x86_64__
-/* The i386 ABI only requires 4-byte stack alignment, so this is necessary
- to make sure the fxsave struct gets correct alignment.
- See PR27537 and PR28621. */
-__attribute__ ((force_align_arg_pointer))
-#endif
-set_fast_math (void)
-{
-#ifndef __x86_64__
- unsigned int eax, ebx, ecx, edx;
-
- if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
- return;
-
- if (edx & bit_SSE)
- {
- unsigned int mxcsr;
-
-#if defined __sun__ && defined __svr4__
- /* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions even
- if the CPU supports them. Programs receive SIGILL instead, so check
- for that at runtime. */
- struct sigaction act, oact;
-
- act.sa_handler = sigill_hdlr;
- sigemptyset (&act.sa_mask);
- /* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
- act.sa_flags = SA_SIGINFO;
- sigaction (SIGILL, &act, &oact);
-
- /* We need a single SSE instruction here so the handler can safely skip
- over it. */
- __asm__ volatile ("movaps %xmm0,%xmm0");
-
- sigaction (SIGILL, &oact, NULL);
-
- if (sigill_caught)
- return;
-#endif /* __sun__ && __svr4__ */
-
- mxcsr = __builtin_ia32_stmxcsr () | MXCSR_FTZ;
-
- if (edx & bit_FXSAVE)
- {
- /* Check if DAZ is available. */
- struct
- {
- unsigned short int cwd;
- unsigned short int swd;
- unsigned short int twd;
- unsigned short int fop;
- long int fip;
- long int fcs;
- long int foo;
- long int fos;
- long int mxcsr;
- long int mxcsr_mask;
- long int st_space[32];
- long int xmm_space[32];
- long int padding[56];
- } __attribute__ ((aligned (16))) fxsave;
-
- __builtin_memset (&fxsave, 0, sizeof (fxsave));
-
- asm volatile ("fxsave %0" : "=m" (fxsave) : "m" (fxsave));
-
- if (fxsave.mxcsr_mask & MXCSR_DAZ)
- mxcsr |= MXCSR_DAZ;
- }
-
- __builtin_ia32_ldmxcsr (mxcsr);
- }
-#else
- unsigned int mxcsr = __builtin_ia32_stmxcsr ();
- mxcsr |= MXCSR_DAZ | MXCSR_FTZ;
- __builtin_ia32_ldmxcsr (mxcsr);
-#endif
-}
diff --git a/gcc/config/i386/t-crtfm b/gcc/config/i386/t-crtfm
deleted file mode 100644
index 4fa27e91ca5..00000000000
--- a/gcc/config/i386/t-crtfm
+++ /dev/null
@@ -1,8 +0,0 @@
-EXTRA_PARTS += crtfastmath.o
-
-$(T)crtfastmath.o: $(srcdir)/config/i386/crtfastmath.c \
- $(srcdir)/config/i386/cpuid.h $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(MULTILIB_CFLAGS) \
- -msse -minline-all-stringops -c \
- $(srcdir)/config/i386/crtfastmath.c \
- -o $(T)crtfastmath$(objext)
diff --git a/gcc/config/ia64/crtfastmath.c b/gcc/config/ia64/crtfastmath.c
deleted file mode 100644
index 0decd2a3f9c..00000000000
--- a/gcc/config/ia64/crtfastmath.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2001, 2005, 2009 Free Software Foundation, Inc.
- Contributed by David Mosberger <davidm@hpl.hp.com>.
-
- 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/>. */
-
-/* We could call fesetenv() here but that would create a confusing
- dependency on libm (since that is where fesetenv() gets defined.
- To avoid this, just do everything locally. */
-#define FE_NONIEEE_ENV 0x0009a04d0270037f
-
-static void __attribute__((constructor))
-__ia64_set_fast_math (void)
-{
- __asm__ __volatile__ ("mov.m ar.fpsr=%0" : : "r"(FE_NONIEEE_ENV));
-}
diff --git a/gcc/config/mips/crtfastmath.c b/gcc/config/mips/crtfastmath.c
deleted file mode 100644
index a9586b0a797..00000000000
--- a/gcc/config/mips/crtfastmath.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* 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 */
diff --git a/gcc/config/sparc/crtfastmath.c b/gcc/config/sparc/crtfastmath.c
deleted file mode 100644
index 04727ec945b..00000000000
--- a/gcc/config/sparc/crtfastmath.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2001, 2009 Free Software Foundation, Inc.
- * Contributed by David S. Miller (davem@redhat.com)
- *
- * 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 Software Foundation; either version 3, or (at your option) any
- * later version.
- *
- * This file 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/>.
- */
-
-#define FPRS_NS (1 << 22) /* Non-Standard fpu results */
-
-static void __attribute__((constructor))
-set_fast_math (void)
-{
- unsigned int fsr;
-
- /* This works for the 64-bit case because, even if 32-bit ld/st of
- the fsr register modified the upper 32-bit, the only thing up there
- are the 3 other condition codes which are "do not care" at the time
- that this runs. */
-
- __asm__("st %%fsr, %0"
- : "=m" (fsr));
-
- fsr |= FPRS_NS;
-
- __asm__("ld %0, %%fsr"
- : : "m" (fsr));
-}
diff --git a/gcc/config/sparc/t-crtfm b/gcc/config/sparc/t-crtfm
deleted file mode 100644
index e0adb97bd3b..00000000000
--- a/gcc/config/sparc/t-crtfm
+++ /dev/null
@@ -1,4 +0,0 @@
-EXTRA_PARTS += crtfastmath.o
-
-$(T)crtfastmath.o: $(srcdir)/config/sparc/crtfastmath.c $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) $(LIBGCC2_CFLAGS) -c -o $(T)crtfastmath.o $(srcdir)/config/sparc/crtfastmath.c