enable sincos optimization on cygming targets
Alexandre Oliva
oliva@adacore.com
Thu Oct 22 11:30:47 GMT 2020
On Oct 22, 2020, Jonathan Yong <10walls@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 <oliva@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
More information about the Gcc-patches
mailing list