1 ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. 2 ;; 3 ;; This file is part of LIBF7, which is part of GCC. 4 ;; 5 ;; GCC is free software; you can redistribute it and/or modify it under 6 ;; the terms of the GNU General Public License as published by the Free 7 ;; Software Foundation; either version 3, or (at your option) any later 8 ;; version. 9 ;; 10 ;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 11 ;; WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 ;; for more details. 14 ;; 15 ;; Under Section 7 of GPL version 3, you are granted additional 16 ;; permissions described in the GCC Runtime Library Exception, version 17 ;; 3.1, as published by the Free Software Foundation. 18 ;; 19 ;; You should have received a copy of the GNU General Public License and 20 ;; a copy of the GCC Runtime Library Exception along with this program; 21 ;; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 22 ;; <http://www.gnu.org/licenses/>. */ 23 24 ;; Auto-generated file, do not change by hand. 25 ;; 26 ;; Wrappers for double and long double functions to use functions that 27 ;; operate on f7_t, and get f7_t* and const f7_t*. 28 ;; 29 ;; Generated by: f7wraps.sh 30 ;; Included by : libf7-asm.sx 31 ;; WITH_LIBF7_MATH_FUNCTIONS=1 32 ;; WITH_LIBF7_MATH_SYMBOLS=1 33 34 ;; Functions that usually live in libgcc: __<name>df3 for <name> in: 35 ;; add sub mul div 36 37 ;; double __adddf3 (double, double) ; add 38 #ifdef F7MOD_D_add_ 39 _DEFUN __adddf3 40 ALIAS __add 41 .global F7_NAME(add) 42 ldi ZH, hi8(gs(F7_NAME(add))) 43 ldi ZL, lo8(gs(F7_NAME(add))) 44 F7jmp call_ddd 45 _ENDF __adddf3 46 #endif /* F7MOD_D_add_ */ 47 48 ;; double __subdf3 (double, double) ; sub 49 #ifdef F7MOD_D_sub_ 50 _DEFUN __subdf3 51 ALIAS __sub 52 .global F7_NAME(sub) 53 ldi ZH, hi8(gs(F7_NAME(sub))) 54 ldi ZL, lo8(gs(F7_NAME(sub))) 55 F7jmp call_ddd 56 _ENDF __subdf3 57 #endif /* F7MOD_D_sub_ */ 58 59 ;; double __muldf3 (double, double) ; mul 60 #ifdef F7MOD_D_mul_ 61 _DEFUN __muldf3 62 ALIAS __mul 63 .global F7_NAME(mul) 64 ldi ZH, hi8(gs(F7_NAME(mul))) 65 ldi ZL, lo8(gs(F7_NAME(mul))) 66 F7jmp call_ddd 67 _ENDF __muldf3 68 #endif /* F7MOD_D_mul_ */ 69 70 ;; double __divdf3 (double, double) ; div 71 #ifdef F7MOD_D_div_ 72 _DEFUN __divdf3 73 ALIAS __div 74 .global F7_NAME(div) 75 ldi ZH, hi8(gs(F7_NAME(div))) 76 ldi ZL, lo8(gs(F7_NAME(div))) 77 F7jmp call_ddd 78 _ENDF __divdf3 79 #endif /* F7MOD_D_div_ */ 80 81 ;; Functions that usually live in libgcc: __<name>df2 for <name> in: 82 ;; le lt ge gt ne eq unord 83 84 ;; bool __ledf2 (double, double) ; le 85 #ifdef F7MOD_D_le_ 86 _DEFUN __ledf2 87 .global F7_NAME(le_impl) 88 ldi ZH, hi8(gs(F7_NAME(le_impl))) 89 ldi ZL, lo8(gs(F7_NAME(le_impl))) 90 F7jmp call_xdd 91 _ENDF __ledf2 92 #endif /* F7MOD_D_le_ */ 93 94 ;; bool __ltdf2 (double, double) ; lt 95 #ifdef F7MOD_D_lt_ 96 _DEFUN __ltdf2 97 .global F7_NAME(lt_impl) 98 ldi ZH, hi8(gs(F7_NAME(lt_impl))) 99 ldi ZL, lo8(gs(F7_NAME(lt_impl))) 100 F7jmp call_xdd 101 _ENDF __ltdf2 102 #endif /* F7MOD_D_lt_ */ 103 104 ;; bool __gedf2 (double, double) ; ge 105 #ifdef F7MOD_D_ge_ 106 _DEFUN __gedf2 107 .global F7_NAME(ge_impl) 108 ldi ZH, hi8(gs(F7_NAME(ge_impl))) 109 ldi ZL, lo8(gs(F7_NAME(ge_impl))) 110 F7jmp call_xdd 111 _ENDF __gedf2 112 #endif /* F7MOD_D_ge_ */ 113 114 ;; bool __gtdf2 (double, double) ; gt 115 #ifdef F7MOD_D_gt_ 116 _DEFUN __gtdf2 117 .global F7_NAME(gt_impl) 118 ldi ZH, hi8(gs(F7_NAME(gt_impl))) 119 ldi ZL, lo8(gs(F7_NAME(gt_impl))) 120 F7jmp call_xdd 121 _ENDF __gtdf2 122 #endif /* F7MOD_D_gt_ */ 123 124 ;; bool __nedf2 (double, double) ; ne 125 #ifdef F7MOD_D_ne_ 126 _DEFUN __nedf2 127 .global F7_NAME(ne_impl) 128 ldi ZH, hi8(gs(F7_NAME(ne_impl))) 129 ldi ZL, lo8(gs(F7_NAME(ne_impl))) 130 F7jmp call_xdd 131 _ENDF __nedf2 132 #endif /* F7MOD_D_ne_ */ 133 134 ;; bool __eqdf2 (double, double) ; eq 135 #ifdef F7MOD_D_eq_ 136 _DEFUN __eqdf2 137 .global F7_NAME(eq_impl) 138 ldi ZH, hi8(gs(F7_NAME(eq_impl))) 139 ldi ZL, lo8(gs(F7_NAME(eq_impl))) 140 F7jmp call_xdd 141 _ENDF __eqdf2 142 #endif /* F7MOD_D_eq_ */ 143 144 ;; bool __unorddf2 (double, double) ; unord 145 #ifdef F7MOD_D_unord_ 146 _DEFUN __unorddf2 147 .global F7_NAME(unord_impl) 148 ldi ZH, hi8(gs(F7_NAME(unord_impl))) 149 ldi ZL, lo8(gs(F7_NAME(unord_impl))) 150 F7jmp call_xdd 151 _ENDF __unorddf2 152 #endif /* F7MOD_D_unord_ */ 153 154 ;; Functions that usually live in libgcc: __<name> for <name> in: 155 ;; fixdfsi fixdfdi fixunsdfdi fixunsdfsi truncdfsf2 156 157 ;; type_t __fixdfsi (double) ; fixdfsi 158 #ifdef F7MOD_D_fixdfsi_ 159 _DEFUN __fixdfsi 160 .global F7_NAME(fixdfsi) 161 ldi ZH, hi8(gs(F7_NAME(fixdfsi))) 162 ldi ZL, lo8(gs(F7_NAME(fixdfsi))) 163 F7jmp call_xd 164 _ENDF __fixdfsi 165 #endif /* F7MOD_D_fixdfsi_ */ 166 167 ;; type_t __fixdfdi (double) ; fixdfdi 168 #ifdef F7MOD_D_fixdfdi_ 169 _DEFUN __fixdfdi 170 .global F7_NAME(fixdfdi) 171 ldi ZH, hi8(gs(F7_NAME(fixdfdi))) 172 ldi ZL, lo8(gs(F7_NAME(fixdfdi))) 173 F7jmp call_xd 174 _ENDF __fixdfdi 175 #endif /* F7MOD_D_fixdfdi_ */ 176 177 ;; type_t __fixunsdfdi (double) ; fixunsdfdi 178 #ifdef F7MOD_D_fixunsdfdi_ 179 _DEFUN __fixunsdfdi 180 .global F7_NAME(fixunsdfdi) 181 ldi ZH, hi8(gs(F7_NAME(fixunsdfdi))) 182 ldi ZL, lo8(gs(F7_NAME(fixunsdfdi))) 183 F7jmp call_xd 184 _ENDF __fixunsdfdi 185 #endif /* F7MOD_D_fixunsdfdi_ */ 186 187 ;; type_t __fixunsdfsi (double) ; fixunsdfsi 188 #ifdef F7MOD_D_fixunsdfsi_ 189 _DEFUN __fixunsdfsi 190 .global F7_NAME(fixunsdfsi) 191 ldi ZH, hi8(gs(F7_NAME(fixunsdfsi))) 192 ldi ZL, lo8(gs(F7_NAME(fixunsdfsi))) 193 F7jmp call_xd 194 _ENDF __fixunsdfsi 195 #endif /* F7MOD_D_fixunsdfsi_ */ 196 197 ;; type_t __truncdfsf2 (double) ; truncdfsf2 198 #ifdef F7MOD_D_truncdfsf2_ 199 _DEFUN __truncdfsf2 200 .global F7_NAME(truncdfsf2) 201 ldi ZH, hi8(gs(F7_NAME(truncdfsf2))) 202 ldi ZL, lo8(gs(F7_NAME(truncdfsf2))) 203 F7jmp call_xd 204 _ENDF __truncdfsf2 205 #endif /* F7MOD_D_truncdfsf2_ */ 206 207 ;; Functions that usually live in libgcc: __<name> for <name> in: 208 ;; floatunsidf floatsidf extendsfdf2 209 210 ;; double __floatunsidf (type_t) ; floatunsidf 211 #ifdef F7MOD_D_floatunsidf_ 212 _DEFUN __floatunsidf 213 .global F7_NAME(floatunsidf) 214 ldi ZH, hi8(gs(F7_NAME(floatunsidf))) 215 ldi ZL, lo8(gs(F7_NAME(floatunsidf))) 216 F7jmp call_dx 217 _ENDF __floatunsidf 218 #endif /* F7MOD_D_floatunsidf_ */ 219 220 ;; double __floatsidf (type_t) ; floatsidf 221 #ifdef F7MOD_D_floatsidf_ 222 _DEFUN __floatsidf 223 .global F7_NAME(floatsidf) 224 ldi ZH, hi8(gs(F7_NAME(floatsidf))) 225 ldi ZL, lo8(gs(F7_NAME(floatsidf))) 226 F7jmp call_dx 227 _ENDF __floatsidf 228 #endif /* F7MOD_D_floatsidf_ */ 229 230 ;; double __extendsfdf2 (type_t) ; extendsfdf2 231 #ifdef F7MOD_D_extendsfdf2_ 232 _DEFUN __extendsfdf2 233 .global F7_NAME(extendsfdf2) 234 ldi ZH, hi8(gs(F7_NAME(extendsfdf2))) 235 ldi ZL, lo8(gs(F7_NAME(extendsfdf2))) 236 F7jmp call_dx 237 _ENDF __extendsfdf2 238 #endif /* F7MOD_D_extendsfdf2_ */ 239 240 ;; Functions that usually live in libm: Depending on [long] double layout, 241 ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in: 242 ;; pow fmin fmax fmod hypot atan2 243 244 ;; double __pow (double, double) 245 #ifdef F7MOD_D_pow_ 246 _DEFUN __pow 247 DALIAS pow 248 LALIAS powl 249 .global F7_NAME(pow) 250 ldi ZH, hi8(gs(F7_NAME(pow))) 251 ldi ZL, lo8(gs(F7_NAME(pow))) 252 F7jmp call_ddd 253 _ENDF __pow 254 #endif /* F7MOD_D_pow_ */ 255 256 ;; double __fmin (double, double) 257 #ifdef F7MOD_D_fmin_ 258 _DEFUN __fmin 259 DALIAS fmin 260 LALIAS fminl 261 .global F7_NAME(fmin) 262 ldi ZH, hi8(gs(F7_NAME(fmin))) 263 ldi ZL, lo8(gs(F7_NAME(fmin))) 264 F7jmp call_ddd 265 _ENDF __fmin 266 #endif /* F7MOD_D_fmin_ */ 267 268 ;; double __fmax (double, double) 269 #ifdef F7MOD_D_fmax_ 270 _DEFUN __fmax 271 DALIAS fmax 272 LALIAS fmaxl 273 .global F7_NAME(fmax) 274 ldi ZH, hi8(gs(F7_NAME(fmax))) 275 ldi ZL, lo8(gs(F7_NAME(fmax))) 276 F7jmp call_ddd 277 _ENDF __fmax 278 #endif /* F7MOD_D_fmax_ */ 279 280 ;; double __fmod (double, double) 281 #ifdef F7MOD_D_fmod_ 282 _DEFUN __fmod 283 DALIAS fmod 284 LALIAS fmodl 285 .global F7_NAME(fmod) 286 ldi ZH, hi8(gs(F7_NAME(fmod))) 287 ldi ZL, lo8(gs(F7_NAME(fmod))) 288 F7jmp call_ddd 289 _ENDF __fmod 290 #endif /* F7MOD_D_fmod_ */ 291 292 ;; double __hypot (double, double) 293 #ifdef F7MOD_D_hypot_ 294 _DEFUN __hypot 295 DALIAS hypot 296 LALIAS hypotl 297 .global F7_NAME(hypot) 298 ldi ZH, hi8(gs(F7_NAME(hypot))) 299 ldi ZL, lo8(gs(F7_NAME(hypot))) 300 F7jmp call_ddd 301 _ENDF __hypot 302 #endif /* F7MOD_D_hypot_ */ 303 304 ;; double __atan2 (double, double) 305 #ifdef F7MOD_D_atan2_ 306 _DEFUN __atan2 307 DALIAS atan2 308 LALIAS atan2l 309 .global F7_NAME(atan2) 310 ldi ZH, hi8(gs(F7_NAME(atan2))) 311 ldi ZL, lo8(gs(F7_NAME(atan2))) 312 F7jmp call_ddd 313 _ENDF __atan2 314 #endif /* F7MOD_D_atan2_ */ 315 316 ;; Functions that usually live in libm: Depending on [long] double layout, 317 ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in: 318 ;; ldexp frexp 319 320 ;; double __ldexp (double, word_t) 321 #ifdef F7MOD_D_ldexp_ 322 _DEFUN __ldexp 323 DALIAS ldexp 324 LALIAS ldexpl 325 .global F7_NAME(ldexp) 326 ldi ZH, hi8(gs(F7_NAME(ldexp))) 327 ldi ZL, lo8(gs(F7_NAME(ldexp))) 328 F7jmp call_ddx 329 _ENDF __ldexp 330 #endif /* F7MOD_D_ldexp_ */ 331 332 ;; double __frexp (double, word_t) 333 #ifdef F7MOD_D_frexp_ 334 _DEFUN __frexp 335 DALIAS frexp 336 LALIAS frexpl 337 .global F7_NAME(frexp) 338 ldi ZH, hi8(gs(F7_NAME(frexp))) 339 ldi ZL, lo8(gs(F7_NAME(frexp))) 340 F7jmp call_ddx 341 _ENDF __frexp 342 #endif /* F7MOD_D_frexp_ */ 343 344 ;; Functions that usually live in libm: Depending on [long] double layout, 345 ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in: 346 ;; sqrt cbrt exp exp10 pow10 log log10 log2 sin cos tan cotan asin acos atan ceil floor trunc round sinh cosh tanh 347 348 ;; double __sqrt (double) 349 #ifdef F7MOD_D_sqrt_ 350 _DEFUN __sqrt 351 DALIAS sqrt 352 LALIAS sqrtl 353 .global F7_NAME(sqrt) 354 ldi ZH, hi8(gs(F7_NAME(sqrt))) 355 ldi ZL, lo8(gs(F7_NAME(sqrt))) 356 F7jmp call_dd 357 _ENDF __sqrt 358 #endif /* F7MOD_D_sqrt_ */ 359 360 ;; double __cbrt (double) 361 #ifdef F7MOD_D_cbrt_ 362 _DEFUN __cbrt 363 DALIAS cbrt 364 LALIAS cbrtl 365 .global F7_NAME(cbrt) 366 ldi ZH, hi8(gs(F7_NAME(cbrt))) 367 ldi ZL, lo8(gs(F7_NAME(cbrt))) 368 F7jmp call_dd 369 _ENDF __cbrt 370 #endif /* F7MOD_D_cbrt_ */ 371 372 ;; double __exp (double) 373 #ifdef F7MOD_D_exp_ 374 _DEFUN __exp 375 DALIAS exp 376 LALIAS expl 377 .global F7_NAME(exp) 378 ldi ZH, hi8(gs(F7_NAME(exp))) 379 ldi ZL, lo8(gs(F7_NAME(exp))) 380 F7jmp call_dd 381 _ENDF __exp 382 #endif /* F7MOD_D_exp_ */ 383 384 ;; double __exp10 (double) 385 #ifdef F7MOD_D_exp10_ 386 _DEFUN __exp10 387 DALIAS exp10 388 LALIAS exp10l 389 .global F7_NAME(exp10) 390 ldi ZH, hi8(gs(F7_NAME(exp10))) 391 ldi ZL, lo8(gs(F7_NAME(exp10))) 392 F7jmp call_dd 393 _ENDF __exp10 394 #endif /* F7MOD_D_exp10_ */ 395 396 ;; double __pow10 (double) 397 #ifdef F7MOD_D_pow10_ 398 _DEFUN __pow10 399 DALIAS pow10 400 LALIAS pow10l 401 .global F7_NAME(pow10) 402 ldi ZH, hi8(gs(F7_NAME(pow10))) 403 ldi ZL, lo8(gs(F7_NAME(pow10))) 404 F7jmp call_dd 405 _ENDF __pow10 406 #endif /* F7MOD_D_pow10_ */ 407 408 ;; double __log (double) 409 #ifdef F7MOD_D_log_ 410 _DEFUN __log 411 DALIAS log 412 LALIAS logl 413 .global F7_NAME(log) 414 ldi ZH, hi8(gs(F7_NAME(log))) 415 ldi ZL, lo8(gs(F7_NAME(log))) 416 F7jmp call_dd 417 _ENDF __log 418 #endif /* F7MOD_D_log_ */ 419 420 ;; double __log10 (double) 421 #ifdef F7MOD_D_log10_ 422 _DEFUN __log10 423 DALIAS log10 424 LALIAS log10l 425 .global F7_NAME(log10) 426 ldi ZH, hi8(gs(F7_NAME(log10))) 427 ldi ZL, lo8(gs(F7_NAME(log10))) 428 F7jmp call_dd 429 _ENDF __log10 430 #endif /* F7MOD_D_log10_ */ 431 432 ;; double __log2 (double) 433 #ifdef F7MOD_D_log2_ 434 _DEFUN __log2 435 DALIAS log2 436 LALIAS log2l 437 .global F7_NAME(log2) 438 ldi ZH, hi8(gs(F7_NAME(log2))) 439 ldi ZL, lo8(gs(F7_NAME(log2))) 440 F7jmp call_dd 441 _ENDF __log2 442 #endif /* F7MOD_D_log2_ */ 443 444 ;; double __sin (double) 445 #ifdef F7MOD_D_sin_ 446 _DEFUN __sin 447 DALIAS sin 448 LALIAS sinl 449 .global F7_NAME(sin) 450 ldi ZH, hi8(gs(F7_NAME(sin))) 451 ldi ZL, lo8(gs(F7_NAME(sin))) 452 F7jmp call_dd 453 _ENDF __sin 454 #endif /* F7MOD_D_sin_ */ 455 456 ;; double __cos (double) 457 #ifdef F7MOD_D_cos_ 458 _DEFUN __cos 459 DALIAS cos 460 LALIAS cosl 461 .global F7_NAME(cos) 462 ldi ZH, hi8(gs(F7_NAME(cos))) 463 ldi ZL, lo8(gs(F7_NAME(cos))) 464 F7jmp call_dd 465 _ENDF __cos 466 #endif /* F7MOD_D_cos_ */ 467 468 ;; double __tan (double) 469 #ifdef F7MOD_D_tan_ 470 _DEFUN __tan 471 DALIAS tan 472 LALIAS tanl 473 .global F7_NAME(tan) 474 ldi ZH, hi8(gs(F7_NAME(tan))) 475 ldi ZL, lo8(gs(F7_NAME(tan))) 476 F7jmp call_dd 477 _ENDF __tan 478 #endif /* F7MOD_D_tan_ */ 479 480 ;; double __cotan (double) 481 #ifdef F7MOD_D_cotan_ 482 _DEFUN __cotan 483 DALIAS cotan 484 LALIAS cotanl 485 .global F7_NAME(cotan) 486 ldi ZH, hi8(gs(F7_NAME(cotan))) 487 ldi ZL, lo8(gs(F7_NAME(cotan))) 488 F7jmp call_dd 489 _ENDF __cotan 490 #endif /* F7MOD_D_cotan_ */ 491 492 ;; double __asin (double) 493 #ifdef F7MOD_D_asin_ 494 _DEFUN __asin 495 DALIAS asin 496 LALIAS asinl 497 .global F7_NAME(asin) 498 ldi ZH, hi8(gs(F7_NAME(asin))) 499 ldi ZL, lo8(gs(F7_NAME(asin))) 500 F7jmp call_dd 501 _ENDF __asin 502 #endif /* F7MOD_D_asin_ */ 503 504 ;; double __acos (double) 505 #ifdef F7MOD_D_acos_ 506 _DEFUN __acos 507 DALIAS acos 508 LALIAS acosl 509 .global F7_NAME(acos) 510 ldi ZH, hi8(gs(F7_NAME(acos))) 511 ldi ZL, lo8(gs(F7_NAME(acos))) 512 F7jmp call_dd 513 _ENDF __acos 514 #endif /* F7MOD_D_acos_ */ 515 516 ;; double __atan (double) 517 #ifdef F7MOD_D_atan_ 518 _DEFUN __atan 519 DALIAS atan 520 LALIAS atanl 521 .global F7_NAME(atan) 522 ldi ZH, hi8(gs(F7_NAME(atan))) 523 ldi ZL, lo8(gs(F7_NAME(atan))) 524 F7jmp call_dd 525 _ENDF __atan 526 #endif /* F7MOD_D_atan_ */ 527 528 ;; double __ceil (double) 529 #ifdef F7MOD_D_ceil_ 530 _DEFUN __ceil 531 DALIAS ceil 532 LALIAS ceill 533 .global F7_NAME(ceil) 534 ldi ZH, hi8(gs(F7_NAME(ceil))) 535 ldi ZL, lo8(gs(F7_NAME(ceil))) 536 F7jmp call_dd 537 _ENDF __ceil 538 #endif /* F7MOD_D_ceil_ */ 539 540 ;; double __floor (double) 541 #ifdef F7MOD_D_floor_ 542 _DEFUN __floor 543 DALIAS floor 544 LALIAS floorl 545 .global F7_NAME(floor) 546 ldi ZH, hi8(gs(F7_NAME(floor))) 547 ldi ZL, lo8(gs(F7_NAME(floor))) 548 F7jmp call_dd 549 _ENDF __floor 550 #endif /* F7MOD_D_floor_ */ 551 552 ;; double __trunc (double) 553 #ifdef F7MOD_D_trunc_ 554 _DEFUN __trunc 555 DALIAS trunc 556 LALIAS truncl 557 .global F7_NAME(trunc) 558 ldi ZH, hi8(gs(F7_NAME(trunc))) 559 ldi ZL, lo8(gs(F7_NAME(trunc))) 560 F7jmp call_dd 561 _ENDF __trunc 562 #endif /* F7MOD_D_trunc_ */ 563 564 ;; double __round (double) 565 #ifdef F7MOD_D_round_ 566 _DEFUN __round 567 DALIAS round 568 LALIAS roundl 569 .global F7_NAME(round) 570 ldi ZH, hi8(gs(F7_NAME(round))) 571 ldi ZL, lo8(gs(F7_NAME(round))) 572 F7jmp call_dd 573 _ENDF __round 574 #endif /* F7MOD_D_round_ */ 575 576 ;; double __sinh (double) 577 #ifdef F7MOD_D_sinh_ 578 _DEFUN __sinh 579 DALIAS sinh 580 LALIAS sinhl 581 .global F7_NAME(sinh) 582 ldi ZH, hi8(gs(F7_NAME(sinh))) 583 ldi ZL, lo8(gs(F7_NAME(sinh))) 584 F7jmp call_dd 585 _ENDF __sinh 586 #endif /* F7MOD_D_sinh_ */ 587 588 ;; double __cosh (double) 589 #ifdef F7MOD_D_cosh_ 590 _DEFUN __cosh 591 DALIAS cosh 592 LALIAS coshl 593 .global F7_NAME(cosh) 594 ldi ZH, hi8(gs(F7_NAME(cosh))) 595 ldi ZL, lo8(gs(F7_NAME(cosh))) 596 F7jmp call_dd 597 _ENDF __cosh 598 #endif /* F7MOD_D_cosh_ */ 599 600 ;; double __tanh (double) 601 #ifdef F7MOD_D_tanh_ 602 _DEFUN __tanh 603 DALIAS tanh 604 LALIAS tanhl 605 .global F7_NAME(tanh) 606 ldi ZH, hi8(gs(F7_NAME(tanh))) 607 ldi ZL, lo8(gs(F7_NAME(tanh))) 608 F7jmp call_dd 609 _ENDF __tanh 610 #endif /* F7MOD_D_tanh_ */ 611 612 ;; Functions that usually live in libm: Depending on [long] double layout, 613 ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in: 614 ;; lrint lround 615 616 ;; type_t __lrint (double) 617 #ifdef F7MOD_D_lrint_ 618 _DEFUN __lrint 619 DALIAS lrint 620 LALIAS lrintl 621 .global F7_NAME(lrint) 622 ldi ZH, hi8(gs(F7_NAME(lrint))) 623 ldi ZL, lo8(gs(F7_NAME(lrint))) 624 F7jmp call_xd 625 _ENDF __lrint 626 #endif /* F7MOD_D_lrint_ */ 627 628 ;; type_t __lround (double) 629 #ifdef F7MOD_D_lround_ 630 _DEFUN __lround 631 DALIAS lround 632 LALIAS lroundl 633 .global F7_NAME(lround) 634 ldi ZH, hi8(gs(F7_NAME(lround))) 635 ldi ZL, lo8(gs(F7_NAME(lround))) 636 F7jmp call_xd 637 _ENDF __lround 638 #endif /* F7MOD_D_lround_ */ 639