diff options
author | Zuxy Meng <zuxy.meng@gmail.com> | 2007-05-29 08:09:16 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@gcc.gnu.org> | 2007-05-29 08:09:16 +0000 |
commit | 9bd196f0e35062d309320673f46722e47744b610 (patch) | |
tree | eb1b337b2a1e171bc6470b4cff4f15e867fe4ea7 | |
parent | 3e90ac4e45e9533d84d9835a7e440321d305d442 (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/i386/cygwin.h | 4 | ||||
-rw-r--r-- | gcc/config/i386/mingw32.h | 4 | ||||
-rw-r--r-- | libgcc/ChangeLog | 9 | ||||
-rw-r--r-- | libgcc/config.host | 8 | ||||
-rw-r--r-- | libgcc/config/i386/t-crtfm | 5 |
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 |