Changeset 42699 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 8, 2012 11:38:11 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 79903
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r42660 r42699 86 86 %macro PROLOGUE_1_ARGS 0 87 87 %endmacro 88 %macro EPILOGUE_1_ARGS 188 %macro EPILOGUE_1_ARGS 0 89 89 ret 90 90 %endmacro 91 %macro EPILOGUE_1_ARGS_EX 0 92 ret 93 %endmacro 91 94 92 95 %macro PROLOGUE_2_ARGS 0 93 96 %endmacro 94 %macro EPILOGUE_2_ARGS 197 %macro EPILOGUE_2_ARGS 0 95 98 ret 96 99 %endmacro 100 %macro EPILOGUE_2_ARGS_EX 1 101 ret 102 %endmacro 97 103 98 104 %macro PROLOGUE_3_ARGS 0 99 105 %endmacro 100 %macro EPILOGUE_3_ARGS 1106 %macro EPILOGUE_3_ARGS 0 101 107 ret 102 108 %endmacro 109 %macro EPILOGUE_3_ARGS_EX 1 110 ret 111 %endmacro 103 112 104 113 %macro PROLOGUE_4_ARGS 0 105 114 %endmacro 106 %macro EPILOGUE_4_ARGS 1 115 %macro EPILOGUE_4_ARGS 0 116 ret 117 %endmacro 118 %macro EPILOGUE_4_ARGS_EX 1 107 119 ret 108 120 %endmacro … … 165 177 push edi 166 178 %endmacro 167 %macro EPILOGUE_1_ARGS 1 179 %macro EPILOGUE_1_ARGS 0 180 pop edi 181 ret 0 182 %endmacro 183 %macro EPILOGUE_1_ARGS_EX 1 168 184 pop edi 169 185 ret %1 … … 173 189 push edi 174 190 %endmacro 175 %macro EPILOGUE_2_ARGS 1 191 %macro EPILOGUE_2_ARGS 0 192 pop edi 193 ret 0 194 %endmacro 195 %macro EPILOGUE_2_ARGS_EX 1 176 196 pop edi 177 197 ret %1 … … 183 203 push edi 184 204 %endmacro 185 %macro EPILOGUE_3_ARGS 1 205 %macro EPILOGUE_3_ARGS_EX 1 206 %if (%1) < 4 207 %error "With three args, at least 4 bytes must be remove from the stack upon return (32-bit)." 208 %endif 186 209 pop edi 187 210 pop ebx 188 211 ret %1 212 %endmacro 213 %macro EPILOGUE_3_ARGS 0 214 EPILOGUE_3_ARGS_EX 4 189 215 %endmacro 190 216 … … 196 222 mov esi, [esp + 12 + 4 + 4] 197 223 %endmacro 198 %macro EPILOGUE_4_ARGS 1 224 %macro EPILOGUE_4_ARGS_EX 1 225 %if (%1) < 8 226 %error "With four args, at least 8 bytes must be remove from the stack upon return (32-bit)." 227 %endif 199 228 pop esi 200 229 pop edi 201 230 pop ebx 202 231 ret %1 232 %endmacro 233 %macro EPILOGUE_4_ARGS 0 234 EPILOGUE_4_ARGS_EX 8 203 235 %endmacro 204 236 … … 296 328 %1 byte [A0], A1_8 297 329 IEM_SAVE_FLAGS A2, %3, %4 298 EPILOGUE_3_ARGS 4330 EPILOGUE_3_ARGS 299 331 ENDPROC iemAImpl_ %+ %1 %+ _u8 300 332 … … 304 336 %1 word [A0], A1_16 305 337 IEM_SAVE_FLAGS A2, %3, %4 306 EPILOGUE_3_ARGS 4338 EPILOGUE_3_ARGS 307 339 ENDPROC iemAImpl_ %+ %1 %+ _u16 308 340 … … 312 344 %1 dword [A0], A1_32 313 345 IEM_SAVE_FLAGS A2, %3, %4 314 EPILOGUE_3_ARGS 4346 EPILOGUE_3_ARGS 315 347 ENDPROC iemAImpl_ %+ %1 %+ _u32 316 348 … … 321 353 %1 qword [A0], A1 322 354 IEM_SAVE_FLAGS A2, %3, %4 323 EPILOGUE_3_ARGS 8355 EPILOGUE_3_ARGS_EX 8 324 356 ENDPROC iemAImpl_ %+ %1 %+ _u64 325 357 %else ; stub it for now - later, replace with hand coded stuff. … … 337 369 lock %1 byte [A0], A1_8 338 370 IEM_SAVE_FLAGS A2, %3, %4 339 EPILOGUE_3_ARGS 4371 EPILOGUE_3_ARGS 340 372 ENDPROC iemAImpl_ %+ %1 %+ _u8_locked 341 373 … … 345 377 lock %1 word [A0], A1_16 346 378 IEM_SAVE_FLAGS A2, %3, %4 347 EPILOGUE_3_ARGS 4379 EPILOGUE_3_ARGS 348 380 ENDPROC iemAImpl_ %+ %1 %+ _u16_locked 349 381 … … 353 385 lock %1 dword [A0], A1_32 354 386 IEM_SAVE_FLAGS A2, %3, %4 355 EPILOGUE_3_ARGS 4387 EPILOGUE_3_ARGS 356 388 ENDPROC iemAImpl_ %+ %1 %+ _u32_locked 357 389 … … 362 394 lock %1 qword [A0], A1 363 395 IEM_SAVE_FLAGS A2, %3, %4 364 EPILOGUE_3_ARGS 8396 EPILOGUE_3_ARGS_EX 8 365 397 ENDPROC iemAImpl_ %+ %1 %+ _u64_locked 366 398 %else ; stub it for now - later, replace with hand coded stuff. … … 407 439 %1 word [A0], A1_16 408 440 IEM_SAVE_FLAGS A2, %3, %4 409 EPILOGUE_3_ARGS 4441 EPILOGUE_3_ARGS 410 442 ENDPROC iemAImpl_ %+ %1 %+ _u16 411 443 … … 415 447 %1 dword [A0], A1_32 416 448 IEM_SAVE_FLAGS A2, %3, %4 417 EPILOGUE_3_ARGS 4449 EPILOGUE_3_ARGS 418 450 ENDPROC iemAImpl_ %+ %1 %+ _u32 419 451 … … 424 456 %1 qword [A0], A1 425 457 IEM_SAVE_FLAGS A2, %3, %4 426 EPILOGUE_3_ARGS 8458 EPILOGUE_3_ARGS_EX 8 427 459 ENDPROC iemAImpl_ %+ %1 %+ _u64 428 460 %else ; stub it for now - later, replace with hand coded stuff. … … 440 472 lock %1 word [A0], A1_16 441 473 IEM_SAVE_FLAGS A2, %3, %4 442 EPILOGUE_3_ARGS 4474 EPILOGUE_3_ARGS 443 475 ENDPROC iemAImpl_ %+ %1 %+ _u16_locked 444 476 … … 448 480 lock %1 dword [A0], A1_32 449 481 IEM_SAVE_FLAGS A2, %3, %4 450 EPILOGUE_3_ARGS 4482 EPILOGUE_3_ARGS 451 483 ENDPROC iemAImpl_ %+ %1 %+ _u32_locked 452 484 … … 457 489 lock %1 qword [A0], A1 458 490 IEM_SAVE_FLAGS A2, %3, %4 459 EPILOGUE_3_ARGS 8491 EPILOGUE_3_ARGS_EX 8 460 492 ENDPROC iemAImpl_ %+ %1 %+ _u64_locked 461 493 %else ; stub it for now - later, replace with hand coded stuff. … … 493 525 mov [A0], T0_16 494 526 IEM_SAVE_FLAGS A2, %2, %3 495 EPILOGUE_3_ARGS 4527 EPILOGUE_3_ARGS 496 528 ENDPROC iemAImpl_ %+ %1 %+ _u16 497 529 … … 502 534 mov [A0], T0_32 503 535 IEM_SAVE_FLAGS A2, %2, %3 504 EPILOGUE_3_ARGS 4536 EPILOGUE_3_ARGS 505 537 ENDPROC iemAImpl_ %+ %1 %+ _u32 506 538 … … 512 544 mov [A0], T0 513 545 IEM_SAVE_FLAGS A2, %2, %3 514 EPILOGUE_3_ARGS 8546 EPILOGUE_3_ARGS_EX 8 515 547 ENDPROC iemAImpl_ %+ %1 %+ _u64 516 548 %else ; stub it for now - later, replace with hand coded stuff. … … 536 568 mov [A0], A1_16 537 569 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_CF), (X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF) 538 EPILOGUE_3_ARGS 4570 EPILOGUE_3_ARGS 539 571 ENDPROC iemAImpl_imul_two_u16 540 572 … … 545 577 mov [A0], A1_32 546 578 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_CF), (X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF) 547 EPILOGUE_3_ARGS 4579 EPILOGUE_3_ARGS 548 580 ENDPROC iemAImpl_imul_two_u32 549 581 … … 558 590 int3 ;; @todo implement me 559 591 %endif 560 EPILOGUE_3_ARGS 8592 EPILOGUE_3_ARGS_EX 8 561 593 ENDPROC iemAImpl_imul_two_u64 562 594 … … 574 606 xchg [A0], T0_8 575 607 mov [A1], T0_8 576 EPILOGUE_2_ARGS 0608 EPILOGUE_2_ARGS 577 609 ENDPROC iemAImpl_xchg_u8 578 610 … … 582 614 xchg [A0], T0_16 583 615 mov [A1], T0_16 584 EPILOGUE_2_ARGS 0616 EPILOGUE_2_ARGS 585 617 ENDPROC iemAImpl_xchg_u16 586 618 … … 590 622 xchg [A0], T0_32 591 623 mov [A1], T0_32 592 EPILOGUE_2_ARGS 0624 EPILOGUE_2_ARGS 593 625 ENDPROC iemAImpl_xchg_u32 594 626 … … 599 631 xchg [A0], T0 600 632 mov [A1], T0 601 EPILOGUE_2_ARGS 0633 EPILOGUE_2_ARGS 602 634 %else 603 635 int3 … … 622 654 mov [A1], T0_8 623 655 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 624 EPILOGUE_3_ARGS 4656 EPILOGUE_3_ARGS 625 657 ENDPROC iemAImpl_xadd_u8 626 658 … … 632 664 mov [A1], T0_16 633 665 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 634 EPILOGUE_3_ARGS 4666 EPILOGUE_3_ARGS 635 667 ENDPROC iemAImpl_xadd_u16 636 668 … … 642 674 mov [A1], T0_32 643 675 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 644 EPILOGUE_3_ARGS 4676 EPILOGUE_3_ARGS 645 677 ENDPROC iemAImpl_xadd_u32 646 678 … … 653 685 mov [A1], T0 654 686 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 655 EPILOGUE_3_ARGS 4687 EPILOGUE_3_ARGS 656 688 %else 657 689 int3 … … 667 699 mov [A1], T0_8 668 700 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 669 EPILOGUE_3_ARGS 4701 EPILOGUE_3_ARGS 670 702 ENDPROC iemAImpl_xadd_u8_locked 671 703 … … 677 709 mov [A1], T0_16 678 710 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 679 EPILOGUE_3_ARGS 4711 EPILOGUE_3_ARGS 680 712 ENDPROC iemAImpl_xadd_u16_locked 681 713 … … 687 719 mov [A1], T0_32 688 720 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 689 EPILOGUE_3_ARGS 4721 EPILOGUE_3_ARGS 690 722 ENDPROC iemAImpl_xadd_u32_locked 691 723 … … 698 730 mov [A1], T0 699 731 IEM_SAVE_FLAGS A2, (X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF | X86_EFL_CF), 0 700 EPILOGUE_3_ARGS 4732 EPILOGUE_3_ARGS 701 733 %else 702 734 int3 … … 818 850 mov [A1], al 819 851 IEM_SAVE_FLAGS A3, (X86_EFL_ZF | X86_EFL_CF | X86_EFL_PF | X86_EFL_AF | X86_EFL_SF | X86_EFL_OF), 0 ; clobbers T0+T1 (eax, r11/edi) 820 EPILOGUE_4_ARGS 0852 EPILOGUE_4_ARGS 821 853 ENDPROC iemAImpl_cmpxchg_u8 %+ %2 822 854 … … 828 860 mov [A1], ax 829 861 IEM_SAVE_FLAGS A3, (X86_EFL_ZF | X86_EFL_CF | X86_EFL_PF | X86_EFL_AF | X86_EFL_SF | X86_EFL_OF), 0 ; clobbers T0+T1 (eax, r11/edi) 830 EPILOGUE_4_ARGS 0862 EPILOGUE_4_ARGS 831 863 ENDPROC iemAImpl_cmpxchg_u16 %+ %2 832 864 … … 838 870 mov [A1], eax 839 871 IEM_SAVE_FLAGS A3, (X86_EFL_ZF | X86_EFL_CF | X86_EFL_PF | X86_EFL_AF | X86_EFL_SF | X86_EFL_OF), 0 ; clobbers T0+T1 (eax, r11/edi) 840 EPILOGUE_4_ARGS 0872 EPILOGUE_4_ARGS 841 873 ENDPROC iemAImpl_cmpxchg_u32 %+ %2 842 874 … … 849 881 mov [A1], ax 850 882 IEM_SAVE_FLAGS A3, (X86_EFL_ZF | X86_EFL_CF | X86_EFL_PF | X86_EFL_AF | X86_EFL_SF | X86_EFL_OF), 0 ; clobbers T0+T1 (eax, r11/edi) 851 EPILOGUE_4_ARGS 0883 EPILOGUE_4_ARGS 852 884 %else 853 885 ; … … 920 952 %1 byte [A0] 921 953 IEM_SAVE_FLAGS A1, %2, %3 922 EPILOGUE_2_ARGS 0954 EPILOGUE_2_ARGS 923 955 ENDPROC iemAImpl_ %+ %1 %+ _u8 924 956 … … 928 960 lock %1 byte [A0] 929 961 IEM_SAVE_FLAGS A1, %2, %3 930 EPILOGUE_2_ARGS 0962 EPILOGUE_2_ARGS 931 963 ENDPROC iemAImpl_ %+ %1 %+ _u8_locked 932 964 … … 936 968 %1 word [A0] 937 969 IEM_SAVE_FLAGS A1, %2, %3 938 EPILOGUE_2_ARGS 0970 EPILOGUE_2_ARGS 939 971 ENDPROC iemAImpl_ %+ %1 %+ _u16 940 972 … … 944 976 lock %1 word [A0] 945 977 IEM_SAVE_FLAGS A1, %2, %3 946 EPILOGUE_2_ARGS 0978 EPILOGUE_2_ARGS 947 979 ENDPROC iemAImpl_ %+ %1 %+ _u16_locked 948 980 … … 952 984 %1 dword [A0] 953 985 IEM_SAVE_FLAGS A1, %2, %3 954 EPILOGUE_2_ARGS 0986 EPILOGUE_2_ARGS 955 987 ENDPROC iemAImpl_ %+ %1 %+ _u32 956 988 … … 960 992 lock %1 dword [A0] 961 993 IEM_SAVE_FLAGS A1, %2, %3 962 EPILOGUE_2_ARGS 0994 EPILOGUE_2_ARGS 963 995 ENDPROC iemAImpl_ %+ %1 %+ _u32_locked 964 996 … … 969 1001 %1 qword [A0] 970 1002 IEM_SAVE_FLAGS A1, %2, %3 971 EPILOGUE_2_ARGS 01003 EPILOGUE_2_ARGS 972 1004 ENDPROC iemAImpl_ %+ %1 %+ _u64 973 1005 … … 977 1009 lock %1 qword [A0] 978 1010 IEM_SAVE_FLAGS A1, %2, %3 979 EPILOGUE_2_ARGS 01011 EPILOGUE_2_ARGS 980 1012 ENDPROC iemAImpl_ %+ %1 %+ _u64_locked 981 1013 %else … … 1028 1060 %endif 1029 1061 IEM_SAVE_FLAGS A2, %2, %3 1030 EPILOGUE_3_ARGS 41062 EPILOGUE_3_ARGS 1031 1063 ENDPROC iemAImpl_ %+ %1 %+ _u8 1032 1064 … … 1042 1074 %endif 1043 1075 IEM_SAVE_FLAGS A2, %2, %3 1044 EPILOGUE_3_ARGS 41076 EPILOGUE_3_ARGS 1045 1077 ENDPROC iemAImpl_ %+ %1 %+ _u16 1046 1078 … … 1056 1088 %endif 1057 1089 IEM_SAVE_FLAGS A2, %2, %3 1058 EPILOGUE_3_ARGS 41090 EPILOGUE_3_ARGS 1059 1091 ENDPROC iemAImpl_ %+ %1 %+ _u32 1060 1092 … … 1071 1103 %endif 1072 1104 IEM_SAVE_FLAGS A2, %2, %3 1073 EPILOGUE_3_ARGS 41105 EPILOGUE_3_ARGS 1074 1106 ENDPROC iemAImpl_ %+ %1 %+ _u64 1075 1107 %else ; stub it for now - later, replace with hand coded stuff. … … 1120 1152 %endif 1121 1153 IEM_SAVE_FLAGS A3, %2, %3 1122 EPILOGUE_4_ARGS 81154 EPILOGUE_4_ARGS 1123 1155 ENDPROC iemAImpl_ %+ %1 %+ _u16 1124 1156 … … 1135 1167 %endif 1136 1168 IEM_SAVE_FLAGS A3, %2, %3 1137 EPILOGUE_4_ARGS 81169 EPILOGUE_4_ARGS 1138 1170 ENDPROC iemAImpl_ %+ %1 %+ _u32 1139 1171 … … 1151 1183 %endif 1152 1184 IEM_SAVE_FLAGS A3, %2, %3 1153 EPILOGUE_4_ARGS 121185 EPILOGUE_4_ARGS_EX 12 1154 1186 ENDPROC iemAImpl_ %+ %1 %+ _u64 1155 1187 %else ; stub it for now - later, replace with hand coded stuff. … … 1195 1227 IEM_SAVE_FLAGS A2, %2, %3 1196 1228 xor eax, eax 1197 EPILOGUE_3_ARGS 41229 EPILOGUE_3_ARGS 1198 1230 ENDPROC iemAImpl_ %+ %1 %+ _u8 1199 1231 … … 1214 1246 IEM_SAVE_FLAGS A3, %2, %3 1215 1247 xor eax, eax 1216 EPILOGUE_4_ARGS 81248 EPILOGUE_4_ARGS 1217 1249 ENDPROC iemAImpl_ %+ %1 %+ _u16 1218 1250 … … 1233 1265 IEM_SAVE_FLAGS A3, %2, %3 1234 1266 xor eax, eax 1235 EPILOGUE_4_ARGS 81267 EPILOGUE_4_ARGS 1236 1268 ENDPROC iemAImpl_ %+ %1 %+ _u32 1237 1269 … … 1253 1285 IEM_SAVE_FLAGS A3, %2, %3 1254 1286 xor eax, eax 1255 EPILOGUE_4_ARGS 121287 EPILOGUE_4_ARGS_EX 12 1256 1288 ENDPROC iemAImpl_ %+ %1 %+ _u64 1257 1289 %else ; stub it for now - later, replace with hand coded stuff. … … 1304 1336 1305 1337 .return: 1306 EPILOGUE_3_ARGS 41338 EPILOGUE_3_ARGS 1307 1339 1308 1340 .div_zero: … … 1338 1370 1339 1371 .return: 1340 EPILOGUE_4_ARGS 81372 EPILOGUE_4_ARGS 1341 1373 1342 1374 .div_zero: … … 1373 1405 1374 1406 .return: 1375 EPILOGUE_4_ARGS 81407 EPILOGUE_4_ARGS 1376 1408 1377 1409 .div_zero: … … 1409 1441 1410 1442 .return: 1411 EPILOGUE_4_ARGS 121443 EPILOGUE_4_ARGS_EX 12 1412 1444 1413 1445 .div_zero: … … 1440 1472 bswap T0_32 1441 1473 mov [A0], T0_32 1442 EPILOGUE_1_ARGS 01474 EPILOGUE_1_ARGS 1443 1475 ENDPROC iemAImpl_bswap_u16 1444 1476 … … 1448 1480 bswap T0_32 1449 1481 mov [A0], T0_32 1450 EPILOGUE_1_ARGS 01482 EPILOGUE_1_ARGS 1451 1483 ENDPROC iemAImpl_bswap_u32 1452 1484 … … 1457 1489 bswap T0 1458 1490 mov [A0], T0 1459 EPILOGUE_1_ARGS 01491 EPILOGUE_1_ARGS 1460 1492 %else 1461 1493 PROLOGUE_1_ARGS … … 1466 1498 mov [A0 + 4], T0 1467 1499 mov [A0], T1 1468 EPILOGUE_1_ARGS 01500 EPILOGUE_1_ARGS 1469 1501 %endif 1470 1502 ENDPROC iemAImpl_bswap_u64 … … 1543 1575 fninit 1544 1576 add xSP, 20h 1545 EPILOGUE_3_ARGS 01577 EPILOGUE_3_ARGS 1546 1578 ENDPROC iemAImpl_fild_i16_to_r80 1547 1579 … … 1568 1600 fninit 1569 1601 add xSP, 20h 1570 EPILOGUE_4_ARGS 01602 EPILOGUE_4_ARGS 1571 1603 ENDPROC iemAImpl_fist_r80_to_i16 1572 1604 … … 1594 1626 fninit 1595 1627 add xSP, 20h 1596 EPILOGUE_4_ARGS 01628 EPILOGUE_4_ARGS 1597 1629 ENDPROC iemAImpl_fistt_r80_to_i16 1598 1630 … … 1624 1656 fninit 1625 1657 add xSP, 20h 1626 EPILOGUE_4_ARGS 81658 EPILOGUE_4_ARGS 1627 1659 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_i16 1628 1660 %endmacro … … 1661 1693 fninit 1662 1694 add xSP, 20h 1663 EPILOGUE_4_ARGS 81695 EPILOGUE_4_ARGS 1664 1696 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_i16 1665 1697 %endmacro … … 1695 1727 fninit 1696 1728 add xSP, 20h 1697 EPILOGUE_3_ARGS 01729 EPILOGUE_3_ARGS 1698 1730 ENDPROC iemAImpl_fild_i32_to_r80 1699 1731 … … 1720 1752 fninit 1721 1753 add xSP, 20h 1722 EPILOGUE_4_ARGS 01754 EPILOGUE_4_ARGS 1723 1755 ENDPROC iemAImpl_fist_r80_to_i32 1724 1756 … … 1746 1778 fninit 1747 1779 add xSP, 20h 1748 EPILOGUE_4_ARGS 01780 EPILOGUE_4_ARGS 1749 1781 ENDPROC iemAImpl_fistt_r80_to_i32 1750 1782 … … 1776 1808 fninit 1777 1809 add xSP, 20h 1778 EPILOGUE_4_ARGS 81810 EPILOGUE_4_ARGS 1779 1811 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_i32 1780 1812 %endmacro … … 1813 1845 fninit 1814 1846 add xSP, 20h 1815 EPILOGUE_4_ARGS 81847 EPILOGUE_4_ARGS 1816 1848 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_i32 1817 1849 %endmacro … … 1847 1879 fninit 1848 1880 add xSP, 20h 1849 EPILOGUE_3_ARGS 01881 EPILOGUE_3_ARGS 1850 1882 ENDPROC iemAImpl_fild_i64_to_r80 1851 1883 … … 1872 1904 fninit 1873 1905 add xSP, 20h 1874 EPILOGUE_4_ARGS 01906 EPILOGUE_4_ARGS 1875 1907 ENDPROC iemAImpl_fist_r80_to_i64 1876 1908 … … 1898 1930 fninit 1899 1931 add xSP, 20h 1900 EPILOGUE_4_ARGS 01932 EPILOGUE_4_ARGS 1901 1933 ENDPROC iemAImpl_fistt_r80_to_i64 1902 1934 … … 1928 1960 fninit 1929 1961 add xSP, 20h 1930 EPILOGUE_3_ARGS 01962 EPILOGUE_3_ARGS 1931 1963 ENDPROC iemAImpl_fld_r32_to_r80 1932 1964 … … 1953 1985 fninit 1954 1986 add xSP, 20h 1955 EPILOGUE_4_ARGS 01987 EPILOGUE_4_ARGS 1956 1988 ENDPROC iemAImpl_fst_r80_to_r32 1957 1989 … … 1983 2015 fninit 1984 2016 add xSP, 20h 1985 EPILOGUE_4_ARGS 82017 EPILOGUE_4_ARGS 1986 2018 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r32 1987 2019 %endmacro … … 2020 2052 fninit 2021 2053 add xSP, 20h 2022 EPILOGUE_4_ARGS 82054 EPILOGUE_4_ARGS 2023 2055 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r32 2024 2056 %endmacro … … 2052 2084 fninit 2053 2085 add xSP, 20h 2054 EPILOGUE_3_ARGS 02086 EPILOGUE_3_ARGS 2055 2087 ENDPROC iemAImpl_fld_r64_to_r80 2056 2088 … … 2077 2109 fninit 2078 2110 add xSP, 20h 2079 EPILOGUE_4_ARGS 02111 EPILOGUE_4_ARGS 2080 2112 ENDPROC iemAImpl_fst_r80_to_r64 2081 2113 … … 2107 2139 fninit 2108 2140 add xSP, 20h 2109 EPILOGUE_4_ARGS 82141 EPILOGUE_4_ARGS 2110 2142 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r64 2111 2143 %endmacro … … 2143 2175 fninit 2144 2176 add xSP, 20h 2145 EPILOGUE_4_ARGS 82177 EPILOGUE_4_ARGS 2146 2178 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r64 2147 2179 %endmacro … … 2176 2208 fninit 2177 2209 add xSP, 20h 2178 EPILOGUE_3_ARGS 02210 EPILOGUE_3_ARGS 2179 2211 ENDPROC iemAImpl_fld_r80_from_r80 2180 2212 … … 2201 2233 fninit 2202 2234 add xSP, 20h 2203 EPILOGUE_4_ARGS 02235 EPILOGUE_4_ARGS 2204 2236 ENDPROC iemAImpl_fst_r80_to_r80 2205 2237 … … 2232 2264 fninit 2233 2265 add xSP, 20h 2234 EPILOGUE_4_ARGS 82266 EPILOGUE_4_ARGS 2235 2267 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r80 2236 2268 %endmacro … … 2275 2307 fninit 2276 2308 add xSP, 20h 2277 EPILOGUE_4_ARGS 82309 EPILOGUE_4_ARGS 2278 2310 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r80 2279 2311 %endmacro … … 2309 2341 fninit 2310 2342 add xSP, 20h 2311 EPILOGUE_4_ARGS 82343 EPILOGUE_4_ARGS 2312 2344 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r80 2313 2345 %endmacro … … 2346 2378 fninit 2347 2379 add xSP, 20h 2348 EPILOGUE_4_ARGS 82380 EPILOGUE_4_ARGS 2349 2381 ENDPROC iemAImpl_ %+ %1 %+ _r80_by_r80 2350 2382 %endmacro … … 2379 2411 fninit 2380 2412 add xSP, 20h 2381 EPILOGUE_3_ARGS 42413 EPILOGUE_3_ARGS 2382 2414 ENDPROC iemAImpl_ %+ %1 %+ _r80 2383 2415 %endmacro … … 2417 2449 fninit 2418 2450 add xSP, 20h 2419 EPILOGUE_3_ARGS 42451 EPILOGUE_3_ARGS 2420 2452 ENDPROC iemAImpl_ %+ %1 %+ _r80 2421 2453 %endmacro … … 2449 2481 fninit 2450 2482 add xSP, 20h 2451 EPILOGUE_2_ARGS 02483 EPILOGUE_2_ARGS 2452 2484 ENDPROC iemAImpl_ %+ %1 %+ 2453 2485 %endmacro … … 2489 2521 fninit 2490 2522 add xSP, 20h 2491 EPILOGUE_3_ARGS 42523 EPILOGUE_3_ARGS 2492 2524 ENDPROC iemAImpl_ %+ %1 %+ _r80_r80 2493 2525 %endmacro
Note:
See TracChangeset
for help on using the changeset viewer.