On Oct 22, 2020, Jonathan Yong <10wa...@gmail.com> wrote: > No objections for mingw-w64 since it has been tested, but I'm not > certain if the original mingw.org version has it.
Prompted by you, I looked into the original mingw32, and found it does NOT have sincos, so I withdraw the patch, in favor of this one. Since this one affects only mingw-w64, I haven't checked whether cygwin has it. Hopefully someone with easier access to the platform can do so and duplicate the change in the Cygwin-specific compiler configuration header. enable sincos optimization on mingw-w64 From: Alexandre Oliva <ol...@adacore.com> 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 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/config/i386/mingw-w64.h b/gcc/config/i386/mingw-w64.h index 408e57c..0d0aa93 100644 --- a/gcc/config/i386/mingw-w64.h +++ b/gcc/config/i386/mingw-w64.h @@ -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 -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer