Use libm_alias_double for coldfire.

Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes coldfire libm function implementations use
libm_alias_double to define function aliases.

Untested, given the currently broken state of GCC for coldfire.

	* sysdeps/m68k/coldfire/fpu/s_fabs.c: Include
	<libm-alias-double.h>.
	(fabs): Define using libm_alias_double.
	* sysdeps/m68k/coldfire/fpu/s_lrint.c: Include
	<libm-alias-double.h>.
	(lrint): Define using libm_alias_double.
	* sysdeps/m68k/coldfire/fpu/s_rint.c: Include
	<libm-alias-double.h>.
	(rint): Define using libm_alias_double.
This commit is contained in:
Joseph Myers 2017-11-30 23:47:18 +00:00
parent e53df1dee8
commit 2251fad025
4 changed files with 19 additions and 15 deletions

View File

@ -1,5 +1,15 @@
2017-11-30 Joseph Myers <joseph@codesourcery.com> 2017-11-30 Joseph Myers <joseph@codesourcery.com>
* sysdeps/m68k/coldfire/fpu/s_fabs.c: Include
<libm-alias-double.h>.
(fabs): Define using libm_alias_double.
* sysdeps/m68k/coldfire/fpu/s_lrint.c: Include
<libm-alias-double.h>.
(lrint): Define using libm_alias_double.
* sysdeps/m68k/coldfire/fpu/s_rint.c: Include
<libm-alias-double.h>.
(rint): Define using libm_alias_double.
* sysdeps/m68k/m680x0/fpu/s_atan_template.c: New file. * sysdeps/m68k/m680x0/fpu/s_atan_template.c: New file.
* sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise. * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise.
* sysdeps/m68k/m680x0/fpu/s_cos_template.c: Likewise. * sysdeps/m68k/m680x0/fpu/s_cos_template.c: Likewise.

View File

@ -15,14 +15,12 @@
License along with the GNU C Library. If not, see License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <libm-alias-double.h>
double double
__fabs (double x) __fabs (double x)
{ {
asm ("fdabs.d %1,%0" : "=f" (x) : "fm" (x)); asm ("fdabs.d %1,%0" : "=f" (x) : "fm" (x));
return x; return x;
} }
weak_alias (__fabs, fabs) libm_alias_double (__fabs, fabs)
#ifdef NO_LONG_DOUBLE
strong_alias (__fabs, __fabsl)
weak_alias (__fabs, fabsl)
#endif

View File

@ -15,6 +15,8 @@
License along with the GNU C Library. If not, see License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <libm-alias-double.h>
long int long int
__lrint (double x) __lrint (double x)
{ {
@ -22,8 +24,4 @@ __lrint (double x)
asm ("fmove.l %1,%0" : "=dm" (result) : "f" (x)); asm ("fmove.l %1,%0" : "=dm" (result) : "f" (x));
return result; return result;
} }
weak_alias (__lrint, lrint) libm_alias_double (__lrint, lrint)
#ifdef NO_LONG_DOUBLE
strong_alias (__lrint, __lrintl)
weak_alias (__lrint, lrintl)
#endif

View File

@ -15,14 +15,12 @@
License along with the GNU C Library. If not, see License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <libm-alias-double.h>
double double
__rint (double x) __rint (double x)
{ {
asm ("fint.d %1,%0" : "=f" (x) : "fm" (x)); asm ("fint.d %1,%0" : "=f" (x) : "fm" (x));
return x; return x;
} }
weak_alias (__rint, rint) libm_alias_double (__rint, rint)
#ifdef NO_LONG_DOUBLE
strong_alias (__rint, __rintl)
weak_alias (__rint, rintl)
#endif