The following patch provides some further math library fallbacks. fmaf can be implemented using fma if available, fma and fmal can use x * y + z as fallback, it is not perfect, but e.g. glibc on various arches has been using that as fallback for many years, and copysign/copysignl/fabs/fabsl can be implemented using corresponding __builtin_* if we make sure that gcc expands it inline instead of using a library call (these days it is expanded inline on most targets). 2020-04-22 Jakub Jelinek <jakub@redhat.com> PR libfortran/94694 PR libfortran/94586 * configure.ac: Add math func checks for fmaf, fma and fmal. Add HAVE_INLINE_BUILTIN_COPYSIGN check. * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback prototypes. (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not defined and fallback version is provided. * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide fallback implementations if possible * configure: Regenerated. * config.h.in: Regenerated. * math.m4 (GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK1, GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK2): New.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ChangeLog | Loading commit data... | |
acinclude.m4 | Loading commit data... | |
acx.m4 | Loading commit data... | |
asmcfi.m4 | Loading commit data... | |
ax_check_define.m4 | Loading commit data... | |
ax_count_cpus.m4 | Loading commit data... | |
ax_pthread.m4 | Loading commit data... | |
bitfields.m4 | Loading commit data... | |
bootstrap-O1.mk | Loading commit data... | |
bootstrap-O3.mk | Loading commit data... | |
bootstrap-Og.mk | Loading commit data... | |
bootstrap-asan.mk | Loading commit data... | |
bootstrap-cet.mk | Loading commit data... | |
bootstrap-debug-big.mk | Loading commit data... | |
bootstrap-debug-ckovw.mk | Loading commit data... | |
bootstrap-debug-lean.mk | Loading commit data... | |
bootstrap-debug-lib.mk | Loading commit data... | |
bootstrap-debug.mk | Loading commit data... | |
bootstrap-lto-lean.mk | Loading commit data... | |
bootstrap-lto-noplugin.mk | Loading commit data... | |
bootstrap-lto.mk | Loading commit data... | |
bootstrap-time.mk | Loading commit data... | |
bootstrap-ubsan.mk | Loading commit data... | |
cet.m4 | Loading commit data... | |
codeset.m4 | Loading commit data... | |
depstand.m4 | Loading commit data... | |
dfp.m4 | Loading commit data... | |
elf.m4 | Loading commit data... | |
enable.m4 | Loading commit data... | |
extensions.m4 | Loading commit data... | |
futex.m4 | Loading commit data... | |
gc++filt.m4 | Loading commit data... | |
gcc-plugin.m4 | Loading commit data... | |
gettext-sister.m4 | Loading commit data... | |
gettext.m4 | Loading commit data... | |
glibc21.m4 | Loading commit data... | |
gthr.m4 | Loading commit data... | |
gxx-include-dir.m4 | Loading commit data... | |
hwcaps.m4 | Loading commit data... | |
iconv.m4 | Loading commit data... | |
intdiv0.m4 | Loading commit data... | |
inttypes-pri.m4 | Loading commit data... | |
inttypes.m4 | Loading commit data... | |
inttypes_h.m4 | Loading commit data... | |
isl.m4 | Loading commit data... | |
largefile.m4 | Loading commit data... | |
lcmessage.m4 | Loading commit data... | |
ld-symbolic.m4 | Loading commit data... | |
lead-dot.m4 | Loading commit data... | |
lib-ld.m4 | Loading commit data... | |
lib-link.m4 | Loading commit data... | |
lib-prefix.m4 | Loading commit data... | |
libstdc++-raw-cxx.m4 | Loading commit data... | |
lthostflags.m4 | Loading commit data... | |
math.m4 | Loading commit data... | |
mh-alpha-linux | Loading commit data... | |
mh-cygwin | Loading commit data... | |
mh-darwin | Loading commit data... | |
mh-djgpp | Loading commit data... | |
mh-mingw | Loading commit data... | |
mh-pa | Loading commit data... | |
mh-pa-hpux10 | Loading commit data... | |
mh-ppc-aix | Loading commit data... | |
mmap.m4 | Loading commit data... | |
mt-alphaieee | Loading commit data... | |
mt-android | Loading commit data... | |
mt-d30v | Loading commit data... | |
mt-gnu | Loading commit data... | |
mt-mips-elfoabi | Loading commit data... | |
mt-mips-gnu | Loading commit data... | |
mt-mips16-compat | Loading commit data... | |
mt-nios2-elf | Loading commit data... | |
mt-ospace | Loading commit data... | |
mt-sde | Loading commit data... | |
mt-spu | Loading commit data... | |
multi.m4 | Loading commit data... | |
nls.m4 | Loading commit data... | |
no-executables.m4 | Loading commit data... | |
override.m4 | Loading commit data... | |
picflag.m4 | Loading commit data... | |
plugins.m4 | Loading commit data... | |
po.m4 | Loading commit data... | |
proginstall.m4 | Loading commit data... | |
progtest.m4 | Loading commit data... | |
sjlj.m4 | Loading commit data... | |
stdint.m4 | Loading commit data... | |
stdint_h.m4 | Loading commit data... | |
target-posix | Loading commit data... | |
tcl.m4 | Loading commit data... | |
tls.m4 | Loading commit data... | |
toolexeclibdir.m4 | Loading commit data... | |
uintmax_t.m4 | Loading commit data... | |
ulonglong.m4 | Loading commit data... | |
unwind_ipinfo.m4 | Loading commit data... | |
warnings.m4 | Loading commit data... | |
weakref.m4 | Loading commit data... | |
zlib.m4 | Loading commit data... |