639 lines
16 KiB
C
639 lines
16 KiB
C
|
;; Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||
|
;;
|
||
|
;; This file is part of LIBF7, which is part of GCC.
|
||
|
;;
|
||
|
;; GCC is free software; you can redistribute it and/or modify it under
|
||
|
;; the terms of the GNU General Public License as published by the Free
|
||
|
;; Software Foundation; either version 3, or (at your option) any later
|
||
|
;; version.
|
||
|
;;
|
||
|
;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||
|
;; WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||
|
;; for more details.
|
||
|
;;
|
||
|
;; Under Section 7 of GPL version 3, you are granted additional
|
||
|
;; permissions described in the GCC Runtime Library Exception, version
|
||
|
;; 3.1, as published by the Free Software Foundation.
|
||
|
;;
|
||
|
;; You should have received a copy of the GNU General Public License and
|
||
|
;; a copy of the GCC Runtime Library Exception along with this program;
|
||
|
;; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||
|
;; <http://www.gnu.org/licenses/>. */
|
||
|
|
||
|
;; Auto-generated file, do not change by hand.
|
||
|
;;
|
||
|
;; Wrappers for double and long double functions to use functions that
|
||
|
;; operate on f7_t, and get f7_t* and const f7_t*.
|
||
|
;;
|
||
|
;; Generated by: f7wraps.sh
|
||
|
;; Included by : libf7-asm.sx
|
||
|
;; WITH_LIBF7_MATH_FUNCTIONS=1
|
||
|
;; WITH_LIBF7_MATH_SYMBOLS=1
|
||
|
|
||
|
;; Functions that usually live in libgcc: __<name>df3 for <name> in:
|
||
|
;; add sub mul div
|
||
|
|
||
|
;; double __adddf3 (double, double) ; add
|
||
|
#ifdef F7MOD_D_add_
|
||
|
_DEFUN __adddf3
|
||
|
ALIAS __add
|
||
|
.global F7_NAME(add)
|
||
|
ldi ZH, hi8(gs(F7_NAME(add)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(add)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __adddf3
|
||
|
#endif /* F7MOD_D_add_ */
|
||
|
|
||
|
;; double __subdf3 (double, double) ; sub
|
||
|
#ifdef F7MOD_D_sub_
|
||
|
_DEFUN __subdf3
|
||
|
ALIAS __sub
|
||
|
.global F7_NAME(sub)
|
||
|
ldi ZH, hi8(gs(F7_NAME(sub)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(sub)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __subdf3
|
||
|
#endif /* F7MOD_D_sub_ */
|
||
|
|
||
|
;; double __muldf3 (double, double) ; mul
|
||
|
#ifdef F7MOD_D_mul_
|
||
|
_DEFUN __muldf3
|
||
|
ALIAS __mul
|
||
|
.global F7_NAME(mul)
|
||
|
ldi ZH, hi8(gs(F7_NAME(mul)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(mul)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __muldf3
|
||
|
#endif /* F7MOD_D_mul_ */
|
||
|
|
||
|
;; double __divdf3 (double, double) ; div
|
||
|
#ifdef F7MOD_D_div_
|
||
|
_DEFUN __divdf3
|
||
|
ALIAS __div
|
||
|
.global F7_NAME(div)
|
||
|
ldi ZH, hi8(gs(F7_NAME(div)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(div)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __divdf3
|
||
|
#endif /* F7MOD_D_div_ */
|
||
|
|
||
|
;; Functions that usually live in libgcc: __<name>df2 for <name> in:
|
||
|
;; le lt ge gt ne eq unord
|
||
|
|
||
|
;; bool __ledf2 (double, double) ; le
|
||
|
#ifdef F7MOD_D_le_
|
||
|
_DEFUN __ledf2
|
||
|
.global F7_NAME(le_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(le_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(le_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __ledf2
|
||
|
#endif /* F7MOD_D_le_ */
|
||
|
|
||
|
;; bool __ltdf2 (double, double) ; lt
|
||
|
#ifdef F7MOD_D_lt_
|
||
|
_DEFUN __ltdf2
|
||
|
.global F7_NAME(lt_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(lt_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(lt_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __ltdf2
|
||
|
#endif /* F7MOD_D_lt_ */
|
||
|
|
||
|
;; bool __gedf2 (double, double) ; ge
|
||
|
#ifdef F7MOD_D_ge_
|
||
|
_DEFUN __gedf2
|
||
|
.global F7_NAME(ge_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(ge_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(ge_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __gedf2
|
||
|
#endif /* F7MOD_D_ge_ */
|
||
|
|
||
|
;; bool __gtdf2 (double, double) ; gt
|
||
|
#ifdef F7MOD_D_gt_
|
||
|
_DEFUN __gtdf2
|
||
|
.global F7_NAME(gt_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(gt_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(gt_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __gtdf2
|
||
|
#endif /* F7MOD_D_gt_ */
|
||
|
|
||
|
;; bool __nedf2 (double, double) ; ne
|
||
|
#ifdef F7MOD_D_ne_
|
||
|
_DEFUN __nedf2
|
||
|
.global F7_NAME(ne_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(ne_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(ne_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __nedf2
|
||
|
#endif /* F7MOD_D_ne_ */
|
||
|
|
||
|
;; bool __eqdf2 (double, double) ; eq
|
||
|
#ifdef F7MOD_D_eq_
|
||
|
_DEFUN __eqdf2
|
||
|
.global F7_NAME(eq_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(eq_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(eq_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __eqdf2
|
||
|
#endif /* F7MOD_D_eq_ */
|
||
|
|
||
|
;; bool __unorddf2 (double, double) ; unord
|
||
|
#ifdef F7MOD_D_unord_
|
||
|
_DEFUN __unorddf2
|
||
|
.global F7_NAME(unord_impl)
|
||
|
ldi ZH, hi8(gs(F7_NAME(unord_impl)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(unord_impl)))
|
||
|
F7jmp call_xdd
|
||
|
_ENDF __unorddf2
|
||
|
#endif /* F7MOD_D_unord_ */
|
||
|
|
||
|
;; Functions that usually live in libgcc: __<name> for <name> in:
|
||
|
;; fixdfsi fixdfdi fixunsdfdi fixunsdfsi truncdfsf2
|
||
|
|
||
|
;; type_t __fixdfsi (double) ; fixdfsi
|
||
|
#ifdef F7MOD_D_fixdfsi_
|
||
|
_DEFUN __fixdfsi
|
||
|
.global F7_NAME(fixdfsi)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fixdfsi)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fixdfsi)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __fixdfsi
|
||
|
#endif /* F7MOD_D_fixdfsi_ */
|
||
|
|
||
|
;; type_t __fixdfdi (double) ; fixdfdi
|
||
|
#ifdef F7MOD_D_fixdfdi_
|
||
|
_DEFUN __fixdfdi
|
||
|
.global F7_NAME(fixdfdi)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fixdfdi)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fixdfdi)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __fixdfdi
|
||
|
#endif /* F7MOD_D_fixdfdi_ */
|
||
|
|
||
|
;; type_t __fixunsdfdi (double) ; fixunsdfdi
|
||
|
#ifdef F7MOD_D_fixunsdfdi_
|
||
|
_DEFUN __fixunsdfdi
|
||
|
.global F7_NAME(fixunsdfdi)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fixunsdfdi)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fixunsdfdi)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __fixunsdfdi
|
||
|
#endif /* F7MOD_D_fixunsdfdi_ */
|
||
|
|
||
|
;; type_t __fixunsdfsi (double) ; fixunsdfsi
|
||
|
#ifdef F7MOD_D_fixunsdfsi_
|
||
|
_DEFUN __fixunsdfsi
|
||
|
.global F7_NAME(fixunsdfsi)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fixunsdfsi)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fixunsdfsi)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __fixunsdfsi
|
||
|
#endif /* F7MOD_D_fixunsdfsi_ */
|
||
|
|
||
|
;; type_t __truncdfsf2 (double) ; truncdfsf2
|
||
|
#ifdef F7MOD_D_truncdfsf2_
|
||
|
_DEFUN __truncdfsf2
|
||
|
.global F7_NAME(truncdfsf2)
|
||
|
ldi ZH, hi8(gs(F7_NAME(truncdfsf2)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(truncdfsf2)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __truncdfsf2
|
||
|
#endif /* F7MOD_D_truncdfsf2_ */
|
||
|
|
||
|
;; Functions that usually live in libgcc: __<name> for <name> in:
|
||
|
;; floatunsidf floatsidf extendsfdf2
|
||
|
|
||
|
;; double __floatunsidf (type_t) ; floatunsidf
|
||
|
#ifdef F7MOD_D_floatunsidf_
|
||
|
_DEFUN __floatunsidf
|
||
|
.global F7_NAME(floatunsidf)
|
||
|
ldi ZH, hi8(gs(F7_NAME(floatunsidf)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(floatunsidf)))
|
||
|
F7jmp call_dx
|
||
|
_ENDF __floatunsidf
|
||
|
#endif /* F7MOD_D_floatunsidf_ */
|
||
|
|
||
|
;; double __floatsidf (type_t) ; floatsidf
|
||
|
#ifdef F7MOD_D_floatsidf_
|
||
|
_DEFUN __floatsidf
|
||
|
.global F7_NAME(floatsidf)
|
||
|
ldi ZH, hi8(gs(F7_NAME(floatsidf)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(floatsidf)))
|
||
|
F7jmp call_dx
|
||
|
_ENDF __floatsidf
|
||
|
#endif /* F7MOD_D_floatsidf_ */
|
||
|
|
||
|
;; double __extendsfdf2 (type_t) ; extendsfdf2
|
||
|
#ifdef F7MOD_D_extendsfdf2_
|
||
|
_DEFUN __extendsfdf2
|
||
|
.global F7_NAME(extendsfdf2)
|
||
|
ldi ZH, hi8(gs(F7_NAME(extendsfdf2)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(extendsfdf2)))
|
||
|
F7jmp call_dx
|
||
|
_ENDF __extendsfdf2
|
||
|
#endif /* F7MOD_D_extendsfdf2_ */
|
||
|
|
||
|
;; Functions that usually live in libm: Depending on [long] double layout,
|
||
|
;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
|
||
|
;; pow fmin fmax fmod hypot atan2
|
||
|
|
||
|
;; double __pow (double, double)
|
||
|
#ifdef F7MOD_D_pow_
|
||
|
_DEFUN __pow
|
||
|
DALIAS pow
|
||
|
LALIAS powl
|
||
|
.global F7_NAME(pow)
|
||
|
ldi ZH, hi8(gs(F7_NAME(pow)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(pow)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __pow
|
||
|
#endif /* F7MOD_D_pow_ */
|
||
|
|
||
|
;; double __fmin (double, double)
|
||
|
#ifdef F7MOD_D_fmin_
|
||
|
_DEFUN __fmin
|
||
|
DALIAS fmin
|
||
|
LALIAS fminl
|
||
|
.global F7_NAME(fmin)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fmin)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fmin)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __fmin
|
||
|
#endif /* F7MOD_D_fmin_ */
|
||
|
|
||
|
;; double __fmax (double, double)
|
||
|
#ifdef F7MOD_D_fmax_
|
||
|
_DEFUN __fmax
|
||
|
DALIAS fmax
|
||
|
LALIAS fmaxl
|
||
|
.global F7_NAME(fmax)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fmax)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fmax)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __fmax
|
||
|
#endif /* F7MOD_D_fmax_ */
|
||
|
|
||
|
;; double __fmod (double, double)
|
||
|
#ifdef F7MOD_D_fmod_
|
||
|
_DEFUN __fmod
|
||
|
DALIAS fmod
|
||
|
LALIAS fmodl
|
||
|
.global F7_NAME(fmod)
|
||
|
ldi ZH, hi8(gs(F7_NAME(fmod)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(fmod)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __fmod
|
||
|
#endif /* F7MOD_D_fmod_ */
|
||
|
|
||
|
;; double __hypot (double, double)
|
||
|
#ifdef F7MOD_D_hypot_
|
||
|
_DEFUN __hypot
|
||
|
DALIAS hypot
|
||
|
LALIAS hypotl
|
||
|
.global F7_NAME(hypot)
|
||
|
ldi ZH, hi8(gs(F7_NAME(hypot)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(hypot)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __hypot
|
||
|
#endif /* F7MOD_D_hypot_ */
|
||
|
|
||
|
;; double __atan2 (double, double)
|
||
|
#ifdef F7MOD_D_atan2_
|
||
|
_DEFUN __atan2
|
||
|
DALIAS atan2
|
||
|
LALIAS atan2l
|
||
|
.global F7_NAME(atan2)
|
||
|
ldi ZH, hi8(gs(F7_NAME(atan2)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(atan2)))
|
||
|
F7jmp call_ddd
|
||
|
_ENDF __atan2
|
||
|
#endif /* F7MOD_D_atan2_ */
|
||
|
|
||
|
;; Functions that usually live in libm: Depending on [long] double layout,
|
||
|
;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
|
||
|
;; ldexp frexp
|
||
|
|
||
|
;; double __ldexp (double, word_t)
|
||
|
#ifdef F7MOD_D_ldexp_
|
||
|
_DEFUN __ldexp
|
||
|
DALIAS ldexp
|
||
|
LALIAS ldexpl
|
||
|
.global F7_NAME(ldexp)
|
||
|
ldi ZH, hi8(gs(F7_NAME(ldexp)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(ldexp)))
|
||
|
F7jmp call_ddx
|
||
|
_ENDF __ldexp
|
||
|
#endif /* F7MOD_D_ldexp_ */
|
||
|
|
||
|
;; double __frexp (double, word_t)
|
||
|
#ifdef F7MOD_D_frexp_
|
||
|
_DEFUN __frexp
|
||
|
DALIAS frexp
|
||
|
LALIAS frexpl
|
||
|
.global F7_NAME(frexp)
|
||
|
ldi ZH, hi8(gs(F7_NAME(frexp)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(frexp)))
|
||
|
F7jmp call_ddx
|
||
|
_ENDF __frexp
|
||
|
#endif /* F7MOD_D_frexp_ */
|
||
|
|
||
|
;; Functions that usually live in libm: Depending on [long] double layout,
|
||
|
;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
|
||
|
;; sqrt cbrt exp exp10 pow10 log log10 log2 sin cos tan cotan asin acos atan ceil floor trunc round sinh cosh tanh
|
||
|
|
||
|
;; double __sqrt (double)
|
||
|
#ifdef F7MOD_D_sqrt_
|
||
|
_DEFUN __sqrt
|
||
|
DALIAS sqrt
|
||
|
LALIAS sqrtl
|
||
|
.global F7_NAME(sqrt)
|
||
|
ldi ZH, hi8(gs(F7_NAME(sqrt)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(sqrt)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __sqrt
|
||
|
#endif /* F7MOD_D_sqrt_ */
|
||
|
|
||
|
;; double __cbrt (double)
|
||
|
#ifdef F7MOD_D_cbrt_
|
||
|
_DEFUN __cbrt
|
||
|
DALIAS cbrt
|
||
|
LALIAS cbrtl
|
||
|
.global F7_NAME(cbrt)
|
||
|
ldi ZH, hi8(gs(F7_NAME(cbrt)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(cbrt)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __cbrt
|
||
|
#endif /* F7MOD_D_cbrt_ */
|
||
|
|
||
|
;; double __exp (double)
|
||
|
#ifdef F7MOD_D_exp_
|
||
|
_DEFUN __exp
|
||
|
DALIAS exp
|
||
|
LALIAS expl
|
||
|
.global F7_NAME(exp)
|
||
|
ldi ZH, hi8(gs(F7_NAME(exp)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(exp)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __exp
|
||
|
#endif /* F7MOD_D_exp_ */
|
||
|
|
||
|
;; double __exp10 (double)
|
||
|
#ifdef F7MOD_D_exp10_
|
||
|
_DEFUN __exp10
|
||
|
DALIAS exp10
|
||
|
LALIAS exp10l
|
||
|
.global F7_NAME(exp10)
|
||
|
ldi ZH, hi8(gs(F7_NAME(exp10)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(exp10)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __exp10
|
||
|
#endif /* F7MOD_D_exp10_ */
|
||
|
|
||
|
;; double __pow10 (double)
|
||
|
#ifdef F7MOD_D_pow10_
|
||
|
_DEFUN __pow10
|
||
|
DALIAS pow10
|
||
|
LALIAS pow10l
|
||
|
.global F7_NAME(pow10)
|
||
|
ldi ZH, hi8(gs(F7_NAME(pow10)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(pow10)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __pow10
|
||
|
#endif /* F7MOD_D_pow10_ */
|
||
|
|
||
|
;; double __log (double)
|
||
|
#ifdef F7MOD_D_log_
|
||
|
_DEFUN __log
|
||
|
DALIAS log
|
||
|
LALIAS logl
|
||
|
.global F7_NAME(log)
|
||
|
ldi ZH, hi8(gs(F7_NAME(log)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(log)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __log
|
||
|
#endif /* F7MOD_D_log_ */
|
||
|
|
||
|
;; double __log10 (double)
|
||
|
#ifdef F7MOD_D_log10_
|
||
|
_DEFUN __log10
|
||
|
DALIAS log10
|
||
|
LALIAS log10l
|
||
|
.global F7_NAME(log10)
|
||
|
ldi ZH, hi8(gs(F7_NAME(log10)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(log10)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __log10
|
||
|
#endif /* F7MOD_D_log10_ */
|
||
|
|
||
|
;; double __log2 (double)
|
||
|
#ifdef F7MOD_D_log2_
|
||
|
_DEFUN __log2
|
||
|
DALIAS log2
|
||
|
LALIAS log2l
|
||
|
.global F7_NAME(log2)
|
||
|
ldi ZH, hi8(gs(F7_NAME(log2)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(log2)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __log2
|
||
|
#endif /* F7MOD_D_log2_ */
|
||
|
|
||
|
;; double __sin (double)
|
||
|
#ifdef F7MOD_D_sin_
|
||
|
_DEFUN __sin
|
||
|
DALIAS sin
|
||
|
LALIAS sinl
|
||
|
.global F7_NAME(sin)
|
||
|
ldi ZH, hi8(gs(F7_NAME(sin)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(sin)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __sin
|
||
|
#endif /* F7MOD_D_sin_ */
|
||
|
|
||
|
;; double __cos (double)
|
||
|
#ifdef F7MOD_D_cos_
|
||
|
_DEFUN __cos
|
||
|
DALIAS cos
|
||
|
LALIAS cosl
|
||
|
.global F7_NAME(cos)
|
||
|
ldi ZH, hi8(gs(F7_NAME(cos)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(cos)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __cos
|
||
|
#endif /* F7MOD_D_cos_ */
|
||
|
|
||
|
;; double __tan (double)
|
||
|
#ifdef F7MOD_D_tan_
|
||
|
_DEFUN __tan
|
||
|
DALIAS tan
|
||
|
LALIAS tanl
|
||
|
.global F7_NAME(tan)
|
||
|
ldi ZH, hi8(gs(F7_NAME(tan)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(tan)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __tan
|
||
|
#endif /* F7MOD_D_tan_ */
|
||
|
|
||
|
;; double __cotan (double)
|
||
|
#ifdef F7MOD_D_cotan_
|
||
|
_DEFUN __cotan
|
||
|
DALIAS cotan
|
||
|
LALIAS cotanl
|
||
|
.global F7_NAME(cotan)
|
||
|
ldi ZH, hi8(gs(F7_NAME(cotan)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(cotan)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __cotan
|
||
|
#endif /* F7MOD_D_cotan_ */
|
||
|
|
||
|
;; double __asin (double)
|
||
|
#ifdef F7MOD_D_asin_
|
||
|
_DEFUN __asin
|
||
|
DALIAS asin
|
||
|
LALIAS asinl
|
||
|
.global F7_NAME(asin)
|
||
|
ldi ZH, hi8(gs(F7_NAME(asin)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(asin)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __asin
|
||
|
#endif /* F7MOD_D_asin_ */
|
||
|
|
||
|
;; double __acos (double)
|
||
|
#ifdef F7MOD_D_acos_
|
||
|
_DEFUN __acos
|
||
|
DALIAS acos
|
||
|
LALIAS acosl
|
||
|
.global F7_NAME(acos)
|
||
|
ldi ZH, hi8(gs(F7_NAME(acos)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(acos)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __acos
|
||
|
#endif /* F7MOD_D_acos_ */
|
||
|
|
||
|
;; double __atan (double)
|
||
|
#ifdef F7MOD_D_atan_
|
||
|
_DEFUN __atan
|
||
|
DALIAS atan
|
||
|
LALIAS atanl
|
||
|
.global F7_NAME(atan)
|
||
|
ldi ZH, hi8(gs(F7_NAME(atan)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(atan)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __atan
|
||
|
#endif /* F7MOD_D_atan_ */
|
||
|
|
||
|
;; double __ceil (double)
|
||
|
#ifdef F7MOD_D_ceil_
|
||
|
_DEFUN __ceil
|
||
|
DALIAS ceil
|
||
|
LALIAS ceill
|
||
|
.global F7_NAME(ceil)
|
||
|
ldi ZH, hi8(gs(F7_NAME(ceil)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(ceil)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __ceil
|
||
|
#endif /* F7MOD_D_ceil_ */
|
||
|
|
||
|
;; double __floor (double)
|
||
|
#ifdef F7MOD_D_floor_
|
||
|
_DEFUN __floor
|
||
|
DALIAS floor
|
||
|
LALIAS floorl
|
||
|
.global F7_NAME(floor)
|
||
|
ldi ZH, hi8(gs(F7_NAME(floor)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(floor)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __floor
|
||
|
#endif /* F7MOD_D_floor_ */
|
||
|
|
||
|
;; double __trunc (double)
|
||
|
#ifdef F7MOD_D_trunc_
|
||
|
_DEFUN __trunc
|
||
|
DALIAS trunc
|
||
|
LALIAS truncl
|
||
|
.global F7_NAME(trunc)
|
||
|
ldi ZH, hi8(gs(F7_NAME(trunc)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(trunc)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __trunc
|
||
|
#endif /* F7MOD_D_trunc_ */
|
||
|
|
||
|
;; double __round (double)
|
||
|
#ifdef F7MOD_D_round_
|
||
|
_DEFUN __round
|
||
|
DALIAS round
|
||
|
LALIAS roundl
|
||
|
.global F7_NAME(round)
|
||
|
ldi ZH, hi8(gs(F7_NAME(round)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(round)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __round
|
||
|
#endif /* F7MOD_D_round_ */
|
||
|
|
||
|
;; double __sinh (double)
|
||
|
#ifdef F7MOD_D_sinh_
|
||
|
_DEFUN __sinh
|
||
|
DALIAS sinh
|
||
|
LALIAS sinhl
|
||
|
.global F7_NAME(sinh)
|
||
|
ldi ZH, hi8(gs(F7_NAME(sinh)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(sinh)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __sinh
|
||
|
#endif /* F7MOD_D_sinh_ */
|
||
|
|
||
|
;; double __cosh (double)
|
||
|
#ifdef F7MOD_D_cosh_
|
||
|
_DEFUN __cosh
|
||
|
DALIAS cosh
|
||
|
LALIAS coshl
|
||
|
.global F7_NAME(cosh)
|
||
|
ldi ZH, hi8(gs(F7_NAME(cosh)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(cosh)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __cosh
|
||
|
#endif /* F7MOD_D_cosh_ */
|
||
|
|
||
|
;; double __tanh (double)
|
||
|
#ifdef F7MOD_D_tanh_
|
||
|
_DEFUN __tanh
|
||
|
DALIAS tanh
|
||
|
LALIAS tanhl
|
||
|
.global F7_NAME(tanh)
|
||
|
ldi ZH, hi8(gs(F7_NAME(tanh)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(tanh)))
|
||
|
F7jmp call_dd
|
||
|
_ENDF __tanh
|
||
|
#endif /* F7MOD_D_tanh_ */
|
||
|
|
||
|
;; Functions that usually live in libm: Depending on [long] double layout,
|
||
|
;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
|
||
|
;; lrint lround
|
||
|
|
||
|
;; type_t __lrint (double)
|
||
|
#ifdef F7MOD_D_lrint_
|
||
|
_DEFUN __lrint
|
||
|
DALIAS lrint
|
||
|
LALIAS lrintl
|
||
|
.global F7_NAME(lrint)
|
||
|
ldi ZH, hi8(gs(F7_NAME(lrint)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(lrint)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __lrint
|
||
|
#endif /* F7MOD_D_lrint_ */
|
||
|
|
||
|
;; type_t __lround (double)
|
||
|
#ifdef F7MOD_D_lround_
|
||
|
_DEFUN __lround
|
||
|
DALIAS lround
|
||
|
LALIAS lroundl
|
||
|
.global F7_NAME(lround)
|
||
|
ldi ZH, hi8(gs(F7_NAME(lround)))
|
||
|
ldi ZL, lo8(gs(F7_NAME(lround)))
|
||
|
F7jmp call_xd
|
||
|
_ENDF __lround
|
||
|
#endif /* F7MOD_D_lround_ */
|