Changeset 95345 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
- Timestamp:
- Jun 22, 2022 4:15:23 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r95343 r95345 638 638 ; 639 639 ; @param 1 The instruction mnemonic. 640 ; 641 %macro IEMIMPL_VEX_BIN_OP_NOEFL 2 640 ; @param 2 Fallback instruction if applicable. 641 ; @param 3 Whether to emit fallback or not. 642 ; 643 %macro IEMIMPL_VEX_BIN_OP_NOEFL 3 642 644 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _u32, 12 643 645 PROLOGUE_3_ARGS … … 647 649 ENDPROC iemAImpl_ %+ %1 %+ _u32 648 650 651 %if %3 649 652 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _u32_fallback, 12 650 653 PROLOGUE_3_ARGS 651 %ifdef ASM_CALL64_GCC654 %ifdef ASM_CALL64_GCC 652 655 mov cl, A2_8 653 656 %2 A1_32, cl 654 657 mov [A0], A1_32 655 %else658 %else 656 659 xchg A2, A0 657 660 %2 A1_32, cl 658 661 mov [A2], A1_32 659 %endif662 %endif 660 663 EPILOGUE_3_ARGS 661 664 ENDPROC iemAImpl_ %+ %1 %+ _u32_fallback 665 %endif 662 666 663 667 %ifdef RT_ARCH_AMD64 … … 669 673 ENDPROC iemAImpl_ %+ %1 %+ _u64 670 674 675 %if %3 671 676 BEGINPROC_FASTCALL iemAImpl_ %+ %1 %+ _u64_fallback, 12 672 677 PROLOGUE_3_ARGS 673 %ifdef ASM_CALL64_GCC678 %ifdef ASM_CALL64_GCC 674 679 mov cl, A2_8 675 680 %2 A1, cl 676 681 mov [A0], A1_32 677 %else682 %else 678 683 xchg A2, A0 679 684 %2 A1, cl 680 685 mov [A2], A1_32 681 %endif686 %endif 682 687 mov [A0], A1 683 688 EPILOGUE_3_ARGS 684 689 ENDPROC iemAImpl_ %+ %1 %+ _u64_fallback 690 %endif 685 691 %endif ; RT_ARCH_AMD64 686 692 %endmacro 687 693 688 ; instr, fallback instr 689 IEMIMPL_VEX_BIN_OP_NOEFL sarx, sar 690 IEMIMPL_VEX_BIN_OP_NOEFL shlx, shl 691 IEMIMPL_VEX_BIN_OP_NOEFL shrx, shr 694 ; instr, fallback instr, emit fallback 695 IEMIMPL_VEX_BIN_OP_NOEFL sarx, sar, 1 696 IEMIMPL_VEX_BIN_OP_NOEFL shlx, shl, 1 697 IEMIMPL_VEX_BIN_OP_NOEFL shrx, shr, 1 698 IEMIMPL_VEX_BIN_OP_NOEFL pdep, nop, 0 699 IEMIMPL_VEX_BIN_OP_NOEFL pext, nop, 0 692 700 693 701
Note:
See TracChangeset
for help on using the changeset viewer.