enable sincos optimization on mingw-w64
authorAlexandre Oliva <oliva@adacore.com>
Thu, 22 Oct 2020 11:54:16 +0000 (08:54 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Thu, 22 Oct 2020 11:54:16 +0000 (08:54 -0300)
The sincos transformation does not take place on all platforms,
because the libc_has_function target hook disables it by default.

Current mingw-w64's math library supports sincos, sincosl and sincosf,
in 32- and 64-bit modes.  I suppose this has been this way for long.

This patch enables the sincos optimization on this platform.

for  gcc/ChangeLog

* config/i386/mingw-w64.h (TARGET_LIBC_HAS_FUNCTION): Enable
sincos optimization.

gcc/config/i386/mingw-w64.h

index 408e57cc0d7abadc0c91ae48156008dfb8959440..0d0aa9399968e167cee929b066bf4d76d5defe92 100644 (file)
@@ -98,3 +98,9 @@ along with GCC; see the file COPYING3.  If not see
   %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \
   " LINK_SPEC_LARGE_ADDR_AWARE "\
   %(shared_libgcc_undefs)"
+
+/* Enable sincos optimization, overriding cygming.h.  sincos, sincosf
+   and sincosl functions are available on mingw-w64, but not on the
+   original mingw32.  */
+#undef TARGET_LIBC_HAS_FUNCTION
+#define TARGET_LIBC_HAS_FUNCTION gnu_libc_has_function