1 .file "vacall-ia64.c" 2 .pred.safe_across_calls p1-p5,p16-p63 3 .text 4 .align 16 5 .proc callback_receiver# 6callback_receiver: 7 .prologue 14, 42 8 .spill 48 9 .mmb 10 .save ar.pfs, r43 11 alloc r43 = ar.pfs, 8, 6, 2, 0 12 .vframe r44 13 mov r44 = r12 14 nop 0 15 .mmi 16 adds r12 = -208, r12 17 adds r18 = 8, r15 18 mov r45 = r1 19 ;; 20 .mmi 21 adds r16 = -48, r44 22 adds r14 = -136, r44 23 adds r17 = -48, r44 24 .mmi 25 adds r40 = -152, r44 26 adds r47 = -192, r44 27 adds r41 = -160, r44 28 ;; 29 .mmb 30 st8 [r14] = r8 31 adds r14 = -32, r44 32 nop 0 33 .mfi 34 st8 [r16] = r32, 8 35 nop 0 36 .save rp, r42 37 mov r42 = b0 38 .body 39 ;; 40 .mfi 41 st8 [r14] = r34 42 nop 0 43 adds r14 = -24, r44 44 .mmb 45 st8 [r16] = r33 46 ld8 r16 = [r15] 47 nop 0 48 ;; 49 .mmi 50 nop 0 51 st8 [r14] = r35 52 adds r14 = -16, r44 53 .mmi 54 st8 [r41] = r0 55 ;; 56 st8 [r14] = r36 57 adds r14 = -8, r44 58 .mmb 59 st4 [r40] = r0 60 ld8 r46 = [r18] 61 nop 0 62 ;; 63 .mmi 64 nop 0 65 st8 [r14] = r37 66 adds r14 = 8, r44 67 .mmi 68 st8 [r44] = r38 69 ;; 70 st8 [r14] = r39 71 adds r14 = -112, r44 72 .mmi 73 st4 [r47] = r0 74 ;; 75 stfd [r14] = f8 76 nop 0 77 .mmi 78 adds r14 = -104, r44 79 ;; 80 stfd [r14] = f9 81 adds r14 = -96, r44 82 ;; 83 .mfi 84 stfd [r14] = f10 85 nop 0 86 adds r14 = -88, r44 87 .mmi 88 nop 0 89 ;; 90 stfd [r14] = f11 91 nop 0 92 .mmi 93 adds r14 = -80, r44 94 ;; 95 stfd [r14] = f12 96 adds r14 = -72, r44 97 ;; 98 .mfi 99 stfd [r14] = f13 100 nop 0 101 adds r14 = -64, r44 102 .mmi 103 nop 0 104 ;; 105 stfd [r14] = f14 106 nop 0 107 .mmi 108 adds r14 = -56, r44 109 ;; 110 stfd [r14] = f15 111 adds r14 = -168, r44 112 ;; 113 .mii 114 st8 [r14] = r17 115 adds r14 = -128, r44 116 ;; 117 nop 0 118 .mii 119 st8 [r14] = r17 120 adds r14 = -120, r44 121 ;; 122 nop 0 123 .mmb 124 st4 [r14] = r0 125 ld8 r14 = [r16], 8 126 nop 0 127 ;; 128 .mib 129 nop 0 130 mov b6 = r14 131 nop 0 132 .mbb 133 ld8 r1 = [r16] 134 nop 0 135 br.call.sptk.many b0 = b6 136 ;; 137 .mmb 138 mov r1 = r45 139 ld4 r40 = [r40] 140 nop 0 141 ;; 142 .mfb 143 cmp4.eq p6, p7 = 0, r40 144 nop 0 145 (p6) br.cond.dpnt .L49 146 ;; 147 .mfb 148 cmp4.ne p6, p7 = 1, r40 149 nop 0 150 (p7) br.cond.dpnt .L50 151 ;; 152 .mfb 153 cmp4.ne p6, p7 = 2, r40 154 nop 0 155 (p7) br.cond.dpnt .L50 156 ;; 157 .mii 158 nop 0 159 cmp4.ne p6, p7 = 3, r40 160 ;; 161 (p7) adds r14 = -184, r44 162 ;; 163 .mfb 164 (p7) ld1 r8 = [r14] 165 nop 0 166 (p7) br.cond.dpnt .L49 167 .mii 168 nop 0 169 cmp4.ne p6, p7 = 4, r40 170 ;; 171 nop 0 172 .mmi 173 (p7) adds r14 = -184, r44 174 ;; 175 (p7) ld2 r14 = [r14] 176 nop 0 177 ;; 178 .mib 179 nop 0 180 (p7) sxt2 r8 = r14 181 (p7) br.cond.dpnt .L49 182 .mii 183 nop 0 184 cmp4.ne p6, p7 = 5, r40 185 ;; 186 (p7) adds r14 = -184, r44 187 ;; 188 .mfb 189 (p7) ld2 r8 = [r14] 190 nop 0 191 (p7) br.cond.dpnt .L49 192 .mii 193 nop 0 194 cmp4.ne p6, p7 = 6, r40 195 ;; 196 nop 0 197 .mmi 198 (p7) adds r14 = -184, r44 199 ;; 200 (p7) ld4 r14 = [r14] 201 nop 0 202 ;; 203 .mib 204 nop 0 205 (p7) sxt4 r8 = r14 206 (p7) br.cond.dpnt .L49 207 .mii 208 nop 0 209 cmp4.ne p6, p7 = 7, r40 210 ;; 211 (p7) adds r14 = -184, r44 212 ;; 213 .mfb 214 (p7) ld4 r8 = [r14] 215 nop 0 216 (p7) br.cond.dpnt .L49 217 .mfb 218 cmp4.ne p6, p7 = 8, r40 219 nop 0 220 (p7) br.cond.dpnt .L54 221 ;; 222 .mfb 223 cmp4.ne p6, p7 = 9, r40 224 nop 0 225 (p7) br.cond.dpnt .L54 226 ;; 227 .mfb 228 cmp4.ne p6, p7 = 10, r40 229 nop 0 230 (p7) br.cond.dpnt .L54 231 ;; 232 .mfb 233 cmp4.ne p6, p7 = 11, r40 234 nop 0 235 (p7) br.cond.dpnt .L54 236 ;; 237 .mii 238 nop 0 239 cmp4.ne p6, p7 = 12, r40 240 ;; 241 (p7) adds r14 = -184, r44 242 ;; 243 .mfb 244 (p7) ldfs f8 = [r14] 245 nop 0 246 (p7) br.cond.dpnt .L49 247 .mii 248 nop 0 249 cmp4.ne p6, p7 = 13, r40 250 ;; 251 (p7) adds r14 = -184, r44 252 ;; 253 .mfb 254 (p7) ldfd f8 = [r14] 255 nop 0 256 (p7) br.cond.dpnt .L49 257 .mfb 258 cmp4.ne p6, p7 = 14, r40 259 nop 0 260 (p7) br.cond.dpnt .L54 261 ;; 262 .mib 263 nop 0 264 cmp4.ne p6, p7 = 15, r40 265 (p6) br.cond.dptk .L49 266 .mii 267 nop 0 268 adds r16 = -192, r44 269 ;; 270 nop 0 271 .mmi 272 ld4 r14 = [r16] 273 ;; 274 nop 0 275 tbit.z p6, p7 = r14, 10 276 .mfb 277 adds r14 = -144, r44 278 nop 0 279 (p6) br.cond.dpnt .L49 280 ;; 281 .mmi 282 ld8 r22 = [r14] 283 ;; 284 adds r14 = -1, r22 285 nop 0 286 ;; 287 .mib 288 nop 0 289 cmp.ltu p6, p7 = 31, r14 290 (p6) br.cond.dpnt .L49 291 .mmi 292 ld8 r14 = [r41] 293 ;; 294 and r21 = 7, r14 295 and r24 = -8, r14 296 .mii 297 nop 0 298 cmp.ltu p6, p7 = 8, r22 299 ;; 300 nop 0 301 .mfb 302 add r14 = r22, r21 303 nop 0 304 (p6) br.cond.dptk .L35 305 ;; 306 .mib 307 nop 0 308 cmp.ltu p6, p7 = 8, r14 309 (p6) br.cond.dptk .L37 310 .mfi 311 shladd r16 = r14, 3, r0 312 nop 0 313 addl r14 = 2, r0 314 .mii 315 ld8 r17 = [r24] 316 shladd r18 = r21, 3, r0 317 ;; 318 adds r16 = -1, r16 319 ;; 320 .mii 321 nop 0 322 sxt4 r16 = r16 323 ;; 324 shl r14 = r14, r16 325 ;; 326 .mmi 327 adds r14 = -1, r14 328 ;; 329 and r14 = r17, r14 330 nop 0 331 .mmi 332 nop 0 333 ;; 334 nop 0 335 shr r8 = r14, r18 336.L49: 337 .mii 338 nop 0 339 mov ar.pfs = r43 340 mov b0 = r42 341 .mib 342 nop 0 343 .label_state 1 344 .restore sp 345 mov r12 = r44 346 br.ret.sptk.many b0 347.L50: 348 .body 349 .copy_state 1 350 .mii 351 nop 0 352 adds r14 = -184, r44 353 ;; 354 nop 0 355 .mii 356 ld1 r14 = [r14] 357 nop 0 358 ;; 359 sxt1 r8 = r14 360 .mii 361 nop 0 362 mov ar.pfs = r43 363 mov b0 = r42 364 .mib 365 nop 0 366 .label_state 2 367 .restore sp 368 mov r12 = r44 369 br.ret.sptk.many b0 370.L54: 371 .body 372 .copy_state 2 373 .mmb 374 nop 0 375 adds r14 = -184, r44 376 nop 0 377 ;; 378 .mii 379 ld8 r8 = [r14] 380 mov ar.pfs = r43 381 mov b0 = r42 382 .mib 383 nop 0 384 .label_state 3 385 .restore sp 386 mov r12 = r44 387 br.ret.sptk.many b0 388.L35: 389 .body 390 .copy_state 3 391 .mib 392 nop 0 393 cmp.ltu p6, p7 = 16, r22 394 (p6) br.cond.dptk .L39 395 ;; 396 .mib 397 nop 0 398 cmp.ltu p6, p7 = 16, r14 399 (p6) br.cond.dptk .L41 400 .mmi 401 shladd r16 = r14, 3, r0 402 adds r14 = 8, r24 403 shladd r17 = r21, 2, r0 404 .mmb 405 shladd r19 = r21, 3, r0 406 ld8 r18 = [r24] 407 nop 0 408 ;; 409 .mfi 410 ld8 r20 = [r14] 411 nop 0 412 addl r14 = 2, r0 413 .mii 414 adds r16 = -65, r16 415 sub r17 = 32, r17 416 ;; 417 sxt4 r16 = r16 418 .mii 419 nop 0 420 sxt4 r17 = r17 421 shr r18 = r18, r19 422 ;; 423 .mii 424 nop 0 425 shl r14 = r14, r16 426 ;; 427 adds r14 = -1, r14 428 ;; 429 .mii 430 nop 0 431 and r14 = r20, r14 432 ;; 433 shl r16 = r14, r17 434 .mii 435 nop 0 436 shr r9 = r14, r19 437 ;; 438 shl r16 = r16, r17 439 ;; 440 .mii 441 or r8 = r16, r18 442 mov ar.pfs = r43 443 mov b0 = r42 444 .mib 445 nop 0 446 .label_state 4 447 .restore sp 448 mov r12 = r44 449 br.ret.sptk.many b0 450.L37: 451 .body 452 .copy_state 4 453 .mfi 454 shladd r16 = r14, 3, r0 455 nop 0 456 addl r14 = 2, r0 457 .mii 458 ld8 r18 = [r24], 8 459 shladd r19 = r21, 3, r0 460 ;; 461 adds r16 = -65, r16 462 .mii 463 ld8 r20 = [r24] 464 sub r17 = 64, r19 465 ;; 466 sxt4 r16 = r16 467 .mii 468 nop 0 469 sxt4 r17 = r17 470 ;; 471 shl r14 = r14, r16 472 .mii 473 nop 0 474 shr r18 = r18, r19 475 ;; 476 adds r14 = -1, r14 477 ;; 478 .mii 479 nop 0 480 and r14 = r20, r14 481 ;; 482 shl r14 = r14, r17 483 ;; 484 .mii 485 or r8 = r14, r18 486 mov ar.pfs = r43 487 mov b0 = r42 488 .mib 489 nop 0 490 .label_state 5 491 .restore sp 492 mov r12 = r44 493 br.ret.sptk.many b0 494.L39: 495 .body 496 .copy_state 5 497 .mib 498 nop 0 499 cmp.ltu p6, p7 = 24, r22 500 (p6) br.cond.dptk .L43 501 ;; 502 .mib 503 nop 0 504 cmp.ltu p6, p7 = 24, r14 505 (p6) br.cond.dptk .L45 506 .mmi 507 shladd r16 = r14, 3, r0 508 adds r14 = 8, r24 509 shladd r17 = r21, 2, r0 510 .mmb 511 shladd r20 = r21, 3, r0 512 ld8 r19 = [r24], 16 513 nop 0 514 ;; 515 .mmi 516 ld8 r18 = [r14] 517 addl r14 = 2, r0 518 adds r16 = -65, r16 519 .mmb 520 sub r17 = 32, r17 521 ld8 r21 = [r24] 522 nop 0 523 ;; 524 .mii 525 nop 0 526 sxt4 r16 = r16 527 sxt4 r17 = r17 528 .mii 529 nop 0 530 shr r19 = r19, r20 531 ;; 532 shl r14 = r14, r16 533 .mii 534 nop 0 535 shl r16 = r18, r17 536 shr r18 = r18, r20 537 ;; 538 .mii 539 nop 0 540 shl r16 = r16, r17 541 adds r14 = -1, r14 542 ;; 543 .mii 544 and r14 = r21, r14 545 or r8 = r16, r19 546 ;; 547 shl r16 = r14, r17 548 .mii 549 nop 0 550 shr r10 = r14, r20 551 ;; 552 shl r16 = r16, r17 553 ;; 554 .mii 555 or r9 = r16, r18 556 mov ar.pfs = r43 557 mov b0 = r42 558 .mib 559 nop 0 560 .label_state 6 561 .restore sp 562 mov r12 = r44 563 br.ret.sptk.many b0 564.L41: 565 .body 566 .copy_state 6 567 .mfi 568 shladd r17 = r14, 3, r0 569 nop 0 570 adds r14 = 8, r24 571 .mfi 572 ld8 r19 = [r24], 16 573 nop 0 574 shladd r16 = r21, 3, r0 575 ;; 576 .mmi 577 ld8 r18 = [r14] 578 addl r14 = 2, r0 579 adds r17 = -129, r17 580 .mmi 581 ld8 r21 = [r24] 582 mov r20 = r16 583 sub r16 = 64, r16 584 ;; 585 .mii 586 nop 0 587 sxt4 r17 = r17 588 sxt4 r16 = r16 589 ;; 590 .mii 591 nop 0 592 shl r14 = r14, r17 593 shr r19 = r19, r20 594 .mii 595 nop 0 596 shl r17 = r18, r16 597 shr r18 = r18, r20 598 ;; 599 .mmi 600 adds r14 = -1, r14 601 ;; 602 and r14 = r21, r14 603 or r8 = r17, r19 604 ;; 605 .mib 606 nop 0 607 shl r14 = r14, r16 608 nop 0 609 ;; 610 .mii 611 or r9 = r14, r18 612 mov ar.pfs = r43 613 mov b0 = r42 614 .mib 615 nop 0 616 .label_state 7 617 .restore sp 618 mov r12 = r44 619 br.ret.sptk.many b0 620.L45: 621 .body 622 .copy_state 7 623 .mmi 624 shladd r17 = r14, 3, r0 625 adds r14 = 24, r24 626 shladd r16 = r21, 3, r0 627 .mmi 628 adds r19 = 8, r24 629 ld8 r21 = [r24] 630 adds r20 = 16, r24 631 ;; 632 .mmi 633 ld8 r23 = [r14] 634 addl r14 = 2, r0 635 adds r17 = -129, r17 636 .mmi 637 mov r18 = r16 638 ld8 r19 = [r19] 639 sub r16 = 64, r16 640 ;; 641 .mib 642 nop 0 643 sxt4 r17 = r17 644 nop 0 645 .mii 646 ld8 r20 = [r20] 647 sxt4 r16 = r16 648 ;; 649 shl r14 = r14, r17 650 .mii 651 nop 0 652 shr r22 = r20, r18 653 shl r17 = r19, r16 654 .mii 655 nop 0 656 shr r21 = r21, r18 657 shr r19 = r19, r18 658 .mii 659 nop 0 660 shl r20 = r20, r16 661 ;; 662 nop 0 663 .mmi 664 adds r14 = -1, r14 665 ;; 666 and r14 = r23, r14 667 or r8 = r17, r21 668 .mii 669 nop 0 670 or r9 = r20, r19 671 ;; 672 shl r14 = r14, r16 673 ;; 674 .mii 675 or r10 = r14, r22 676 mov ar.pfs = r43 677 mov b0 = r42 678 .mib 679 nop 0 680 .label_state 8 681 .restore sp 682 mov r12 = r44 683 br.ret.sptk.many b0 684.L43: 685 .body 686 .copy_state 8 687 .mib 688 nop 0 689 cmp.ltu p6, p7 = 32, r14 690 (p6) br.cond.dptk .L47 691 .mmi 692 adds r16 = 24, r24 693 shladd r14 = r14, 3, r0 694 adds r18 = 8, r24 695 .mmi 696 shladd r17 = r21, 2, r0 697 adds r19 = 16, r24 698 shladd r21 = r21, 3, r0 699 ;; 700 .mmi 701 nop 0 702 ld8 r23 = [r16] 703 addl r16 = 2, r0 704 .mmi 705 adds r14 = -65, r14 706 ld8 r20 = [r18] 707 sub r17 = 32, r17 708 ;; 709 .mii 710 nop 0 711 sxt4 r14 = r14 712 sxt4 r17 = r17 713 .mmb 714 ld8 r22 = [r19] 715 ld8 r19 = [r24] 716 nop 0 717 ;; 718 .mii 719 nop 0 720 shl r16 = r16, r14 721 shl r14 = r20, r17 722 .mii 723 nop 0 724 shr r19 = r19, r21 725 shl r18 = r22, r17 726 ;; 727 .mii 728 nop 0 729 shl r14 = r14, r17 730 shr r20 = r20, r21 731 .mii 732 adds r16 = -1, r16 733 shl r18 = r18, r17 734 shr r22 = r22, r21 735 ;; 736 .mmi 737 nop 0 738 and r16 = r23, r16 739 or r8 = r14, r19 740 .mmi 741 or r9 = r18, r20 742 ;; 743 nop 0 744 shl r14 = r16, r17 745 .mii 746 nop 0 747 shr r11 = r16, r21 748 ;; 749 shl r14 = r14, r17 750 ;; 751 .mii 752 or r10 = r14, r22 753 mov ar.pfs = r43 754 mov b0 = r42 755 .mib 756 nop 0 757 .label_state 9 758 .restore sp 759 mov r12 = r44 760 br.ret.sptk.many b0 761.L47: 762 .body 763 .copy_state 9 764 .mmb 765 shladd r17 = r14, 3, r0 766 adds r14 = 32, r24 767 nop 0 768 .mmi 769 adds r19 = 8, r24 770 adds r20 = 16, r24 771 shladd r16 = r21, 3, r0 772 ;; 773 .mfi 774 ld8 r23 = [r14] 775 nop 0 776 adds r14 = 24, r24 777 .mmi 778 ld8 r21 = [r19] 779 adds r17 = -129, r17 780 mov r18 = r16 781 .mfi 782 ld8 r19 = [r20] 783 nop 0 784 sub r16 = 64, r16 785 ;; 786 .mmi 787 ld8 r20 = [r14] 788 addl r14 = 2, r0 789 sxt4 r17 = r17 790 .mii 791 nop 0 792 sxt4 r16 = r16 793 ;; 794 shl r22 = r21, r16 795 .mii 796 nop 0 797 shr r21 = r21, r18 798 shl r14 = r14, r17 799 .mii 800 ld8 r17 = [r24] 801 shr r24 = r20, r18 802 shl r20 = r20, r16 803 ;; 804 .mii 805 nop 0 806 shr r17 = r17, r18 807 shr r18 = r19, r18 808 .mii 809 adds r14 = -1, r14 810 shl r19 = r19, r16 811 ;; 812 and r14 = r23, r14 813 .mmi 814 nop 0 815 or r8 = r22, r17 816 or r10 = r20, r18 817 .mii 818 nop 0 819 or r9 = r19, r21 820 ;; 821 shl r14 = r14, r16 822 ;; 823 .mii 824 or r11 = r14, r24 825 mov ar.pfs = r43 826 mov b0 = r42 827 .mib 828 nop 0 829 .restore sp 830 mov r12 = r44 831 br.ret.sptk.many b0 832 .endp callback_receiver# 833 .align 16 834 .global callback_get_receiver# 835 .proc callback_get_receiver# 836callback_get_receiver: 837 .prologue 2, 2 838 .mfi 839 .vframe r2 840 mov r2 = r12 841 .body 842 nop 0 843 addl r8 = @ltoff(@fptr(callback_receiver#)), gp 844 ;; 845 .mib 846 ld8 r8 = [r8] 847 .restore sp 848 mov r12 = r2 849 br.ret.sptk.many b0 850 .endp callback_get_receiver# 851 .ident "GCC: (GNU) 4.0.1" 852#if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ 853 .section .note.GNU-stack,"",@progbits 854#endif 855