gcc/libgfortran
Jakub Jelinek 1868599f8d libgfortran: Provide some further math library fallbacks [PR94694]
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.
2020-04-22 21:34:19 +02:00
..
caf
config i386: Remove unneeded assignments when triggering SSE exceptions 2020-04-19 14:27:12 +02:00
generated
ieee
intrinsics libgfortran: Provide some further math library fallbacks [PR94694] 2020-04-22 21:34:19 +02:00
io Use au->lock exclusively for locking in async I/O. 2020-02-18 19:45:25 +01:00
m4
runtime
acinclude.m4
aclocal.m4 Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
c99_protos.h libgfortran: Provide some further math library fallbacks [PR94694] 2020-04-22 21:34:19 +02:00
ChangeLog libgfortran: Provide some further math library fallbacks [PR94694] 2020-04-22 21:34:19 +02:00
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
config.h.in libgfortran: Provide some further math library fallbacks [PR94694] 2020-04-22 21:34:19 +02:00
configure libgfortran: Provide some further math library fallbacks [PR94694] 2020-04-22 21:34:19 +02:00
configure.ac libgfortran: Provide some further math library fallbacks [PR94694] 2020-04-22 21:34:19 +02:00
configure.host
gfortran.map Fix PR fortran/93871 and re-implement degree-valued trigonometric intrinsics. 2020-04-07 13:18:38 -04:00
ISO_Fortran_binding.h
kinds-override.h
libgfortran.h
libgfortran.spec.in
libtool-version
Makefile.am Fix PR fortran/93871 and re-implement degree-valued trigonometric intrinsics. 2020-04-07 13:18:38 -04:00
Makefile.in Fix PR fortran/93871 and re-implement degree-valued trigonometric intrinsics. 2020-04-07 13:18:38 -04:00
mk-kinds-h.sh
mk-sik-inc.sh
mk-srk-inc.sh