aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuxy Meng <zuxy.meng@gmail.com>2007-05-29 08:09:16 +0000
committerDanny Smith <dannysmith@gcc.gnu.org>2007-05-29 08:09:16 +0000
commit9bd196f0e35062d309320673f46722e47744b610 (patch)
treeeb1b337b2a1e171bc6470b4cff4f15e867fe4ea7
parent3e90ac4e45e9533d84d9835a7e440321d305d442 (diff)
downloadgcc-9bd196f0e35062d309320673f46722e47744b610.zip
gcc-9bd196f0e35062d309320673f46722e47744b610.tar.gz
gcc-9bd196f0e35062d309320673f46722e47744b610.tar.bz2
re PR target/29498 (FTZ/DAZ for SSE should be ported to mingw32)
libgcc PR target/29498 * config.host (i[34567]86-*-cygwin* | i[34567]86-*-mingw*) Add crtfastmath.o to extra_parts. Add i386/t-crtfm to tmake_file. * config/i386/t-crtfm: Compile crtfastmath.o with -minline-all-stringops. gcc PR target/29498 * config/i386/t-crtfm: Compile crtfastmath.o with -minline-all-stringops. * config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o. * config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o. Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net> From-SVN: r125160
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/cygwin.h4
-rw-r--r--gcc/config/i386/mingw32.h4
-rw-r--r--libgcc/ChangeLog9
-rw-r--r--libgcc/config.host8
-rw-r--r--libgcc/config/i386/t-crtfm5
6 files changed, 36 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea23ee9..dfcd389 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2007-05-29 Zuxy Meng <zuxy.meng@gmail.com>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/29498
+ * config/i386/t-crtfm: Compile crtfastmath.o with
+ -minline-all-stringops.
+ * config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
+ * config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
+
2007-05-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* doc/md.texi: Document constraints on HP PA-RISC.
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index fe85a6d..22e0af2 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -40,6 +40,10 @@ Boston, MA 02110-1301, USA. */
%{pg:gcrt0%O%s}}}\
"
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+
/* Normally, -lgcc is not needed since everything in it is in the DLL, but we
want to allow things to be added to it when installing new versions of
GCC without making a new CYGWIN.DLL, so we leave it. Profiling is handled
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index a39fbab..1145b13 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -86,6 +86,10 @@ Boston, MA 02110-1301, USA. */
#define STARTFILE_SPEC "%{shared|mdll:dllcrt2%O%s} \
%{!shared:%{!mdll:crt2%O%s}} %{pg:gcrt2%O%s}"
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+
/* Override startfile prefix defaults. */
#ifndef STANDARD_STARTFILE_PREFIX_1
#if TARGET_64BIT_DEFAULT
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8baa49f..fdcdd2f 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,12 @@
+2007-05-29 Zuxy Meng <zuxy.meng@gmail.com>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/29498
+ * config.host (i[34567]86-*-cygwin* | i[34567]86-*-mingw*) Add
+ crtfastmath.o to extra_parts. Add i386/t-crtfm to tmake_file.
+ * config/i386/t-crtfm: Compile crtfastmath.o with
+ -minline-all-stringops.
+
2007-05-10 Richard Sandiford <richard@codesourcery.com>
* config.host (sparc-wrs-vxworks): New target.
diff --git a/libgcc/config.host b/libgcc/config.host
index 4de74cf..3e0cb4790 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -367,9 +367,13 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
;;
-i[34567]86-*-pe | i[34567]86-*-cygwin*)
+i[34567]86-*-pe)
;;
-i[34567]86-*-mingw32* | x86_64-*-mingw*)
+i[34567]86-*-cygwin* | i[34567]86-*-mingw*)
+ extra_parts="crtfastmath.o"
+ tmake_file="i386/t-crtfm"
+ ;;
+x86_64-*-mingw*)
;;
i[34567]86-*-uwin*)
;;
diff --git a/libgcc/config/i386/t-crtfm b/libgcc/config/i386/t-crtfm
index fbe7d12..6e89296 100644
--- a/libgcc/config/i386/t-crtfm
+++ b/libgcc/config/i386/t-crtfm
@@ -1,2 +1,5 @@
+# This is an endfile, Use -minline-all-stringops to ensure
+# that __builtin_memset doesn't refer to the lib function memset().
crtfastmath.o: $(gcc_srcdir)/config/i386/crtfastmath.c
- $(gcc_compile) -msse -c $(gcc_srcdir)/config/i386/crtfastmath.c
+ $(gcc_compile) -msse -minline-all-stringops -c \
+ $(gcc_srcdir)/config/i386/crtfastmath.c