1#include "asm-mips.h" 2 .file 1 "avcall-mips64.c" 3 .text 4 .align 2 5 .align 3 6 .globl avcall_call 7 .set nomips16 8 .set nomicromips 9 .ent avcall_call 10 DECLARE_FUNCTION(avcall_call) 11avcall_call: 12 .frame $fp,32,$31 13 .mask 0xd0010000,-8 14 .fmask 0x00000000,0 15 ld $2,40($4) 16 ld $12,48($4) 17 lw $3,68($4) 18 daddiu $sp,$sp,-32 19 dsubu $6,$2,$12 20 dsra $6,$6,3 21 sd $fp,16($sp) 22 sd $16,0($sp) 23 sd $31,24($sp) 24 move $fp,$sp 25 daddiu $sp,$sp,-2064 26 move $16,$4 27 sll $6,$6,0 28 .set noreorder 29 .set nomacro 30 beq $3,$0,.L2 31 move $2,$sp 32 .set macro 33 .set reorder 34 35 andi $4,$3,0x1 36 .set noreorder 37 .set nomacro 38 beq $4,$0,.L123 39 andi $4,$3,0x2 40 .set macro 41 .set reorder 42 43 44 45 lwc1 $f12,76($16) 46 47 48 andi $4,$3,0x2 49.L123: 50 .set noreorder 51 .set nomacro 52 beq $4,$0,.L124 53 andi $4,$3,0x4 54 .set macro 55 .set reorder 56 57 58 59 lwc1 $f13,80($16) 60 61 62 andi $4,$3,0x4 63.L124: 64 .set noreorder 65 .set nomacro 66 beq $4,$0,.L125 67 andi $4,$3,0x8 68 .set macro 69 .set reorder 70 71 72 73 lwc1 $f14,84($16) 74 75 76 andi $4,$3,0x8 77.L125: 78 .set noreorder 79 .set nomacro 80 beq $4,$0,.L126 81 andi $4,$3,0x10 82 .set macro 83 .set reorder 84 85 86 87 lwc1 $f15,88($16) 88 89 90 andi $4,$3,0x10 91.L126: 92 .set noreorder 93 .set nomacro 94 beq $4,$0,.L127 95 andi $4,$3,0x20 96 .set macro 97 .set reorder 98 99 100 101 lwc1 $f16,92($16) 102 103 104 andi $4,$3,0x20 105.L127: 106 .set noreorder 107 .set nomacro 108 beq $4,$0,.L128 109 andi $4,$3,0x40 110 .set macro 111 .set reorder 112 113 114 115 lwc1 $f17,96($16) 116 117 118 andi $4,$3,0x40 119.L128: 120 .set noreorder 121 .set nomacro 122 beql $4,$0,.L129 123 andi $3,$3,0x80 124 .set macro 125 .set reorder 126 127 128 129 lwc1 $f18,100($16) 130 131 132 andi $3,$3,0x80 133.L129: 134 bne $3,$0,.L116 135.L2: 136 lw $3,72($16) 137.L122: 138 .set noreorder 139 .set nomacro 140 beql $3,$0,.L121 141 slt $3,$6,9 142 .set macro 143 .set reorder 144 145 andi $4,$3,0x1 146 .set noreorder 147 .set nomacro 148 beq $4,$0,.L130 149 andi $4,$3,0x2 150 .set macro 151 .set reorder 152 153 154 155 ldc1 $f12,0($12) 156 157 158 andi $4,$3,0x2 159.L130: 160 .set noreorder 161 .set nomacro 162 beq $4,$0,.L131 163 andi $4,$3,0x4 164 .set macro 165 .set reorder 166 167 168 169 ldc1 $f13,8($12) 170 171 172 andi $4,$3,0x4 173.L131: 174 .set noreorder 175 .set nomacro 176 beq $4,$0,.L132 177 andi $4,$3,0x8 178 .set macro 179 .set reorder 180 181 182 183 ldc1 $f14,16($12) 184 185 186 andi $4,$3,0x8 187.L132: 188 .set noreorder 189 .set nomacro 190 beq $4,$0,.L133 191 andi $4,$3,0x10 192 .set macro 193 .set reorder 194 195 196 197 ldc1 $f15,24($12) 198 199 200 andi $4,$3,0x10 201.L133: 202 .set noreorder 203 .set nomacro 204 beq $4,$0,.L134 205 andi $4,$3,0x20 206 .set macro 207 .set reorder 208 209 210 211 ldc1 $f16,32($12) 212 213 214 andi $4,$3,0x20 215.L134: 216 .set noreorder 217 .set nomacro 218 beq $4,$0,.L135 219 andi $4,$3,0x40 220 .set macro 221 .set reorder 222 223 224 225 ldc1 $f17,40($12) 226 227 228 andi $4,$3,0x40 229.L135: 230 .set noreorder 231 .set nomacro 232 beql $4,$0,.L136 233 andi $3,$3,0x80 234 .set macro 235 .set reorder 236 237 238 239 ldc1 $f18,48($12) 240 241 242 andi $3,$3,0x80 243.L136: 244 bne $3,$0,.L117 245 slt $3,$6,9 246.L121: 247 .set noreorder 248 .set nomacro 249 bne $3,$0,.L22 250 daddiu $4,$12,64 251 .set macro 252 .set reorder 253 254 li $3,8 255 .align 3 256.L21: 257 ld $5,0($4) 258 addiu $3,$3,1 259 daddiu $4,$4,8 260 sd $5,0($2) 261 .set noreorder 262 .set nomacro 263 bne $6,$3,.L21 264 daddiu $2,$2,8 265 .set macro 266 .set reorder 267 268.L22: 269 270 271 ld $4,0($12) 272 273 274 ld $5,8($12) 275 276 277 ld $6,16($12) 278 279 280 ld $7,24($12) 281 282 283 ld $8,32($12) 284 285 286 ld $9,40($12) 287 288 289 ld $10,48($12) 290 291 292 ld $11,56($12) 293 294 295 ld $25,8($16) 296 jalr $25 297 lw $4,24($16) 298 li $5,1 299 .set noreorder 300 .set nomacro 301 beq $4,$5,.L19 302 li $5,2 303 .set macro 304 .set reorder 305 306 .set noreorder 307 .set nomacro 308 beq $4,$5,.L106 309 li $5,3 310 .set macro 311 .set reorder 312 313 .set noreorder 314 .set nomacro 315 beq $4,$5,.L106 316 li $5,4 317 .set macro 318 .set reorder 319 320 .set noreorder 321 .set nomacro 322 beq $4,$5,.L106 323 li $5,5 324 .set macro 325 .set reorder 326 327 .set noreorder 328 .set nomacro 329 beq $4,$5,.L108 330 li $5,6 331 .set macro 332 .set reorder 333 334 .set noreorder 335 .set nomacro 336 beq $4,$5,.L108 337 li $5,7 338 .set macro 339 .set reorder 340 341 .set noreorder 342 .set nomacro 343 beq $4,$5,.L111 344 li $5,8 345 .set macro 346 .set reorder 347 348 .set noreorder 349 .set nomacro 350 beq $4,$5,.L111 351 li $5,9 352 .set macro 353 .set reorder 354 355 .set noreorder 356 .set nomacro 357 beq $4,$5,.L109 358 li $5,10 359 .set macro 360 .set reorder 361 362 .set noreorder 363 .set nomacro 364 beq $4,$5,.L109 365 li $5,11 366 .set macro 367 .set reorder 368 369 .set noreorder 370 .set nomacro 371 beq $4,$5,.L109 372 li $5,12 373 .set macro 374 .set reorder 375 376 .set noreorder 377 .set nomacro 378 beq $4,$5,.L109 379 li $5,13 380 .set macro 381 .set reorder 382 383 .set noreorder 384 .set nomacro 385 beq $4,$5,.L118 386 li $5,14 387 .set macro 388 .set reorder 389 390 .set noreorder 391 .set nomacro 392 beq $4,$5,.L119 393 li $5,15 394 .set macro 395 .set reorder 396 397 .set noreorder 398 .set nomacro 399 beq $4,$5,.L109 400 li $5,16 401 .set macro 402 .set reorder 403 404 .set noreorder 405 .set nomacro 406 bnel $4,$5,.L137 407 move $sp,$fp 408 .set macro 409 .set reorder 410 411 lw $4,0($16) 412 andi $5,$4,0x200 413 .set noreorder 414 .set nomacro 415 beq $5,$0,.L19 416 andi $4,$4,0x4 417 .set macro 418 .set reorder 419 420 .set noreorder 421 .set nomacro 422 beql $4,$0,.L37 423 ld $5,32($16) 424 .set macro 425 .set reorder 426 427 ld $3,32($16) 428 li $4,1 429 .set noreorder 430 .set nomacro 431 beq $3,$4,.L106 432 li $4,2 433 .set macro 434 .set reorder 435 436 .set noreorder 437 .set nomacro 438 beq $3,$4,.L108 439 li $4,4 440 .set macro 441 .set reorder 442 443 .set noreorder 444 .set nomacro 445 beq $3,$4,.L111 446 li $4,8 447 .set macro 448 .set reorder 449 450 .set noreorder 451 .set nomacro 452 beql $3,$4,.L138 453 ld $3,16($16) 454 .set macro 455 .set reorder 456 457.L19: 458 move $sp,$fp 459.L137: 460 ld $31,24($sp) 461 ld $fp,16($sp) 462 ld $16,0($sp) 463 move $2,$0 464 .set noreorder 465 .set nomacro 466 j $31 467 daddiu $sp,$sp,32 468 .set macro 469 .set reorder 470 471 .align 3 472.L117: 473 474 475 ldc1 $f19,56($12) 476 477 478 .set noreorder 479 .set nomacro 480 b .L121 481 slt $3,$6,9 482 .set macro 483 .set reorder 484 485 .align 3 486.L116: 487 488 489 lwc1 $f19,104($16) 490 491 492 .set noreorder 493 .set nomacro 494 b .L122 495 lw $3,72($16) 496 .set macro 497 .set reorder 498 499 .align 3 500.L106: 501 ld $3,16($16) 502 sb $2,0($3) 503 move $sp,$fp 504 ld $31,24($sp) 505 ld $fp,16($sp) 506 ld $16,0($sp) 507 move $2,$0 508 .set noreorder 509 .set nomacro 510 j $31 511 daddiu $sp,$sp,32 512 .set macro 513 .set reorder 514 515.L111: 516 ld $3,16($16) 517 .set noreorder 518 .set nomacro 519 b .L19 520 sw $2,0($3) 521 .set macro 522 .set reorder 523 524 .align 3 525.L108: 526 ld $3,16($16) 527 sh $2,0($3) 528 move $sp,$fp 529 ld $31,24($sp) 530 ld $fp,16($sp) 531 ld $16,0($sp) 532 move $2,$0 533 .set noreorder 534 .set nomacro 535 j $31 536 daddiu $sp,$sp,32 537 .set macro 538 .set reorder 539 540 .align 3 541.L109: 542 ld $3,16($16) 543 .align 3 544.L138: 545 sd $2,0($3) 546 move $sp,$fp 547 ld $31,24($sp) 548 ld $fp,16($sp) 549 ld $16,0($sp) 550 move $2,$0 551 .set noreorder 552 .set nomacro 553 j $31 554 daddiu $sp,$sp,32 555 .set macro 556 .set reorder 557 558.L119: 559 ld $2,16($16) 560 .set noreorder 561 .set nomacro 562 b .L19 563 sdc1 $f0,0($2) 564 .set macro 565 .set reorder 566 567.L118: 568 ld $2,16($16) 569 .set noreorder 570 .set nomacro 571 b .L19 572 swc1 $f0,0($2) 573 .set macro 574 .set reorder 575 576.L37: 577 daddiu $4,$5,-1 578 sltu $4,$4,16 579 .set noreorder 580 .set nomacro 581 beq $4,$0,.L19 582 sltu $7,$5,9 583 .set macro 584 .set reorder 585 586 ld $6,16($16) 587 li $8,-8 588 andi $4,$6,0x7 589 daddu $5,$5,$4 590 .set noreorder 591 .set nomacro 592 beq $7,$0,.L41 593 and $6,$6,$8 594 .set macro 595 .set reorder 596 597 sltu $3,$5,9 598 .set noreorder 599 .set nomacro 600 beq $3,$0,.L42 601 dsll $3,$5,3 602 .set macro 603 .set reorder 604 605 daddiu $3,$3,-1 606 ld $7,0($6) 607 li $5,2 608 sll $3,$3,0 609 sll $4,$4,3 610 dsll $3,$5,$3 611 li $5,1 612 dsll $5,$5,$4 613 dsll $4,$2,$4 614 dsubu $3,$3,$5 615 xor $4,$4,$7 616 and $4,$3,$4 617 xor $4,$4,$7 618 .set noreorder 619 .set nomacro 620 b .L19 621 sd $4,0($6) 622 .set macro 623 .set reorder 624 625.L41: 626 ld $10,0($6) 627 sll $8,$4,3 628 dsll $7,$2,$8 629 li $9,-1 630 dsll $9,$9,$8 631 xor $7,$7,$10 632 and $7,$9,$7 633 xor $7,$7,$10 634 sltu $9,$5,17 635 subu $4,$0,$4 636 .set noreorder 637 .set nomacro 638 bne $9,$0,.L120 639 sd $7,0($6) 640 .set macro 641 .set reorder 642 643 dsll $5,$5,3 644 ld $10,16($6) 645 sll $4,$4,3 646 daddiu $5,$5,-129 647 addiu $4,$4,64 648 sll $5,$5,0 649 li $7,2 650 move $9,$3 651 dsll $5,$7,$5 652 dsra $3,$3,$4 653 daddiu $5,$5,-1 654 xor $3,$3,$10 655 dsra $2,$2,$4 656 dsll $8,$9,$8 657 and $3,$5,$3 658 or $2,$2,$8 659 xor $3,$3,$10 660 sd $2,8($6) 661 .set noreorder 662 .set nomacro 663 b .L19 664 sd $3,16($6) 665 .set macro 666 .set reorder 667 668.L42: 669 ld $10,0($6) 670 ld $9,8($6) 671 subu $7,$0,$4 672 daddiu $3,$3,-65 673 sll $4,$4,3 674 li $5,2 675 sll $3,$3,0 676 sll $7,$7,3 677 dsll $8,$2,$4 678 dsll $3,$5,$3 679 dsra $2,$2,$7 680 li $5,-1 681 dsll $4,$5,$4 682 daddiu $3,$3,-1 683 xor $5,$8,$10 684 xor $2,$2,$9 685 and $2,$3,$2 686 and $4,$4,$5 687 xor $3,$4,$10 688 xor $2,$2,$9 689 sd $3,0($6) 690 .set noreorder 691 .set nomacro 692 b .L19 693 sd $2,8($6) 694 .set macro 695 .set reorder 696 697.L120: 698 sll $4,$4,2 699 addiu $4,$4,32 700 dsll $5,$5,3 701 ld $7,8($6) 702 dsra $2,$2,$4 703 daddiu $5,$5,-65 704 dsra $4,$2,$4 705 dsll $3,$3,$8 706 sll $5,$5,0 707 li $2,2 708 or $3,$4,$3 709 dsll $2,$2,$5 710 xor $3,$3,$7 711 daddiu $2,$2,-1 712 and $2,$3,$2 713 xor $2,$2,$7 714 .set noreorder 715 .set nomacro 716 b .L19 717 sd $2,8($6) 718 .set macro 719 .set reorder 720 721 .end avcall_call 722 .size avcall_call, .-avcall_call 723