1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
|
;; Copyright (C) 2019-2024 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_ */
|