Changeset 101370 in vbox for trunk/src/VBox
- Timestamp:
- Oct 6, 2023 1:23:09 AM (16 months ago)
- Location:
- trunk/src/VBox
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/idl/VirtualBox.xidl
r101369 r101370 284 284 </cpp> 285 285 </if> 286 287 <!--288 Macros for helping with constructing guest OS type ID strings for the289 different architectures.290 -->291 <cpp line="#define GUEST_OS_ID_STR_X86(a_szOSid) a_szOSid"/>292 <cpp line="#if 0 /** @todo r=bird: revert to legacy naming: */"/>293 <cpp line="#define GUEST_OS_ID_STR_X64(a_szOSid) a_szOSid "_64""/>294 <cpp line="#else"/>295 <cpp line="#define GUEST_OS_ID_STR_X64(a_szOSid) a_szOSid "_x64""/>296 <cpp line="#endif"/>297 <cpp line="#define GUEST_OS_ID_STR_A32(a_szOSid) a_szOSid "_arm32""/>298 <cpp line="#define GUEST_OS_ID_STR_A64(a_szOSid) a_szOSid "_arm64""/>299 <cpp line="#define GUEST_OS_ID_STR_AMD64(a_szOSid) GUEST_OS_ID_STR_X64(a_szOSid)"/>300 <cpp line="#define GUEST_OS_ID_STR_ARM32(a_szOSid) GUEST_OS_ID_STR_A32(a_szOSid)"/>301 <cpp line="#define GUEST_OS_ID_STR_ARM64(a_szOSid) GUEST_OS_ID_STR_A64(a_szOSid)"/>302 286 303 287 <!-- -
trunk/src/VBox/Main/src-all/Global.cpp
r101369 r101370 44 44 #define VBOX_OSTYPE_ARM32(a_OStype) VBOXOSTYPE_ ## a_OStype ## _arm32 45 45 #define VBOX_OSTYPE_ARM64(a_OStype) VBOXOSTYPE_ ## a_OStype ## _arm64 46 47 /** @todo r=bird: These macros should move to VBox/cdefs.h or a similarly easily 48 * accessible file, so that the GUI can make use of them too. */ 49 /* Note: Keep this naming for legacy reasons. Always meant x86 (32-bit). */ 50 #define GUEST_OS_ID_STR_X86(a_szOSid) a_szOSid 51 #if 0 /** @todo r=bird: revert to legacy naming: */ 52 #define GUEST_OS_ID_STR_X64(a_szOSid) a_szOSid "_64" 53 #else 54 #define GUEST_OS_ID_STR_X64(a_szOSid) a_szOSid "_x64" 55 #endif 56 /* New since VBox 7.1. */ 57 #define GUEST_OS_ID_STR_A32(a_szOSid) a_szOSid "_arm32" 58 /* New since VBox 7.1. */ 59 #define GUEST_OS_ID_STR_A64(a_szOSid) a_szOSid "_arm64" 46 60 47 61 /* static */ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r101369 r101370 2601 2601 ## IEM_MC_XXX -> parser + info dictionary. 2602 2602 # 2603 # The info columns: 2604 # - col 0: boolean entry indicating whether the statement modifies state and 2605 # must not be used before IEMOP_HL_DONE_*. 2606 # - col 1: boolean entry indicating native recompiler support. 2603 # The info is currently a single boolean entry indicating whether the 2604 # statement modifies state and must not be used before IEMOP_HL_DONE_*. 2607 2605 # 2608 2606 # The raw table was generated via the following command … … 2610 2608 # | sort | uniq | gawk "{printf """ %%-60s (%%s, True)\n""", $1, $2}" 2611 2609 g_dMcStmtParsers = { 2612 'IEM_MC_ACTUALIZE_AVX_STATE_FOR_CHANGE': (McBlock.parseMcGeneric, False , False,),2613 'IEM_MC_ACTUALIZE_AVX_STATE_FOR_READ': (McBlock.parseMcGeneric, False , False,),2614 'IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE': (McBlock.parseMcGeneric, False , False,),2615 'IEM_MC_ACTUALIZE_FPU_STATE_FOR_READ': (McBlock.parseMcGeneric, False , False,),2616 'IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE': (McBlock.parseMcGeneric, False , False,),2617 'IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ': (McBlock.parseMcGeneric, False , False,),2618 'IEM_MC_ADD_GREG_U16': (McBlock.parseMcGeneric, True , False,),2619 'IEM_MC_ADD_GREG_U16_TO_LOCAL': (McBlock.parseMcGeneric, False , False,),2620 'IEM_MC_ADD_GREG_U32': (McBlock.parseMcGeneric, True , False,),2621 'IEM_MC_ADD_GREG_U32_TO_LOCAL': (McBlock.parseMcGeneric, False , False,),2622 'IEM_MC_ADD_GREG_U64': (McBlock.parseMcGeneric, True , False,),2623 'IEM_MC_ADD_GREG_U64_TO_LOCAL': (McBlock.parseMcGeneric, False , False,),2624 'IEM_MC_ADD_GREG_U8': (McBlock.parseMcGeneric, True , False,),2625 'IEM_MC_ADD_GREG_U8_TO_LOCAL': (McBlock.parseMcGeneric, False , False,),2626 'IEM_MC_ADD_LOCAL_S16_TO_EFF_ADDR': (McBlock.parseMcGeneric, True , False,),2627 'IEM_MC_ADD_LOCAL_S32_TO_EFF_ADDR': (McBlock.parseMcGeneric, True , False,),2628 'IEM_MC_ADD_LOCAL_S64_TO_EFF_ADDR': (McBlock.parseMcGeneric, True , False,),2629 'IEM_MC_ADVANCE_RIP_AND_FINISH': (McBlock.parseMcGeneric, True , True,),2630 'IEM_MC_AND_2LOCS_U32': (McBlock.parseMcGeneric, False , False,),2631 'IEM_MC_AND_ARG_U16': (McBlock.parseMcGeneric, False , False,),2632 'IEM_MC_AND_ARG_U32': (McBlock.parseMcGeneric, False , False,),2633 'IEM_MC_AND_ARG_U64': (McBlock.parseMcGeneric, False , False,),2634 'IEM_MC_AND_GREG_U16': (McBlock.parseMcGeneric, True , False,),2635 'IEM_MC_AND_GREG_U32': (McBlock.parseMcGeneric, True , False,),2636 'IEM_MC_AND_GREG_U64': (McBlock.parseMcGeneric, True , False,),2637 'IEM_MC_AND_GREG_U8': (McBlock.parseMcGeneric, True , False,),2638 'IEM_MC_AND_LOCAL_U16': (McBlock.parseMcGeneric, False , False,),2639 'IEM_MC_AND_LOCAL_U32': (McBlock.parseMcGeneric, False , False,),2640 'IEM_MC_AND_LOCAL_U64': (McBlock.parseMcGeneric, False , False,),2641 'IEM_MC_AND_LOCAL_U8': (McBlock.parseMcGeneric, False , False,),2642 'IEM_MC_ARG': (McBlock.parseMcArg, False , False,),2643 'IEM_MC_ARG_CONST': (McBlock.parseMcArgConst, False , False,),2644 'IEM_MC_ARG_LOCAL_EFLAGS': (McBlock.parseMcArgLocalEFlags, False , False,),2645 'IEM_MC_ARG_LOCAL_REF': (McBlock.parseMcArgLocalRef, False , False,),2646 'IEM_MC_ASSIGN': (McBlock.parseMcGeneric, False , False,),2647 'IEM_MC_ASSIGN_TO_SMALLER': (McBlock.parseMcGeneric, False , False,),2648 'IEM_MC_ASSIGN_U8_SX_U64': (McBlock.parseMcGeneric, False , False,),2649 'IEM_MC_ASSIGN_U32_SX_U64': (McBlock.parseMcGeneric, False , False,),2650 'IEM_MC_BEGIN': (McBlock.parseMcBegin, False , True,),2651 'IEM_MC_BROADCAST_XREG_U16_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2652 'IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2653 'IEM_MC_BROADCAST_XREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2654 'IEM_MC_BROADCAST_XREG_U8_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2655 'IEM_MC_BROADCAST_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2656 'IEM_MC_BROADCAST_YREG_U16_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2657 'IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2658 'IEM_MC_BROADCAST_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2659 'IEM_MC_BROADCAST_YREG_U8_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2660 'IEM_MC_BSWAP_LOCAL_U16': (McBlock.parseMcGeneric, False , False,),2661 'IEM_MC_BSWAP_LOCAL_U32': (McBlock.parseMcGeneric, False , False,),2662 'IEM_MC_BSWAP_LOCAL_U64': (McBlock.parseMcGeneric, False , False,),2663 'IEM_MC_CALC_RM_EFF_ADDR': (McBlock.parseMcGeneric, False , False,),2664 'IEM_MC_CALL_AIMPL_3': (McBlock.parseMcCallAImpl, True , False,),2665 'IEM_MC_CALL_AIMPL_4': (McBlock.parseMcCallAImpl, True , False,),2666 'IEM_MC_CALL_AVX_AIMPL_2': (McBlock.parseMcCallAvxAImpl, True , False,),2667 'IEM_MC_CALL_AVX_AIMPL_3': (McBlock.parseMcCallAvxAImpl, True , False,),2668 'IEM_MC_CALL_CIMPL_0': (McBlock.parseMcCallCImpl, True , False,),2669 'IEM_MC_CALL_CIMPL_1': (McBlock.parseMcCallCImpl, True , False,),2670 'IEM_MC_CALL_CIMPL_2': (McBlock.parseMcCallCImpl, True , False,),2671 'IEM_MC_CALL_CIMPL_3': (McBlock.parseMcCallCImpl, True , False,),2672 'IEM_MC_CALL_CIMPL_4': (McBlock.parseMcCallCImpl, True , False,),2673 'IEM_MC_CALL_CIMPL_5': (McBlock.parseMcCallCImpl, True , False,),2674 'IEM_MC_CALL_FPU_AIMPL_1': (McBlock.parseMcCallFpuAImpl, True , False,),2675 'IEM_MC_CALL_FPU_AIMPL_2': (McBlock.parseMcCallFpuAImpl, True , False,),2676 'IEM_MC_CALL_FPU_AIMPL_3': (McBlock.parseMcCallFpuAImpl, True , False,),2677 'IEM_MC_CALL_MMX_AIMPL_2': (McBlock.parseMcCallMmxAImpl, True , False,),2678 'IEM_MC_CALL_MMX_AIMPL_3': (McBlock.parseMcCallMmxAImpl, True , False,),2679 'IEM_MC_CALL_SSE_AIMPL_2': (McBlock.parseMcCallSseAImpl, True , False,),2680 'IEM_MC_CALL_SSE_AIMPL_3': (McBlock.parseMcCallSseAImpl, True , False,),2681 'IEM_MC_CALL_VOID_AIMPL_0': (McBlock.parseMcCallVoidAImpl, True , False,),2682 'IEM_MC_CALL_VOID_AIMPL_1': (McBlock.parseMcCallVoidAImpl, True , False,),2683 'IEM_MC_CALL_VOID_AIMPL_2': (McBlock.parseMcCallVoidAImpl, True , False,),2684 'IEM_MC_CALL_VOID_AIMPL_3': (McBlock.parseMcCallVoidAImpl, True , False,),2685 'IEM_MC_CALL_VOID_AIMPL_4': (McBlock.parseMcCallVoidAImpl, True , False,),2686 'IEM_MC_CLEAR_EFL_BIT': (McBlock.parseMcGeneric, True , False,),2687 'IEM_MC_CLEAR_FSW_EX': (McBlock.parseMcGeneric, True , False,),2688 'IEM_MC_CLEAR_HIGH_GREG_U64': (McBlock.parseMcGeneric, True , False,),2689 'IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF': (McBlock.parseMcGeneric, True , False,),2690 'IEM_MC_CLEAR_XREG_U32_MASK': (McBlock.parseMcGeneric, True , False,),2691 'IEM_MC_CLEAR_YREG_128_UP': (McBlock.parseMcGeneric, True , False,),2692 'IEM_MC_COMMIT_EFLAGS': (McBlock.parseMcGeneric, True , False,),2693 'IEM_MC_COPY_XREG_U128': (McBlock.parseMcGeneric, True , False,),2694 'IEM_MC_COPY_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2695 'IEM_MC_COPY_YREG_U256_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2696 'IEM_MC_COPY_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2697 'IEM_MC_DEFER_TO_CIMPL_0_RET': (McBlock.parseMcGeneric, False , False,),2698 'IEM_MC_DEFER_TO_CIMPL_1_RET': (McBlock.parseMcGeneric, False , False,),2699 'IEM_MC_DEFER_TO_CIMPL_2_RET': (McBlock.parseMcGeneric, False , False,),2700 'IEM_MC_DEFER_TO_CIMPL_3_RET': (McBlock.parseMcGeneric, False , False,),2701 'IEM_MC_END': (McBlock.parseMcGeneric, True , True,),2702 'IEM_MC_FETCH_EFLAGS': (McBlock.parseMcGeneric, False , False,),2703 'IEM_MC_FETCH_EFLAGS_U8': (McBlock.parseMcGeneric, False , False,),2704 'IEM_MC_FETCH_FCW': (McBlock.parseMcGeneric, False , False,),2705 'IEM_MC_FETCH_FSW': (McBlock.parseMcGeneric, False , False,),2706 'IEM_MC_FETCH_GREG_U16': (McBlock.parseMcGeneric, False , False,),2707 'IEM_MC_FETCH_GREG_U16_SX_U32': (McBlock.parseMcGeneric, False , False,),2708 'IEM_MC_FETCH_GREG_U16_SX_U64': (McBlock.parseMcGeneric, False , False,),2709 'IEM_MC_FETCH_GREG_U16_ZX_U32': (McBlock.parseMcGeneric, False , False,),2710 'IEM_MC_FETCH_GREG_U16_ZX_U64': (McBlock.parseMcGeneric, False , False,),2711 'IEM_MC_FETCH_GREG_U32': (McBlock.parseMcGeneric, False , False,),2712 'IEM_MC_FETCH_GREG_U32_SX_U64': (McBlock.parseMcGeneric, False , False,),2713 'IEM_MC_FETCH_GREG_U32_ZX_U64': (McBlock.parseMcGeneric, False , False,),2714 'IEM_MC_FETCH_GREG_U64': (McBlock.parseMcGeneric, False , False,),2715 'IEM_MC_FETCH_GREG_U64_ZX_U64': (McBlock.parseMcGeneric, False , False,),2716 'IEM_MC_FETCH_GREG_U8': (McBlock.parseMcGeneric, False , False,),2717 'IEM_MC_FETCH_GREG_U8_SX_U16': (McBlock.parseMcGeneric, False , False,),2718 'IEM_MC_FETCH_GREG_U8_SX_U32': (McBlock.parseMcGeneric, False , False,),2719 'IEM_MC_FETCH_GREG_U8_SX_U64': (McBlock.parseMcGeneric, False , False,),2720 'IEM_MC_FETCH_GREG_U8_ZX_U16': (McBlock.parseMcGeneric, False , False,),2721 'IEM_MC_FETCH_GREG_U8_ZX_U32': (McBlock.parseMcGeneric, False , False,),2722 'IEM_MC_FETCH_GREG_U8_ZX_U64': (McBlock.parseMcGeneric, False , False,),2723 'IEM_MC_FETCH_MEM_D80': (McBlock.parseMcGeneric, True , False,),2724 'IEM_MC_FETCH_MEM_I16': (McBlock.parseMcGeneric, True , False,),2725 'IEM_MC_FETCH_MEM_I32': (McBlock.parseMcGeneric, True , False,),2726 'IEM_MC_FETCH_MEM_I64': (McBlock.parseMcGeneric, True , False,),2727 'IEM_MC_FETCH_MEM_R32': (McBlock.parseMcGeneric, True , False,),2728 'IEM_MC_FETCH_MEM_R64': (McBlock.parseMcGeneric, True , False,),2729 'IEM_MC_FETCH_MEM_R80': (McBlock.parseMcGeneric, True , False,),2730 'IEM_MC_FETCH_MEM_S32_SX_U64': (McBlock.parseMcGeneric, True , False,),2731 'IEM_MC_FETCH_MEM_U128': (McBlock.parseMcGeneric, True , False,),2732 'IEM_MC_FETCH_MEM_U128_ALIGN_SSE': (McBlock.parseMcGeneric, True , False,),2733 'IEM_MC_FETCH_MEM_U128_NO_AC': (McBlock.parseMcGeneric, True , False,),2734 'IEM_MC_FETCH_MEM_U16': (McBlock.parseMcGeneric, True , False,),2735 'IEM_MC_FETCH_MEM_U16_DISP': (McBlock.parseMcGeneric, True , False,),2736 'IEM_MC_FETCH_MEM_U16_SX_U32': (McBlock.parseMcGeneric, True , False,),2737 'IEM_MC_FETCH_MEM_U16_SX_U64': (McBlock.parseMcGeneric, True , False,),2738 'IEM_MC_FETCH_MEM_U16_ZX_U32': (McBlock.parseMcGeneric, True , False,),2739 'IEM_MC_FETCH_MEM_U16_ZX_U64': (McBlock.parseMcGeneric, True , False,),2740 'IEM_MC_FETCH_MEM_U256': (McBlock.parseMcGeneric, True , False,),2741 'IEM_MC_FETCH_MEM_U256_ALIGN_AVX': (McBlock.parseMcGeneric, True , False,),2742 'IEM_MC_FETCH_MEM_U256_NO_AC': (McBlock.parseMcGeneric, True , False,),2743 'IEM_MC_FETCH_MEM_U32': (McBlock.parseMcGeneric, True , False,),2744 'IEM_MC_FETCH_MEM_U32_DISP': (McBlock.parseMcGeneric, True , False,),2745 'IEM_MC_FETCH_MEM_U32_SX_U64': (McBlock.parseMcGeneric, True , False,),2746 'IEM_MC_FETCH_MEM_U32_ZX_U64': (McBlock.parseMcGeneric, True , False,),2747 'IEM_MC_FETCH_MEM_U64': (McBlock.parseMcGeneric, True , False,),2748 'IEM_MC_FETCH_MEM_U64_ALIGN_U128': (McBlock.parseMcGeneric, True , False,),2749 'IEM_MC_FETCH_MEM_U64_DISP': (McBlock.parseMcGeneric, True , False,),2750 'IEM_MC_FETCH_MEM_U8': (McBlock.parseMcGeneric, True , False,),2751 'IEM_MC_FETCH_MEM_U8_SX_U16': (McBlock.parseMcGeneric, True , False,),2752 'IEM_MC_FETCH_MEM_U8_SX_U32': (McBlock.parseMcGeneric, True , False,),2753 'IEM_MC_FETCH_MEM_U8_SX_U64': (McBlock.parseMcGeneric, True , False,),2754 'IEM_MC_FETCH_MEM_U8_ZX_U16': (McBlock.parseMcGeneric, True , False,),2755 'IEM_MC_FETCH_MEM_U8_ZX_U32': (McBlock.parseMcGeneric, True , False,),2756 'IEM_MC_FETCH_MEM_U8_ZX_U64': (McBlock.parseMcGeneric, True , False,),2757 'IEM_MC_FETCH_MEM_XMM': (McBlock.parseMcGeneric, True , False,),2758 'IEM_MC_FETCH_MEM_XMM_ALIGN_SSE': (McBlock.parseMcGeneric, True , False,),2759 'IEM_MC_FETCH_MEM_XMM_NO_AC': (McBlock.parseMcGeneric, True , False,),2760 'IEM_MC_FETCH_MEM_XMM_U32': (McBlock.parseMcGeneric, True , False,),2761 'IEM_MC_FETCH_MEM_XMM_U64': (McBlock.parseMcGeneric, True , False,),2762 'IEM_MC_FETCH_MEM_YMM': (McBlock.parseMcGeneric, True , False,),2763 'IEM_MC_FETCH_MEM_YMM_ALIGN_AVX': (McBlock.parseMcGeneric, True , False,),2764 'IEM_MC_FETCH_MEM_YMM_NO_AC': (McBlock.parseMcGeneric, True , False,),2765 'IEM_MC_FETCH_MEM16_U8': (McBlock.parseMcGeneric, True , False,),2766 'IEM_MC_FETCH_MEM32_U8': (McBlock.parseMcGeneric, True , False,),2767 'IEM_MC_FETCH_MREG_U32': (McBlock.parseMcGeneric, False , False,),2768 'IEM_MC_FETCH_MREG_U64': (McBlock.parseMcGeneric, False , False,),2769 'IEM_MC_FETCH_SREG_BASE_U32': (McBlock.parseMcGeneric, False , False,),2770 'IEM_MC_FETCH_SREG_BASE_U64': (McBlock.parseMcGeneric, False , False,),2771 'IEM_MC_FETCH_SREG_U16': (McBlock.parseMcGeneric, False , False,),2772 'IEM_MC_FETCH_SREG_ZX_U32': (McBlock.parseMcGeneric, False , False,),2773 'IEM_MC_FETCH_SREG_ZX_U64': (McBlock.parseMcGeneric, False , False,),2774 'IEM_MC_FETCH_XREG_U128': (McBlock.parseMcGeneric, False , False,),2775 'IEM_MC_FETCH_XREG_U16': (McBlock.parseMcGeneric, False , False,),2776 'IEM_MC_FETCH_XREG_U32': (McBlock.parseMcGeneric, False , False,),2777 'IEM_MC_FETCH_XREG_U64': (McBlock.parseMcGeneric, False , False,),2778 'IEM_MC_FETCH_XREG_U8': (McBlock.parseMcGeneric, False , False,),2779 'IEM_MC_FETCH_XREG_XMM': (McBlock.parseMcGeneric, False , False,),2780 'IEM_MC_FETCH_YREG_2ND_U64': (McBlock.parseMcGeneric, False , False,),2781 'IEM_MC_FETCH_YREG_U128': (McBlock.parseMcGeneric, False , False,),2782 'IEM_MC_FETCH_YREG_U256': (McBlock.parseMcGeneric, False , False,),2783 'IEM_MC_FETCH_YREG_U32': (McBlock.parseMcGeneric, False , False,),2784 'IEM_MC_FETCH_YREG_U64': (McBlock.parseMcGeneric, False , False,),2785 'IEM_MC_FLIP_EFL_BIT': (McBlock.parseMcGeneric, True , False,),2786 'IEM_MC_FPU_FROM_MMX_MODE': (McBlock.parseMcGeneric, True , False,),2787 'IEM_MC_FPU_STACK_DEC_TOP': (McBlock.parseMcGeneric, True , False,),2788 'IEM_MC_FPU_STACK_FREE': (McBlock.parseMcGeneric, True , False,),2789 'IEM_MC_FPU_STACK_INC_TOP': (McBlock.parseMcGeneric, True , False,),2790 'IEM_MC_FPU_STACK_PUSH_OVERFLOW': (McBlock.parseMcGeneric, True , False,),2791 'IEM_MC_FPU_STACK_PUSH_OVERFLOW_MEM_OP': (McBlock.parseMcGeneric, True , False,),2792 'IEM_MC_FPU_STACK_PUSH_UNDERFLOW': (McBlock.parseMcGeneric, True , False,),2793 'IEM_MC_FPU_STACK_PUSH_UNDERFLOW_TWO': (McBlock.parseMcGeneric, True , False,),2794 'IEM_MC_FPU_STACK_UNDERFLOW': (McBlock.parseMcGeneric, True , False,),2795 'IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP': (McBlock.parseMcGeneric, True , False,),2796 'IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP': (McBlock.parseMcGeneric, True , False,),2797 'IEM_MC_FPU_STACK_UNDERFLOW_THEN_POP': (McBlock.parseMcGeneric, True , False,),2798 'IEM_MC_FPU_STACK_UNDERFLOW_THEN_POP_POP': (McBlock.parseMcGeneric, True , False,),2799 'IEM_MC_FPU_TO_MMX_MODE': (McBlock.parseMcGeneric, True , False,),2800 'IEM_MC_IF_CX_IS_NZ': (McBlock.parseMcGenericCond, True , False,),2801 'IEM_MC_IF_CX_IS_NZ_AND_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True , False,),2802 'IEM_MC_IF_CX_IS_NZ_AND_EFL_BIT_SET': (McBlock.parseMcGenericCond, True , False,),2803 'IEM_MC_IF_ECX_IS_NZ': (McBlock.parseMcGenericCond, True , False,),2804 'IEM_MC_IF_ECX_IS_NZ_AND_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True , False,),2805 'IEM_MC_IF_ECX_IS_NZ_AND_EFL_BIT_SET': (McBlock.parseMcGenericCond, True , False,),2806 'IEM_MC_IF_EFL_ANY_BITS_SET': (McBlock.parseMcGenericCond, True , False,),2807 'IEM_MC_IF_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True , False,),2808 'IEM_MC_IF_EFL_BIT_NOT_SET_AND_BITS_EQ': (McBlock.parseMcGenericCond, True , False,),2809 'IEM_MC_IF_EFL_BIT_SET': (McBlock.parseMcGenericCond, True , False,),2810 'IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE': (McBlock.parseMcGenericCond, True , False,),2811 'IEM_MC_IF_EFL_BITS_EQ': (McBlock.parseMcGenericCond, True , False,),2812 'IEM_MC_IF_EFL_BITS_NE': (McBlock.parseMcGenericCond, True , False,),2813 'IEM_MC_IF_EFL_NO_BITS_SET': (McBlock.parseMcGenericCond, True , False,),2814 'IEM_MC_IF_FCW_IM': (McBlock.parseMcGenericCond, True , False,),2815 'IEM_MC_IF_FPUREG_IS_EMPTY': (McBlock.parseMcGenericCond, True , False,),2816 'IEM_MC_IF_FPUREG_NOT_EMPTY': (McBlock.parseMcGenericCond, True , False,),2817 'IEM_MC_IF_FPUREG_NOT_EMPTY_REF_R80': (McBlock.parseMcGenericCond, True , False,),2818 'IEM_MC_IF_GREG_BIT_SET': (McBlock.parseMcGenericCond, True , False,),2819 'IEM_MC_IF_LOCAL_IS_Z': (McBlock.parseMcGenericCond, True , False,),2820 'IEM_MC_IF_MXCSR_XCPT_PENDING': (McBlock.parseMcGenericCond, True , False,),2821 'IEM_MC_IF_RCX_IS_NZ': (McBlock.parseMcGenericCond, True , False,),2822 'IEM_MC_IF_RCX_IS_NZ_AND_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True , False,),2823 'IEM_MC_IF_RCX_IS_NZ_AND_EFL_BIT_SET': (McBlock.parseMcGenericCond, True , False,),2824 'IEM_MC_IF_TWO_FPUREGS_NOT_EMPTY_REF_R80': (McBlock.parseMcGenericCond, True , False,),2825 'IEM_MC_IF_TWO_FPUREGS_NOT_EMPTY_REF_R80_FIRST': (McBlock.parseMcGenericCond, True , False,),2826 'IEM_MC_IMPLICIT_AVX_AIMPL_ARGS': (McBlock.parseMcGeneric, False , False,),2827 'IEM_MC_INT_CLEAR_ZMM_256_UP': (McBlock.parseMcGeneric, True , False,),2828 'IEM_MC_LOCAL': (McBlock.parseMcLocal, False , False,),2829 'IEM_MC_LOCAL_CONST': (McBlock.parseMcLocalConst, False , False,),2830 'IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT': (McBlock.parseMcGeneric, True , False,),2831 'IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE': (McBlock.parseMcGeneric, True , False,),2832 'IEM_MC_MAYBE_RAISE_FPU_XCPT': (McBlock.parseMcGeneric, True , False,),2833 'IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT': (McBlock.parseMcGeneric, True , False,),2834 'IEM_MC_MAYBE_RAISE_MMX_RELATED_XCPT': (McBlock.parseMcGeneric, True , False,),2835 'IEM_MC_MAYBE_RAISE_NON_CANONICAL_ADDR_GP0': (McBlock.parseMcGeneric, True , False,),2836 'IEM_MC_MAYBE_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT': (McBlock.parseMcGeneric, True , False,),2837 'IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT': (McBlock.parseMcGeneric, True , False,),2838 'IEM_MC_MAYBE_RAISE_WAIT_DEVICE_NOT_AVAILABLE': (McBlock.parseMcGeneric, True , False,),2839 'IEM_MC_MEM_COMMIT_AND_UNMAP': (McBlock.parseMcGeneric, True , False,),2840 'IEM_MC_MEM_COMMIT_AND_UNMAP_RW': (McBlock.parseMcGeneric, True , False,),2841 'IEM_MC_MEM_COMMIT_AND_UNMAP_RO': (McBlock.parseMcGeneric, True , False,),2842 'IEM_MC_MEM_COMMIT_AND_UNMAP_WO': (McBlock.parseMcGeneric, True , False,),2843 'IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE': (McBlock.parseMcGeneric, True , False,),2844 'IEM_MC_MEM_MAP': (McBlock.parseMcGeneric, True , False,),2845 'IEM_MC_MEM_MAP_EX': (McBlock.parseMcGeneric, True , False,),2846 'IEM_MC_MEM_MAP_U8_RW': (McBlock.parseMcGeneric, True , False,),2847 'IEM_MC_MEM_MAP_U8_RO': (McBlock.parseMcGeneric, True , False,),2848 'IEM_MC_MEM_MAP_U8_WO': (McBlock.parseMcGeneric, True , False,),2849 'IEM_MC_MEM_MAP_U16_RW': (McBlock.parseMcGeneric, True , False,),2850 'IEM_MC_MEM_MAP_U16_RO': (McBlock.parseMcGeneric, True , False,),2851 'IEM_MC_MEM_MAP_U16_WO': (McBlock.parseMcGeneric, True , False,),2852 'IEM_MC_MEM_MAP_U32_RW': (McBlock.parseMcGeneric, True , False,),2853 'IEM_MC_MEM_MAP_U32_RO': (McBlock.parseMcGeneric, True , False,),2854 'IEM_MC_MEM_MAP_U32_WO': (McBlock.parseMcGeneric, True , False,),2855 'IEM_MC_MEM_MAP_U64_RW': (McBlock.parseMcGeneric, True , False,),2856 'IEM_MC_MEM_MAP_U64_RO': (McBlock.parseMcGeneric, True , False,),2857 'IEM_MC_MEM_MAP_U64_WO': (McBlock.parseMcGeneric, True , False,),2858 'IEM_MC_MERGE_YREG_U32_U96_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2859 'IEM_MC_MERGE_YREG_U64_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2860 'IEM_MC_MERGE_YREG_U64HI_U64HI_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2861 'IEM_MC_MERGE_YREG_U64LO_U64LO_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2862 'IEM_MC_MERGE_YREG_U64LO_U64LOCAL_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2863 'IEM_MC_MERGE_YREG_U64LOCAL_U64HI_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2864 'IEM_MC_MODIFIED_MREG': (McBlock.parseMcGeneric, True , False,),2865 'IEM_MC_MODIFIED_MREG_BY_REF': (McBlock.parseMcGeneric, True , False,),2866 'IEM_MC_OR_2LOCS_U32': (McBlock.parseMcGeneric, False , False,),2867 'IEM_MC_OR_GREG_U16': (McBlock.parseMcGeneric, True , False,),2868 'IEM_MC_OR_GREG_U32': (McBlock.parseMcGeneric, True , False,),2869 'IEM_MC_OR_GREG_U64': (McBlock.parseMcGeneric, True , False,),2870 'IEM_MC_OR_GREG_U8': (McBlock.parseMcGeneric, True , False,),2871 'IEM_MC_OR_LOCAL_U16': (McBlock.parseMcGeneric, False , False,),2872 'IEM_MC_OR_LOCAL_U32': (McBlock.parseMcGeneric, False , False,),2873 'IEM_MC_OR_LOCAL_U8': (McBlock.parseMcGeneric, False , False,),2874 'IEM_MC_POP_U16': (McBlock.parseMcGeneric, True , False,),2875 'IEM_MC_POP_U32': (McBlock.parseMcGeneric, True , False,),2876 'IEM_MC_POP_U64': (McBlock.parseMcGeneric, True , False,),2877 'IEM_MC_PREPARE_AVX_USAGE': (McBlock.parseMcGeneric, False , False,),2878 'IEM_MC_PREPARE_FPU_USAGE': (McBlock.parseMcGeneric, False , False,),2879 'IEM_MC_PREPARE_SSE_USAGE': (McBlock.parseMcGeneric, False , False,),2880 'IEM_MC_PUSH_FPU_RESULT': (McBlock.parseMcGeneric, True , False,),2881 'IEM_MC_PUSH_FPU_RESULT_MEM_OP': (McBlock.parseMcGeneric, True , False,),2882 'IEM_MC_PUSH_FPU_RESULT_TWO': (McBlock.parseMcGeneric, True , False,),2883 'IEM_MC_PUSH_U16': (McBlock.parseMcGeneric, True , False,),2884 'IEM_MC_PUSH_U32': (McBlock.parseMcGeneric, True , False,),2885 'IEM_MC_PUSH_U32_SREG': (McBlock.parseMcGeneric, True , False,),2886 'IEM_MC_PUSH_U64': (McBlock.parseMcGeneric, True , False,),2887 'IEM_MC_RAISE_DIVIDE_ERROR': (McBlock.parseMcGeneric, True , False,),2888 'IEM_MC_RAISE_GP0_IF_CPL_NOT_ZERO': (McBlock.parseMcGeneric, True , False,),2889 'IEM_MC_RAISE_GP0_IF_EFF_ADDR_UNALIGNED': (McBlock.parseMcGeneric, True , False,),2890 'IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT': (McBlock.parseMcGeneric, True , False,),2891 'IEM_MC_REF_EFLAGS': (McBlock.parseMcGeneric, False , False,),2892 'IEM_MC_REF_FPUREG': (McBlock.parseMcGeneric, False , False,),2893 'IEM_MC_REF_GREG_I32': (McBlock.parseMcGeneric, False , False,),2894 'IEM_MC_REF_GREG_I32_CONST': (McBlock.parseMcGeneric, False , False,),2895 'IEM_MC_REF_GREG_I64': (McBlock.parseMcGeneric, False , False,),2896 'IEM_MC_REF_GREG_I64_CONST': (McBlock.parseMcGeneric, False , False,),2897 'IEM_MC_REF_GREG_U16': (McBlock.parseMcGeneric, False , False,),2898 'IEM_MC_REF_GREG_U16_CONST': (McBlock.parseMcGeneric, False , False,),2899 'IEM_MC_REF_GREG_U32': (McBlock.parseMcGeneric, False , False,),2900 'IEM_MC_REF_GREG_U32_CONST': (McBlock.parseMcGeneric, False , False,),2901 'IEM_MC_REF_GREG_U64': (McBlock.parseMcGeneric, False , False,),2902 'IEM_MC_REF_GREG_U64_CONST': (McBlock.parseMcGeneric, False , False,),2903 'IEM_MC_REF_GREG_U8': (McBlock.parseMcGeneric, False , False,),2904 'IEM_MC_REF_GREG_U8_CONST': (McBlock.parseMcGeneric, False , False,),2905 'IEM_MC_REF_LOCAL': (McBlock.parseMcGeneric, False , False,),2906 'IEM_MC_REF_MREG_U32_CONST': (McBlock.parseMcGeneric, False , False,),2907 'IEM_MC_REF_MREG_U64': (McBlock.parseMcGeneric, False , False,),2908 'IEM_MC_REF_MREG_U64_CONST': (McBlock.parseMcGeneric, False , False,),2909 'IEM_MC_REF_MXCSR': (McBlock.parseMcGeneric, False , False,),2910 'IEM_MC_REF_XREG_R32_CONST': (McBlock.parseMcGeneric, False , False,),2911 'IEM_MC_REF_XREG_R64_CONST': (McBlock.parseMcGeneric, False , False,),2912 'IEM_MC_REF_XREG_U128': (McBlock.parseMcGeneric, False , False,),2913 'IEM_MC_REF_XREG_U128_CONST': (McBlock.parseMcGeneric, False , False,),2914 'IEM_MC_REF_XREG_U32_CONST': (McBlock.parseMcGeneric, False , False,),2915 'IEM_MC_REF_XREG_U64_CONST': (McBlock.parseMcGeneric, False , False,),2916 'IEM_MC_REF_XREG_XMM_CONST': (McBlock.parseMcGeneric, False , False,),2917 'IEM_MC_REF_YREG_U128': (McBlock.parseMcGeneric, False , False,),2918 'IEM_MC_REF_YREG_U128_CONST': (McBlock.parseMcGeneric, False , False,),2919 'IEM_MC_REF_YREG_U64_CONST': (McBlock.parseMcGeneric, False , False,),2920 'IEM_MC_REL_JMP_S16_AND_FINISH': (McBlock.parseMcGeneric, True , False,),2921 'IEM_MC_REL_JMP_S32_AND_FINISH': (McBlock.parseMcGeneric, True , False,),2922 'IEM_MC_REL_JMP_S8_AND_FINISH': (McBlock.parseMcGeneric, True , False,),2923 'IEM_MC_RETURN_ON_FAILURE': (McBlock.parseMcGeneric, False , False,),2924 'IEM_MC_SAR_LOCAL_S16': (McBlock.parseMcGeneric, False , False,),2925 'IEM_MC_SAR_LOCAL_S32': (McBlock.parseMcGeneric, False , False,),2926 'IEM_MC_SAR_LOCAL_S64': (McBlock.parseMcGeneric, False , False,),2927 'IEM_MC_SET_EFL_BIT': (McBlock.parseMcGeneric, True , False,),2928 'IEM_MC_SET_FPU_RESULT': (McBlock.parseMcGeneric, True , False,),2929 'IEM_MC_SET_RIP_U16_AND_FINISH': (McBlock.parseMcGeneric, True , False,),2930 'IEM_MC_SET_RIP_U32_AND_FINISH': (McBlock.parseMcGeneric, True , False,),2931 'IEM_MC_SET_RIP_U64_AND_FINISH': (McBlock.parseMcGeneric, True , False,),2932 'IEM_MC_SHL_LOCAL_S16': (McBlock.parseMcGeneric, False , False,),2933 'IEM_MC_SHL_LOCAL_S32': (McBlock.parseMcGeneric, False , False,),2934 'IEM_MC_SHL_LOCAL_S64': (McBlock.parseMcGeneric, False , False,),2935 'IEM_MC_SHR_LOCAL_U8': (McBlock.parseMcGeneric, False , False,),2936 'IEM_MC_SSE_UPDATE_MXCSR': (McBlock.parseMcGeneric, True , False,),2937 'IEM_MC_STORE_FPU_RESULT': (McBlock.parseMcGeneric, True , False,),2938 'IEM_MC_STORE_FPU_RESULT_MEM_OP': (McBlock.parseMcGeneric, True , False,),2939 'IEM_MC_STORE_FPU_RESULT_THEN_POP': (McBlock.parseMcGeneric, True , False,),2940 'IEM_MC_STORE_FPU_RESULT_WITH_MEM_OP_THEN_POP': (McBlock.parseMcGeneric, True , False,),2941 'IEM_MC_STORE_FPUREG_R80_SRC_REF': (McBlock.parseMcGeneric, True , False,),2942 'IEM_MC_STORE_GREG_I64': (McBlock.parseMcGeneric, True , False,),2943 'IEM_MC_STORE_GREG_U16': (McBlock.parseMcGeneric, True , False,),2944 'IEM_MC_STORE_GREG_U16_CONST': (McBlock.parseMcGeneric, True , False,),2945 'IEM_MC_STORE_GREG_U32': (McBlock.parseMcGeneric, True , False,),2946 'IEM_MC_STORE_GREG_U32_CONST': (McBlock.parseMcGeneric, True , False,),2947 'IEM_MC_STORE_GREG_U64': (McBlock.parseMcGeneric, True , False,),2948 'IEM_MC_STORE_GREG_U64_CONST': (McBlock.parseMcGeneric, True , False,),2949 'IEM_MC_STORE_GREG_U8': (McBlock.parseMcGeneric, True , False,),2950 'IEM_MC_STORE_GREG_U8_CONST': (McBlock.parseMcGeneric, True , False,),2951 'IEM_MC_STORE_MEM_I16_CONST_BY_REF': (McBlock.parseMcGeneric, True , False,),2952 'IEM_MC_STORE_MEM_I32_CONST_BY_REF': (McBlock.parseMcGeneric, True , False,),2953 'IEM_MC_STORE_MEM_I64_CONST_BY_REF': (McBlock.parseMcGeneric, True , False,),2954 'IEM_MC_STORE_MEM_I8_CONST_BY_REF': (McBlock.parseMcGeneric, True , False,),2955 'IEM_MC_STORE_MEM_INDEF_D80_BY_REF': (McBlock.parseMcGeneric, True , False,),2956 'IEM_MC_STORE_MEM_NEG_QNAN_R32_BY_REF': (McBlock.parseMcGeneric, True , False,),2957 'IEM_MC_STORE_MEM_NEG_QNAN_R64_BY_REF': (McBlock.parseMcGeneric, True , False,),2958 'IEM_MC_STORE_MEM_NEG_QNAN_R80_BY_REF': (McBlock.parseMcGeneric, True , False,),2959 'IEM_MC_STORE_MEM_U128': (McBlock.parseMcGeneric, True , False,),2960 'IEM_MC_STORE_MEM_U128_ALIGN_SSE': (McBlock.parseMcGeneric, True , False,),2961 'IEM_MC_STORE_MEM_U16': (McBlock.parseMcGeneric, True , False,),2962 'IEM_MC_STORE_MEM_U16_CONST': (McBlock.parseMcGeneric, True , False,),2963 'IEM_MC_STORE_MEM_U256': (McBlock.parseMcGeneric, True , False,),2964 'IEM_MC_STORE_MEM_U256_ALIGN_AVX': (McBlock.parseMcGeneric, True , False,),2965 'IEM_MC_STORE_MEM_U32': (McBlock.parseMcGeneric, True , False,),2966 'IEM_MC_STORE_MEM_U32_CONST': (McBlock.parseMcGeneric, True , False,),2967 'IEM_MC_STORE_MEM_U64': (McBlock.parseMcGeneric, True , False,),2968 'IEM_MC_STORE_MEM_U64_CONST': (McBlock.parseMcGeneric, True , False,),2969 'IEM_MC_STORE_MEM_U8': (McBlock.parseMcGeneric, True , False,),2970 'IEM_MC_STORE_MEM_U8_CONST': (McBlock.parseMcGeneric, True , False,),2971 'IEM_MC_STORE_MREG_U32_ZX_U64': (McBlock.parseMcGeneric, True , False,),2972 'IEM_MC_STORE_MREG_U64': (McBlock.parseMcGeneric, True , False,),2973 'IEM_MC_STORE_SREG_BASE_U32': (McBlock.parseMcGeneric, True , False,),2974 'IEM_MC_STORE_SREG_BASE_U64': (McBlock.parseMcGeneric, True , False,),2975 'IEM_MC_STORE_SSE_RESULT': (McBlock.parseMcGeneric, True , False,),2976 'IEM_MC_STORE_XREG_HI_U64': (McBlock.parseMcGeneric, True , False,),2977 'IEM_MC_STORE_XREG_R32': (McBlock.parseMcGeneric, True , False,),2978 'IEM_MC_STORE_XREG_R64': (McBlock.parseMcGeneric, True , False,),2979 'IEM_MC_STORE_XREG_U128': (McBlock.parseMcGeneric, True , False,),2980 'IEM_MC_STORE_XREG_U16': (McBlock.parseMcGeneric, True , False,),2981 'IEM_MC_STORE_XREG_U32': (McBlock.parseMcGeneric, True , False,),2982 'IEM_MC_STORE_XREG_U32_U128': (McBlock.parseMcGeneric, True , False,),2983 'IEM_MC_STORE_XREG_U32_ZX_U128': (McBlock.parseMcGeneric, True , False,),2984 'IEM_MC_STORE_XREG_U64': (McBlock.parseMcGeneric, True , False,),2985 'IEM_MC_STORE_XREG_U64_ZX_U128': (McBlock.parseMcGeneric, True , False,),2986 'IEM_MC_STORE_XREG_U8': (McBlock.parseMcGeneric, True , False,),2987 'IEM_MC_STORE_XREG_XMM': (McBlock.parseMcGeneric, True , False,),2988 'IEM_MC_STORE_XREG_XMM_U32': (McBlock.parseMcGeneric, True , False,),2989 'IEM_MC_STORE_XREG_XMM_U64': (McBlock.parseMcGeneric, True , False,),2990 'IEM_MC_STORE_YREG_U128': (McBlock.parseMcGeneric, True , False,),2991 'IEM_MC_STORE_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2992 'IEM_MC_STORE_YREG_U256_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2993 'IEM_MC_STORE_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2994 'IEM_MC_STORE_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True , False,),2995 'IEM_MC_SUB_GREG_U16': (McBlock.parseMcGeneric, True , False,),2996 'IEM_MC_SUB_GREG_U32': (McBlock.parseMcGeneric, True , False,),2997 'IEM_MC_SUB_GREG_U64': (McBlock.parseMcGeneric, True , False,),2998 'IEM_MC_SUB_GREG_U8': (McBlock.parseMcGeneric, True , False,),2999 'IEM_MC_SUB_LOCAL_U16': (McBlock.parseMcGeneric, False , False,),3000 'IEM_MC_UPDATE_FPU_OPCODE_IP': (McBlock.parseMcGeneric, True , False,),3001 'IEM_MC_UPDATE_FSW': (McBlock.parseMcGeneric, True , False,),3002 'IEM_MC_UPDATE_FSW_CONST': (McBlock.parseMcGeneric, True , False,),3003 'IEM_MC_UPDATE_FSW_THEN_POP': (McBlock.parseMcGeneric, True , False,),3004 'IEM_MC_UPDATE_FSW_THEN_POP_POP': (McBlock.parseMcGeneric, True , False,),3005 'IEM_MC_UPDATE_FSW_WITH_MEM_OP': (McBlock.parseMcGeneric, True , False,),3006 'IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP': (McBlock.parseMcGeneric, True , False,),2610 'IEM_MC_ACTUALIZE_AVX_STATE_FOR_CHANGE': (McBlock.parseMcGeneric, False), 2611 'IEM_MC_ACTUALIZE_AVX_STATE_FOR_READ': (McBlock.parseMcGeneric, False), 2612 'IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE': (McBlock.parseMcGeneric, False), 2613 'IEM_MC_ACTUALIZE_FPU_STATE_FOR_READ': (McBlock.parseMcGeneric, False), 2614 'IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE': (McBlock.parseMcGeneric, False), 2615 'IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ': (McBlock.parseMcGeneric, False), 2616 'IEM_MC_ADD_GREG_U16': (McBlock.parseMcGeneric, True), 2617 'IEM_MC_ADD_GREG_U16_TO_LOCAL': (McBlock.parseMcGeneric, False), 2618 'IEM_MC_ADD_GREG_U32': (McBlock.parseMcGeneric, True), 2619 'IEM_MC_ADD_GREG_U32_TO_LOCAL': (McBlock.parseMcGeneric, False), 2620 'IEM_MC_ADD_GREG_U64': (McBlock.parseMcGeneric, True), 2621 'IEM_MC_ADD_GREG_U64_TO_LOCAL': (McBlock.parseMcGeneric, False), 2622 'IEM_MC_ADD_GREG_U8': (McBlock.parseMcGeneric, True), 2623 'IEM_MC_ADD_GREG_U8_TO_LOCAL': (McBlock.parseMcGeneric, False), 2624 'IEM_MC_ADD_LOCAL_S16_TO_EFF_ADDR': (McBlock.parseMcGeneric, True), 2625 'IEM_MC_ADD_LOCAL_S32_TO_EFF_ADDR': (McBlock.parseMcGeneric, True), 2626 'IEM_MC_ADD_LOCAL_S64_TO_EFF_ADDR': (McBlock.parseMcGeneric, True), 2627 'IEM_MC_ADVANCE_RIP_AND_FINISH': (McBlock.parseMcGeneric, True), 2628 'IEM_MC_AND_2LOCS_U32': (McBlock.parseMcGeneric, False), 2629 'IEM_MC_AND_ARG_U16': (McBlock.parseMcGeneric, False), 2630 'IEM_MC_AND_ARG_U32': (McBlock.parseMcGeneric, False), 2631 'IEM_MC_AND_ARG_U64': (McBlock.parseMcGeneric, False), 2632 'IEM_MC_AND_GREG_U16': (McBlock.parseMcGeneric, True), 2633 'IEM_MC_AND_GREG_U32': (McBlock.parseMcGeneric, True), 2634 'IEM_MC_AND_GREG_U64': (McBlock.parseMcGeneric, True), 2635 'IEM_MC_AND_GREG_U8': (McBlock.parseMcGeneric, True), 2636 'IEM_MC_AND_LOCAL_U16': (McBlock.parseMcGeneric, False), 2637 'IEM_MC_AND_LOCAL_U32': (McBlock.parseMcGeneric, False), 2638 'IEM_MC_AND_LOCAL_U64': (McBlock.parseMcGeneric, False), 2639 'IEM_MC_AND_LOCAL_U8': (McBlock.parseMcGeneric, False), 2640 'IEM_MC_ARG': (McBlock.parseMcArg, False), 2641 'IEM_MC_ARG_CONST': (McBlock.parseMcArgConst, False), 2642 'IEM_MC_ARG_LOCAL_EFLAGS': (McBlock.parseMcArgLocalEFlags, False), 2643 'IEM_MC_ARG_LOCAL_REF': (McBlock.parseMcArgLocalRef, False), 2644 'IEM_MC_ASSIGN': (McBlock.parseMcGeneric, False), 2645 'IEM_MC_ASSIGN_TO_SMALLER': (McBlock.parseMcGeneric, False), 2646 'IEM_MC_ASSIGN_U8_SX_U64': (McBlock.parseMcGeneric, False), 2647 'IEM_MC_ASSIGN_U32_SX_U64': (McBlock.parseMcGeneric, False), 2648 'IEM_MC_BEGIN': (McBlock.parseMcBegin, False), 2649 'IEM_MC_BROADCAST_XREG_U16_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2650 'IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2651 'IEM_MC_BROADCAST_XREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2652 'IEM_MC_BROADCAST_XREG_U8_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2653 'IEM_MC_BROADCAST_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2654 'IEM_MC_BROADCAST_YREG_U16_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2655 'IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2656 'IEM_MC_BROADCAST_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2657 'IEM_MC_BROADCAST_YREG_U8_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2658 'IEM_MC_BSWAP_LOCAL_U16': (McBlock.parseMcGeneric, False), 2659 'IEM_MC_BSWAP_LOCAL_U32': (McBlock.parseMcGeneric, False), 2660 'IEM_MC_BSWAP_LOCAL_U64': (McBlock.parseMcGeneric, False), 2661 'IEM_MC_CALC_RM_EFF_ADDR': (McBlock.parseMcGeneric, False), 2662 'IEM_MC_CALL_AIMPL_3': (McBlock.parseMcCallAImpl, True), 2663 'IEM_MC_CALL_AIMPL_4': (McBlock.parseMcCallAImpl, True), 2664 'IEM_MC_CALL_AVX_AIMPL_2': (McBlock.parseMcCallAvxAImpl, True), 2665 'IEM_MC_CALL_AVX_AIMPL_3': (McBlock.parseMcCallAvxAImpl, True), 2666 'IEM_MC_CALL_CIMPL_0': (McBlock.parseMcCallCImpl, True), 2667 'IEM_MC_CALL_CIMPL_1': (McBlock.parseMcCallCImpl, True), 2668 'IEM_MC_CALL_CIMPL_2': (McBlock.parseMcCallCImpl, True), 2669 'IEM_MC_CALL_CIMPL_3': (McBlock.parseMcCallCImpl, True), 2670 'IEM_MC_CALL_CIMPL_4': (McBlock.parseMcCallCImpl, True), 2671 'IEM_MC_CALL_CIMPL_5': (McBlock.parseMcCallCImpl, True), 2672 'IEM_MC_CALL_FPU_AIMPL_1': (McBlock.parseMcCallFpuAImpl, True), 2673 'IEM_MC_CALL_FPU_AIMPL_2': (McBlock.parseMcCallFpuAImpl, True), 2674 'IEM_MC_CALL_FPU_AIMPL_3': (McBlock.parseMcCallFpuAImpl, True), 2675 'IEM_MC_CALL_MMX_AIMPL_2': (McBlock.parseMcCallMmxAImpl, True), 2676 'IEM_MC_CALL_MMX_AIMPL_3': (McBlock.parseMcCallMmxAImpl, True), 2677 'IEM_MC_CALL_SSE_AIMPL_2': (McBlock.parseMcCallSseAImpl, True), 2678 'IEM_MC_CALL_SSE_AIMPL_3': (McBlock.parseMcCallSseAImpl, True), 2679 'IEM_MC_CALL_VOID_AIMPL_0': (McBlock.parseMcCallVoidAImpl, True), 2680 'IEM_MC_CALL_VOID_AIMPL_1': (McBlock.parseMcCallVoidAImpl, True), 2681 'IEM_MC_CALL_VOID_AIMPL_2': (McBlock.parseMcCallVoidAImpl, True), 2682 'IEM_MC_CALL_VOID_AIMPL_3': (McBlock.parseMcCallVoidAImpl, True), 2683 'IEM_MC_CALL_VOID_AIMPL_4': (McBlock.parseMcCallVoidAImpl, True), 2684 'IEM_MC_CLEAR_EFL_BIT': (McBlock.parseMcGeneric, True), 2685 'IEM_MC_CLEAR_FSW_EX': (McBlock.parseMcGeneric, True), 2686 'IEM_MC_CLEAR_HIGH_GREG_U64': (McBlock.parseMcGeneric, True), 2687 'IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF': (McBlock.parseMcGeneric, True), 2688 'IEM_MC_CLEAR_XREG_U32_MASK': (McBlock.parseMcGeneric, True), 2689 'IEM_MC_CLEAR_YREG_128_UP': (McBlock.parseMcGeneric, True), 2690 'IEM_MC_COMMIT_EFLAGS': (McBlock.parseMcGeneric, True), 2691 'IEM_MC_COPY_XREG_U128': (McBlock.parseMcGeneric, True), 2692 'IEM_MC_COPY_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2693 'IEM_MC_COPY_YREG_U256_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2694 'IEM_MC_COPY_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2695 'IEM_MC_DEFER_TO_CIMPL_0_RET': (McBlock.parseMcGeneric, False), 2696 'IEM_MC_DEFER_TO_CIMPL_1_RET': (McBlock.parseMcGeneric, False), 2697 'IEM_MC_DEFER_TO_CIMPL_2_RET': (McBlock.parseMcGeneric, False), 2698 'IEM_MC_DEFER_TO_CIMPL_3_RET': (McBlock.parseMcGeneric, False), 2699 'IEM_MC_END': (McBlock.parseMcGeneric, True), 2700 'IEM_MC_FETCH_EFLAGS': (McBlock.parseMcGeneric, False), 2701 'IEM_MC_FETCH_EFLAGS_U8': (McBlock.parseMcGeneric, False), 2702 'IEM_MC_FETCH_FCW': (McBlock.parseMcGeneric, False), 2703 'IEM_MC_FETCH_FSW': (McBlock.parseMcGeneric, False), 2704 'IEM_MC_FETCH_GREG_U16': (McBlock.parseMcGeneric, False), 2705 'IEM_MC_FETCH_GREG_U16_SX_U32': (McBlock.parseMcGeneric, False), 2706 'IEM_MC_FETCH_GREG_U16_SX_U64': (McBlock.parseMcGeneric, False), 2707 'IEM_MC_FETCH_GREG_U16_ZX_U32': (McBlock.parseMcGeneric, False), 2708 'IEM_MC_FETCH_GREG_U16_ZX_U64': (McBlock.parseMcGeneric, False), 2709 'IEM_MC_FETCH_GREG_U32': (McBlock.parseMcGeneric, False), 2710 'IEM_MC_FETCH_GREG_U32_SX_U64': (McBlock.parseMcGeneric, False), 2711 'IEM_MC_FETCH_GREG_U32_ZX_U64': (McBlock.parseMcGeneric, False), 2712 'IEM_MC_FETCH_GREG_U64': (McBlock.parseMcGeneric, False), 2713 'IEM_MC_FETCH_GREG_U64_ZX_U64': (McBlock.parseMcGeneric, False), 2714 'IEM_MC_FETCH_GREG_U8': (McBlock.parseMcGeneric, False), 2715 'IEM_MC_FETCH_GREG_U8_SX_U16': (McBlock.parseMcGeneric, False), 2716 'IEM_MC_FETCH_GREG_U8_SX_U32': (McBlock.parseMcGeneric, False), 2717 'IEM_MC_FETCH_GREG_U8_SX_U64': (McBlock.parseMcGeneric, False), 2718 'IEM_MC_FETCH_GREG_U8_ZX_U16': (McBlock.parseMcGeneric, False), 2719 'IEM_MC_FETCH_GREG_U8_ZX_U32': (McBlock.parseMcGeneric, False), 2720 'IEM_MC_FETCH_GREG_U8_ZX_U64': (McBlock.parseMcGeneric, False), 2721 'IEM_MC_FETCH_MEM_D80': (McBlock.parseMcGeneric, True), 2722 'IEM_MC_FETCH_MEM_I16': (McBlock.parseMcGeneric, True), 2723 'IEM_MC_FETCH_MEM_I32': (McBlock.parseMcGeneric, True), 2724 'IEM_MC_FETCH_MEM_I64': (McBlock.parseMcGeneric, True), 2725 'IEM_MC_FETCH_MEM_R32': (McBlock.parseMcGeneric, True), 2726 'IEM_MC_FETCH_MEM_R64': (McBlock.parseMcGeneric, True), 2727 'IEM_MC_FETCH_MEM_R80': (McBlock.parseMcGeneric, True), 2728 'IEM_MC_FETCH_MEM_S32_SX_U64': (McBlock.parseMcGeneric, True), 2729 'IEM_MC_FETCH_MEM_U128': (McBlock.parseMcGeneric, True), 2730 'IEM_MC_FETCH_MEM_U128_ALIGN_SSE': (McBlock.parseMcGeneric, True), 2731 'IEM_MC_FETCH_MEM_U128_NO_AC': (McBlock.parseMcGeneric, True), 2732 'IEM_MC_FETCH_MEM_U16': (McBlock.parseMcGeneric, True), 2733 'IEM_MC_FETCH_MEM_U16_DISP': (McBlock.parseMcGeneric, True), 2734 'IEM_MC_FETCH_MEM_U16_SX_U32': (McBlock.parseMcGeneric, True), 2735 'IEM_MC_FETCH_MEM_U16_SX_U64': (McBlock.parseMcGeneric, True), 2736 'IEM_MC_FETCH_MEM_U16_ZX_U32': (McBlock.parseMcGeneric, True), 2737 'IEM_MC_FETCH_MEM_U16_ZX_U64': (McBlock.parseMcGeneric, True), 2738 'IEM_MC_FETCH_MEM_U256': (McBlock.parseMcGeneric, True), 2739 'IEM_MC_FETCH_MEM_U256_ALIGN_AVX': (McBlock.parseMcGeneric, True), 2740 'IEM_MC_FETCH_MEM_U256_NO_AC': (McBlock.parseMcGeneric, True), 2741 'IEM_MC_FETCH_MEM_U32': (McBlock.parseMcGeneric, True), 2742 'IEM_MC_FETCH_MEM_U32_DISP': (McBlock.parseMcGeneric, True), 2743 'IEM_MC_FETCH_MEM_U32_SX_U64': (McBlock.parseMcGeneric, True), 2744 'IEM_MC_FETCH_MEM_U32_ZX_U64': (McBlock.parseMcGeneric, True), 2745 'IEM_MC_FETCH_MEM_U64': (McBlock.parseMcGeneric, True), 2746 'IEM_MC_FETCH_MEM_U64_ALIGN_U128': (McBlock.parseMcGeneric, True), 2747 'IEM_MC_FETCH_MEM_U64_DISP': (McBlock.parseMcGeneric, True), 2748 'IEM_MC_FETCH_MEM_U8': (McBlock.parseMcGeneric, True), 2749 'IEM_MC_FETCH_MEM_U8_SX_U16': (McBlock.parseMcGeneric, True), 2750 'IEM_MC_FETCH_MEM_U8_SX_U32': (McBlock.parseMcGeneric, True), 2751 'IEM_MC_FETCH_MEM_U8_SX_U64': (McBlock.parseMcGeneric, True), 2752 'IEM_MC_FETCH_MEM_U8_ZX_U16': (McBlock.parseMcGeneric, True), 2753 'IEM_MC_FETCH_MEM_U8_ZX_U32': (McBlock.parseMcGeneric, True), 2754 'IEM_MC_FETCH_MEM_U8_ZX_U64': (McBlock.parseMcGeneric, True), 2755 'IEM_MC_FETCH_MEM_XMM': (McBlock.parseMcGeneric, True), 2756 'IEM_MC_FETCH_MEM_XMM_ALIGN_SSE': (McBlock.parseMcGeneric, True), 2757 'IEM_MC_FETCH_MEM_XMM_NO_AC': (McBlock.parseMcGeneric, True), 2758 'IEM_MC_FETCH_MEM_XMM_U32': (McBlock.parseMcGeneric, True), 2759 'IEM_MC_FETCH_MEM_XMM_U64': (McBlock.parseMcGeneric, True), 2760 'IEM_MC_FETCH_MEM_YMM': (McBlock.parseMcGeneric, True), 2761 'IEM_MC_FETCH_MEM_YMM_ALIGN_AVX': (McBlock.parseMcGeneric, True), 2762 'IEM_MC_FETCH_MEM_YMM_NO_AC': (McBlock.parseMcGeneric, True), 2763 'IEM_MC_FETCH_MEM16_U8': (McBlock.parseMcGeneric, True), 2764 'IEM_MC_FETCH_MEM32_U8': (McBlock.parseMcGeneric, True), 2765 'IEM_MC_FETCH_MREG_U32': (McBlock.parseMcGeneric, False), 2766 'IEM_MC_FETCH_MREG_U64': (McBlock.parseMcGeneric, False), 2767 'IEM_MC_FETCH_SREG_BASE_U32': (McBlock.parseMcGeneric, False), 2768 'IEM_MC_FETCH_SREG_BASE_U64': (McBlock.parseMcGeneric, False), 2769 'IEM_MC_FETCH_SREG_U16': (McBlock.parseMcGeneric, False), 2770 'IEM_MC_FETCH_SREG_ZX_U32': (McBlock.parseMcGeneric, False), 2771 'IEM_MC_FETCH_SREG_ZX_U64': (McBlock.parseMcGeneric, False), 2772 'IEM_MC_FETCH_XREG_U128': (McBlock.parseMcGeneric, False), 2773 'IEM_MC_FETCH_XREG_U16': (McBlock.parseMcGeneric, False), 2774 'IEM_MC_FETCH_XREG_U32': (McBlock.parseMcGeneric, False), 2775 'IEM_MC_FETCH_XREG_U64': (McBlock.parseMcGeneric, False), 2776 'IEM_MC_FETCH_XREG_U8': (McBlock.parseMcGeneric, False), 2777 'IEM_MC_FETCH_XREG_XMM': (McBlock.parseMcGeneric, False), 2778 'IEM_MC_FETCH_YREG_2ND_U64': (McBlock.parseMcGeneric, False), 2779 'IEM_MC_FETCH_YREG_U128': (McBlock.parseMcGeneric, False), 2780 'IEM_MC_FETCH_YREG_U256': (McBlock.parseMcGeneric, False), 2781 'IEM_MC_FETCH_YREG_U32': (McBlock.parseMcGeneric, False), 2782 'IEM_MC_FETCH_YREG_U64': (McBlock.parseMcGeneric, False), 2783 'IEM_MC_FLIP_EFL_BIT': (McBlock.parseMcGeneric, True), 2784 'IEM_MC_FPU_FROM_MMX_MODE': (McBlock.parseMcGeneric, True), 2785 'IEM_MC_FPU_STACK_DEC_TOP': (McBlock.parseMcGeneric, True), 2786 'IEM_MC_FPU_STACK_FREE': (McBlock.parseMcGeneric, True), 2787 'IEM_MC_FPU_STACK_INC_TOP': (McBlock.parseMcGeneric, True), 2788 'IEM_MC_FPU_STACK_PUSH_OVERFLOW': (McBlock.parseMcGeneric, True), 2789 'IEM_MC_FPU_STACK_PUSH_OVERFLOW_MEM_OP': (McBlock.parseMcGeneric, True), 2790 'IEM_MC_FPU_STACK_PUSH_UNDERFLOW': (McBlock.parseMcGeneric, True), 2791 'IEM_MC_FPU_STACK_PUSH_UNDERFLOW_TWO': (McBlock.parseMcGeneric, True), 2792 'IEM_MC_FPU_STACK_UNDERFLOW': (McBlock.parseMcGeneric, True), 2793 'IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP': (McBlock.parseMcGeneric, True), 2794 'IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP': (McBlock.parseMcGeneric, True), 2795 'IEM_MC_FPU_STACK_UNDERFLOW_THEN_POP': (McBlock.parseMcGeneric, True), 2796 'IEM_MC_FPU_STACK_UNDERFLOW_THEN_POP_POP': (McBlock.parseMcGeneric, True), 2797 'IEM_MC_FPU_TO_MMX_MODE': (McBlock.parseMcGeneric, True), 2798 'IEM_MC_IF_CX_IS_NZ': (McBlock.parseMcGenericCond, True), 2799 'IEM_MC_IF_CX_IS_NZ_AND_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True), 2800 'IEM_MC_IF_CX_IS_NZ_AND_EFL_BIT_SET': (McBlock.parseMcGenericCond, True), 2801 'IEM_MC_IF_ECX_IS_NZ': (McBlock.parseMcGenericCond, True), 2802 'IEM_MC_IF_ECX_IS_NZ_AND_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True), 2803 'IEM_MC_IF_ECX_IS_NZ_AND_EFL_BIT_SET': (McBlock.parseMcGenericCond, True), 2804 'IEM_MC_IF_EFL_ANY_BITS_SET': (McBlock.parseMcGenericCond, True), 2805 'IEM_MC_IF_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True), 2806 'IEM_MC_IF_EFL_BIT_NOT_SET_AND_BITS_EQ': (McBlock.parseMcGenericCond, True), 2807 'IEM_MC_IF_EFL_BIT_SET': (McBlock.parseMcGenericCond, True), 2808 'IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE': (McBlock.parseMcGenericCond, True), 2809 'IEM_MC_IF_EFL_BITS_EQ': (McBlock.parseMcGenericCond, True), 2810 'IEM_MC_IF_EFL_BITS_NE': (McBlock.parseMcGenericCond, True), 2811 'IEM_MC_IF_EFL_NO_BITS_SET': (McBlock.parseMcGenericCond, True), 2812 'IEM_MC_IF_FCW_IM': (McBlock.parseMcGenericCond, True), 2813 'IEM_MC_IF_FPUREG_IS_EMPTY': (McBlock.parseMcGenericCond, True), 2814 'IEM_MC_IF_FPUREG_NOT_EMPTY': (McBlock.parseMcGenericCond, True), 2815 'IEM_MC_IF_FPUREG_NOT_EMPTY_REF_R80': (McBlock.parseMcGenericCond, True), 2816 'IEM_MC_IF_GREG_BIT_SET': (McBlock.parseMcGenericCond, True), 2817 'IEM_MC_IF_LOCAL_IS_Z': (McBlock.parseMcGenericCond, True), 2818 'IEM_MC_IF_MXCSR_XCPT_PENDING': (McBlock.parseMcGenericCond, True), 2819 'IEM_MC_IF_RCX_IS_NZ': (McBlock.parseMcGenericCond, True), 2820 'IEM_MC_IF_RCX_IS_NZ_AND_EFL_BIT_NOT_SET': (McBlock.parseMcGenericCond, True), 2821 'IEM_MC_IF_RCX_IS_NZ_AND_EFL_BIT_SET': (McBlock.parseMcGenericCond, True), 2822 'IEM_MC_IF_TWO_FPUREGS_NOT_EMPTY_REF_R80': (McBlock.parseMcGenericCond, True), 2823 'IEM_MC_IF_TWO_FPUREGS_NOT_EMPTY_REF_R80_FIRST': (McBlock.parseMcGenericCond, True), 2824 'IEM_MC_IMPLICIT_AVX_AIMPL_ARGS': (McBlock.parseMcGeneric, False), 2825 'IEM_MC_INT_CLEAR_ZMM_256_UP': (McBlock.parseMcGeneric, True), 2826 'IEM_MC_LOCAL': (McBlock.parseMcLocal, False), 2827 'IEM_MC_LOCAL_CONST': (McBlock.parseMcLocalConst, False), 2828 'IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT': (McBlock.parseMcGeneric, True), 2829 'IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE': (McBlock.parseMcGeneric, True), 2830 'IEM_MC_MAYBE_RAISE_FPU_XCPT': (McBlock.parseMcGeneric, True), 2831 'IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT': (McBlock.parseMcGeneric, True), 2832 'IEM_MC_MAYBE_RAISE_MMX_RELATED_XCPT': (McBlock.parseMcGeneric, True), 2833 'IEM_MC_MAYBE_RAISE_NON_CANONICAL_ADDR_GP0': (McBlock.parseMcGeneric, True), 2834 'IEM_MC_MAYBE_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT': (McBlock.parseMcGeneric, True), 2835 'IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT': (McBlock.parseMcGeneric, True), 2836 'IEM_MC_MAYBE_RAISE_WAIT_DEVICE_NOT_AVAILABLE': (McBlock.parseMcGeneric, True), 2837 'IEM_MC_MEM_COMMIT_AND_UNMAP': (McBlock.parseMcGeneric, True), 2838 'IEM_MC_MEM_COMMIT_AND_UNMAP_RW': (McBlock.parseMcGeneric, True), 2839 'IEM_MC_MEM_COMMIT_AND_UNMAP_RO': (McBlock.parseMcGeneric, True), 2840 'IEM_MC_MEM_COMMIT_AND_UNMAP_WO': (McBlock.parseMcGeneric, True), 2841 'IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE': (McBlock.parseMcGeneric, True), 2842 'IEM_MC_MEM_MAP': (McBlock.parseMcGeneric, True), 2843 'IEM_MC_MEM_MAP_EX': (McBlock.parseMcGeneric, True), 2844 'IEM_MC_MEM_MAP_U8_RW': (McBlock.parseMcGeneric, True), 2845 'IEM_MC_MEM_MAP_U8_RO': (McBlock.parseMcGeneric, True), 2846 'IEM_MC_MEM_MAP_U8_WO': (McBlock.parseMcGeneric, True), 2847 'IEM_MC_MEM_MAP_U16_RW': (McBlock.parseMcGeneric, True), 2848 'IEM_MC_MEM_MAP_U16_RO': (McBlock.parseMcGeneric, True), 2849 'IEM_MC_MEM_MAP_U16_WO': (McBlock.parseMcGeneric, True), 2850 'IEM_MC_MEM_MAP_U32_RW': (McBlock.parseMcGeneric, True), 2851 'IEM_MC_MEM_MAP_U32_RO': (McBlock.parseMcGeneric, True), 2852 'IEM_MC_MEM_MAP_U32_WO': (McBlock.parseMcGeneric, True), 2853 'IEM_MC_MEM_MAP_U64_RW': (McBlock.parseMcGeneric, True), 2854 'IEM_MC_MEM_MAP_U64_RO': (McBlock.parseMcGeneric, True), 2855 'IEM_MC_MEM_MAP_U64_WO': (McBlock.parseMcGeneric, True), 2856 'IEM_MC_MERGE_YREG_U32_U96_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2857 'IEM_MC_MERGE_YREG_U64_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2858 'IEM_MC_MERGE_YREG_U64HI_U64HI_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2859 'IEM_MC_MERGE_YREG_U64LO_U64LO_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2860 'IEM_MC_MERGE_YREG_U64LO_U64LOCAL_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2861 'IEM_MC_MERGE_YREG_U64LOCAL_U64HI_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2862 'IEM_MC_MODIFIED_MREG': (McBlock.parseMcGeneric, True), 2863 'IEM_MC_MODIFIED_MREG_BY_REF': (McBlock.parseMcGeneric, True), 2864 'IEM_MC_OR_2LOCS_U32': (McBlock.parseMcGeneric, False), 2865 'IEM_MC_OR_GREG_U16': (McBlock.parseMcGeneric, True), 2866 'IEM_MC_OR_GREG_U32': (McBlock.parseMcGeneric, True), 2867 'IEM_MC_OR_GREG_U64': (McBlock.parseMcGeneric, True), 2868 'IEM_MC_OR_GREG_U8': (McBlock.parseMcGeneric, True), 2869 'IEM_MC_OR_LOCAL_U16': (McBlock.parseMcGeneric, False), 2870 'IEM_MC_OR_LOCAL_U32': (McBlock.parseMcGeneric, False), 2871 'IEM_MC_OR_LOCAL_U8': (McBlock.parseMcGeneric, False), 2872 'IEM_MC_POP_U16': (McBlock.parseMcGeneric, True), 2873 'IEM_MC_POP_U32': (McBlock.parseMcGeneric, True), 2874 'IEM_MC_POP_U64': (McBlock.parseMcGeneric, True), 2875 'IEM_MC_PREPARE_AVX_USAGE': (McBlock.parseMcGeneric, False), 2876 'IEM_MC_PREPARE_FPU_USAGE': (McBlock.parseMcGeneric, False), 2877 'IEM_MC_PREPARE_SSE_USAGE': (McBlock.parseMcGeneric, False), 2878 'IEM_MC_PUSH_FPU_RESULT': (McBlock.parseMcGeneric, True), 2879 'IEM_MC_PUSH_FPU_RESULT_MEM_OP': (McBlock.parseMcGeneric, True), 2880 'IEM_MC_PUSH_FPU_RESULT_TWO': (McBlock.parseMcGeneric, True), 2881 'IEM_MC_PUSH_U16': (McBlock.parseMcGeneric, True), 2882 'IEM_MC_PUSH_U32': (McBlock.parseMcGeneric, True), 2883 'IEM_MC_PUSH_U32_SREG': (McBlock.parseMcGeneric, True), 2884 'IEM_MC_PUSH_U64': (McBlock.parseMcGeneric, True), 2885 'IEM_MC_RAISE_DIVIDE_ERROR': (McBlock.parseMcGeneric, True), 2886 'IEM_MC_RAISE_GP0_IF_CPL_NOT_ZERO': (McBlock.parseMcGeneric, True), 2887 'IEM_MC_RAISE_GP0_IF_EFF_ADDR_UNALIGNED': (McBlock.parseMcGeneric, True), 2888 'IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT': (McBlock.parseMcGeneric, True), 2889 'IEM_MC_REF_EFLAGS': (McBlock.parseMcGeneric, False), 2890 'IEM_MC_REF_FPUREG': (McBlock.parseMcGeneric, False), 2891 'IEM_MC_REF_GREG_I32': (McBlock.parseMcGeneric, False), 2892 'IEM_MC_REF_GREG_I32_CONST': (McBlock.parseMcGeneric, False), 2893 'IEM_MC_REF_GREG_I64': (McBlock.parseMcGeneric, False), 2894 'IEM_MC_REF_GREG_I64_CONST': (McBlock.parseMcGeneric, False), 2895 'IEM_MC_REF_GREG_U16': (McBlock.parseMcGeneric, False), 2896 'IEM_MC_REF_GREG_U16_CONST': (McBlock.parseMcGeneric, False), 2897 'IEM_MC_REF_GREG_U32': (McBlock.parseMcGeneric, False), 2898 'IEM_MC_REF_GREG_U32_CONST': (McBlock.parseMcGeneric, False), 2899 'IEM_MC_REF_GREG_U64': (McBlock.parseMcGeneric, False), 2900 'IEM_MC_REF_GREG_U64_CONST': (McBlock.parseMcGeneric, False), 2901 'IEM_MC_REF_GREG_U8': (McBlock.parseMcGeneric, False), 2902 'IEM_MC_REF_GREG_U8_CONST': (McBlock.parseMcGeneric, False), 2903 'IEM_MC_REF_LOCAL': (McBlock.parseMcGeneric, False), 2904 'IEM_MC_REF_MREG_U32_CONST': (McBlock.parseMcGeneric, False), 2905 'IEM_MC_REF_MREG_U64': (McBlock.parseMcGeneric, False), 2906 'IEM_MC_REF_MREG_U64_CONST': (McBlock.parseMcGeneric, False), 2907 'IEM_MC_REF_MXCSR': (McBlock.parseMcGeneric, False), 2908 'IEM_MC_REF_XREG_R32_CONST': (McBlock.parseMcGeneric, False), 2909 'IEM_MC_REF_XREG_R64_CONST': (McBlock.parseMcGeneric, False), 2910 'IEM_MC_REF_XREG_U128': (McBlock.parseMcGeneric, False), 2911 'IEM_MC_REF_XREG_U128_CONST': (McBlock.parseMcGeneric, False), 2912 'IEM_MC_REF_XREG_U32_CONST': (McBlock.parseMcGeneric, False), 2913 'IEM_MC_REF_XREG_U64_CONST': (McBlock.parseMcGeneric, False), 2914 'IEM_MC_REF_XREG_XMM_CONST': (McBlock.parseMcGeneric, False), 2915 'IEM_MC_REF_YREG_U128': (McBlock.parseMcGeneric, False), 2916 'IEM_MC_REF_YREG_U128_CONST': (McBlock.parseMcGeneric, False), 2917 'IEM_MC_REF_YREG_U64_CONST': (McBlock.parseMcGeneric, False), 2918 'IEM_MC_REL_JMP_S16_AND_FINISH': (McBlock.parseMcGeneric, True), 2919 'IEM_MC_REL_JMP_S32_AND_FINISH': (McBlock.parseMcGeneric, True), 2920 'IEM_MC_REL_JMP_S8_AND_FINISH': (McBlock.parseMcGeneric, True), 2921 'IEM_MC_RETURN_ON_FAILURE': (McBlock.parseMcGeneric, False), 2922 'IEM_MC_SAR_LOCAL_S16': (McBlock.parseMcGeneric, False), 2923 'IEM_MC_SAR_LOCAL_S32': (McBlock.parseMcGeneric, False), 2924 'IEM_MC_SAR_LOCAL_S64': (McBlock.parseMcGeneric, False), 2925 'IEM_MC_SET_EFL_BIT': (McBlock.parseMcGeneric, True), 2926 'IEM_MC_SET_FPU_RESULT': (McBlock.parseMcGeneric, True), 2927 'IEM_MC_SET_RIP_U16_AND_FINISH': (McBlock.parseMcGeneric, True), 2928 'IEM_MC_SET_RIP_U32_AND_FINISH': (McBlock.parseMcGeneric, True), 2929 'IEM_MC_SET_RIP_U64_AND_FINISH': (McBlock.parseMcGeneric, True), 2930 'IEM_MC_SHL_LOCAL_S16': (McBlock.parseMcGeneric, False), 2931 'IEM_MC_SHL_LOCAL_S32': (McBlock.parseMcGeneric, False), 2932 'IEM_MC_SHL_LOCAL_S64': (McBlock.parseMcGeneric, False), 2933 'IEM_MC_SHR_LOCAL_U8': (McBlock.parseMcGeneric, False), 2934 'IEM_MC_SSE_UPDATE_MXCSR': (McBlock.parseMcGeneric, True), 2935 'IEM_MC_STORE_FPU_RESULT': (McBlock.parseMcGeneric, True), 2936 'IEM_MC_STORE_FPU_RESULT_MEM_OP': (McBlock.parseMcGeneric, True), 2937 'IEM_MC_STORE_FPU_RESULT_THEN_POP': (McBlock.parseMcGeneric, True), 2938 'IEM_MC_STORE_FPU_RESULT_WITH_MEM_OP_THEN_POP': (McBlock.parseMcGeneric, True), 2939 'IEM_MC_STORE_FPUREG_R80_SRC_REF': (McBlock.parseMcGeneric, True), 2940 'IEM_MC_STORE_GREG_I64': (McBlock.parseMcGeneric, True), 2941 'IEM_MC_STORE_GREG_U16': (McBlock.parseMcGeneric, True), 2942 'IEM_MC_STORE_GREG_U16_CONST': (McBlock.parseMcGeneric, True), 2943 'IEM_MC_STORE_GREG_U32': (McBlock.parseMcGeneric, True), 2944 'IEM_MC_STORE_GREG_U32_CONST': (McBlock.parseMcGeneric, True), 2945 'IEM_MC_STORE_GREG_U64': (McBlock.parseMcGeneric, True), 2946 'IEM_MC_STORE_GREG_U64_CONST': (McBlock.parseMcGeneric, True), 2947 'IEM_MC_STORE_GREG_U8': (McBlock.parseMcGeneric, True), 2948 'IEM_MC_STORE_GREG_U8_CONST': (McBlock.parseMcGeneric, True), 2949 'IEM_MC_STORE_MEM_I16_CONST_BY_REF': (McBlock.parseMcGeneric, True), 2950 'IEM_MC_STORE_MEM_I32_CONST_BY_REF': (McBlock.parseMcGeneric, True), 2951 'IEM_MC_STORE_MEM_I64_CONST_BY_REF': (McBlock.parseMcGeneric, True), 2952 'IEM_MC_STORE_MEM_I8_CONST_BY_REF': (McBlock.parseMcGeneric, True), 2953 'IEM_MC_STORE_MEM_INDEF_D80_BY_REF': (McBlock.parseMcGeneric, True), 2954 'IEM_MC_STORE_MEM_NEG_QNAN_R32_BY_REF': (McBlock.parseMcGeneric, True), 2955 'IEM_MC_STORE_MEM_NEG_QNAN_R64_BY_REF': (McBlock.parseMcGeneric, True), 2956 'IEM_MC_STORE_MEM_NEG_QNAN_R80_BY_REF': (McBlock.parseMcGeneric, True), 2957 'IEM_MC_STORE_MEM_U128': (McBlock.parseMcGeneric, True), 2958 'IEM_MC_STORE_MEM_U128_ALIGN_SSE': (McBlock.parseMcGeneric, True), 2959 'IEM_MC_STORE_MEM_U16': (McBlock.parseMcGeneric, True), 2960 'IEM_MC_STORE_MEM_U16_CONST': (McBlock.parseMcGeneric, True), 2961 'IEM_MC_STORE_MEM_U256': (McBlock.parseMcGeneric, True), 2962 'IEM_MC_STORE_MEM_U256_ALIGN_AVX': (McBlock.parseMcGeneric, True), 2963 'IEM_MC_STORE_MEM_U32': (McBlock.parseMcGeneric, True), 2964 'IEM_MC_STORE_MEM_U32_CONST': (McBlock.parseMcGeneric, True), 2965 'IEM_MC_STORE_MEM_U64': (McBlock.parseMcGeneric, True), 2966 'IEM_MC_STORE_MEM_U64_CONST': (McBlock.parseMcGeneric, True), 2967 'IEM_MC_STORE_MEM_U8': (McBlock.parseMcGeneric, True), 2968 'IEM_MC_STORE_MEM_U8_CONST': (McBlock.parseMcGeneric, True), 2969 'IEM_MC_STORE_MREG_U32_ZX_U64': (McBlock.parseMcGeneric, True), 2970 'IEM_MC_STORE_MREG_U64': (McBlock.parseMcGeneric, True), 2971 'IEM_MC_STORE_SREG_BASE_U32': (McBlock.parseMcGeneric, True), 2972 'IEM_MC_STORE_SREG_BASE_U64': (McBlock.parseMcGeneric, True), 2973 'IEM_MC_STORE_SSE_RESULT': (McBlock.parseMcGeneric, True), 2974 'IEM_MC_STORE_XREG_HI_U64': (McBlock.parseMcGeneric, True), 2975 'IEM_MC_STORE_XREG_R32': (McBlock.parseMcGeneric, True), 2976 'IEM_MC_STORE_XREG_R64': (McBlock.parseMcGeneric, True), 2977 'IEM_MC_STORE_XREG_U128': (McBlock.parseMcGeneric, True), 2978 'IEM_MC_STORE_XREG_U16': (McBlock.parseMcGeneric, True), 2979 'IEM_MC_STORE_XREG_U32': (McBlock.parseMcGeneric, True), 2980 'IEM_MC_STORE_XREG_U32_U128': (McBlock.parseMcGeneric, True), 2981 'IEM_MC_STORE_XREG_U32_ZX_U128': (McBlock.parseMcGeneric, True), 2982 'IEM_MC_STORE_XREG_U64': (McBlock.parseMcGeneric, True), 2983 'IEM_MC_STORE_XREG_U64_ZX_U128': (McBlock.parseMcGeneric, True), 2984 'IEM_MC_STORE_XREG_U8': (McBlock.parseMcGeneric, True), 2985 'IEM_MC_STORE_XREG_XMM': (McBlock.parseMcGeneric, True), 2986 'IEM_MC_STORE_XREG_XMM_U32': (McBlock.parseMcGeneric, True), 2987 'IEM_MC_STORE_XREG_XMM_U64': (McBlock.parseMcGeneric, True), 2988 'IEM_MC_STORE_YREG_U128': (McBlock.parseMcGeneric, True), 2989 'IEM_MC_STORE_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2990 'IEM_MC_STORE_YREG_U256_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2991 'IEM_MC_STORE_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2992 'IEM_MC_STORE_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True), 2993 'IEM_MC_SUB_GREG_U16': (McBlock.parseMcGeneric, True), 2994 'IEM_MC_SUB_GREG_U32': (McBlock.parseMcGeneric, True), 2995 'IEM_MC_SUB_GREG_U64': (McBlock.parseMcGeneric, True), 2996 'IEM_MC_SUB_GREG_U8': (McBlock.parseMcGeneric, True), 2997 'IEM_MC_SUB_LOCAL_U16': (McBlock.parseMcGeneric, False), 2998 'IEM_MC_UPDATE_FPU_OPCODE_IP': (McBlock.parseMcGeneric, True), 2999 'IEM_MC_UPDATE_FSW': (McBlock.parseMcGeneric, True), 3000 'IEM_MC_UPDATE_FSW_CONST': (McBlock.parseMcGeneric, True), 3001 'IEM_MC_UPDATE_FSW_THEN_POP': (McBlock.parseMcGeneric, True), 3002 'IEM_MC_UPDATE_FSW_THEN_POP_POP': (McBlock.parseMcGeneric, True), 3003 'IEM_MC_UPDATE_FSW_WITH_MEM_OP': (McBlock.parseMcGeneric, True), 3004 'IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP': (McBlock.parseMcGeneric, True), 3007 3005 }; 3008 3006 -
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py
r101369 r101370 44 44 45 45 46 ## Supplememnts g_dMcStmtParsers.47 g_dMcStmtThreaded = {48 'IEM_MC_DEFER_TO_CIMPL_0_RET_THREADED': (None, True, True, ),49 'IEM_MC_DEFER_TO_CIMPL_1_RET_THREADED': (None, True, True, ),50 'IEM_MC_DEFER_TO_CIMPL_2_RET_THREADED': (None, True, True, ),51 'IEM_MC_DEFER_TO_CIMPL_3_RET_THREADED': (None, True, True, ),52 53 'IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC16': (None, True, False, ),54 'IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC32': (None, True, True, ),55 'IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC64': (None, True, False, ),56 57 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_16_ADDR32': (None, False, False, ),58 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_16_PRE386': (None, False, False, ),59 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_16': (None, False, False, ),60 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_32_ADDR16': (None, False, False, ),61 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_32_FLAT': (None, False, False, ),62 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_32': (None, False, False, ),63 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_64_ADDR32': (None, False, False, ),64 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_64_FSGS': (None, False, False, ),65 'IEM_MC_CALC_RM_EFF_ADDR_THREADED_64': (None, False, False, ),66 67 'IEM_MC_CALL_CIMPL_1_THREADED': (None, True, False, ),68 'IEM_MC_CALL_CIMPL_2_THREADED': (None, True, False, ),69 'IEM_MC_CALL_CIMPL_3_THREADED': (None, True, False, ),70 'IEM_MC_CALL_CIMPL_4_THREADED': (None, True, False, ),71 'IEM_MC_CALL_CIMPL_5_THREADED': (None, True, False, ),72 73 'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC16': (None, True, False, ),74 'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC32': (None, True, False, ),75 'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64': (None, True, False, ),76 'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16': (None, True, False, ),77 'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32': (None, True, False, ),78 'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64': (None, True, False, ),79 'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32': (None, True, False, ),80 'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64': (None, True, False, ),81 82 'IEM_MC_STORE_GREG_U8_THREADED': (None, True, False, ),83 'IEM_MC_STORE_GREG_U8_CONST_THREADED': (None, True, False, ),84 'IEM_MC_FETCH_GREG_U8_THREADED': (None, False, False, ),85 'IEM_MC_FETCH_GREG_U8_SX_U16_THREADED': (None, False, False, ),86 'IEM_MC_FETCH_GREG_U8_SX_U32_THREADED': (None, False, False, ),87 'IEM_MC_FETCH_GREG_U8_SX_U64_THREADED': (None, False, False, ),88 'IEM_MC_FETCH_GREG_U8_ZX_U16_THREADED': (None, False, False, ),89 'IEM_MC_FETCH_GREG_U8_ZX_U32_THREADED': (None, False, False, ),90 'IEM_MC_FETCH_GREG_U8_ZX_U64_THREADED': (None, False, False, ),91 'IEM_MC_REF_GREG_U8_THREADED': (None, True, False, ),92 93 # Flat Mem:94 'IEM_MC_FETCH_MEM16_FLAT_U8': (None, True, False, ),95 'IEM_MC_FETCH_MEM32_FLAT_U8': (None, True, False, ),96 'IEM_MC_FETCH_MEM_FLAT_D80': (None, True, False, ),97 'IEM_MC_FETCH_MEM_FLAT_I16': (None, True, False, ),98 'IEM_MC_FETCH_MEM_FLAT_I32': (None, True, False, ),99 'IEM_MC_FETCH_MEM_FLAT_I64': (None, True, False, ),100 'IEM_MC_FETCH_MEM_FLAT_R32': (None, True, False, ),101 'IEM_MC_FETCH_MEM_FLAT_R64': (None, True, False, ),102 'IEM_MC_FETCH_MEM_FLAT_R80': (None, True, False, ),103 'IEM_MC_FETCH_MEM_FLAT_U128_ALIGN_SSE': (None, True, False, ),104 'IEM_MC_FETCH_MEM_FLAT_U128_NO_AC': (None, True, False, ),105 'IEM_MC_FETCH_MEM_FLAT_U128': (None, True, False, ),106 'IEM_MC_FETCH_MEM_FLAT_U16_DISP': (None, True, False, ),107 'IEM_MC_FETCH_MEM_FLAT_U16_SX_U32': (None, True, False, ),108 'IEM_MC_FETCH_MEM_FLAT_U16_SX_U64': (None, True, False, ),109 'IEM_MC_FETCH_MEM_FLAT_U16': (None, True, False, ),110 'IEM_MC_FETCH_MEM_FLAT_U16_ZX_U32': (None, True, False, ),111 'IEM_MC_FETCH_MEM_FLAT_U16_ZX_U64': (None, True, False, ),112 'IEM_MC_FETCH_MEM_FLAT_U256_ALIGN_AVX': (None, True, False, ),113 'IEM_MC_FETCH_MEM_FLAT_U256_NO_AC': (None, True, False, ),114 'IEM_MC_FETCH_MEM_FLAT_U256': (None, True, False, ),115 'IEM_MC_FETCH_MEM_FLAT_U32_DISP': (None, True, False, ),116 'IEM_MC_FETCH_MEM_FLAT_U32_SX_U64': (None, True, False, ),117 'IEM_MC_FETCH_MEM_FLAT_U32': (None, True, False, ),118 'IEM_MC_FETCH_MEM_FLAT_U32_ZX_U64': (None, True, False, ),119 'IEM_MC_FETCH_MEM_FLAT_U64': (None, True, False, ),120 'IEM_MC_FETCH_MEM_FLAT_U8_SX_U16': (None, True, False, ),121 'IEM_MC_FETCH_MEM_FLAT_U8_SX_U32': (None, True, False, ),122 'IEM_MC_FETCH_MEM_FLAT_U8_SX_U64': (None, True, False, ),123 'IEM_MC_FETCH_MEM_FLAT_U8': (None, True, False, ),124 'IEM_MC_FETCH_MEM_FLAT_U8_ZX_U16': (None, True, False, ),125 'IEM_MC_FETCH_MEM_FLAT_U8_ZX_U32': (None, True, False, ),126 'IEM_MC_FETCH_MEM_FLAT_U8_ZX_U64': (None, True, False, ),127 'IEM_MC_FETCH_MEM_FLAT_XMM_ALIGN_SSE': (None, True, False, ),128 'IEM_MC_FETCH_MEM_FLAT_XMM_U32': (None, True, False, ),129 'IEM_MC_FETCH_MEM_FLAT_XMM_U64': (None, True, False, ),130 'IEM_MC_MEM_FLAT_MAP_EX': (None, True, False, ),131 'IEM_MC_MEM_FLAT_MAP': (None, True, False, ),132 'IEM_MC_MEM_FLAT_MAP_U16_RO': (None, True, False, ),133 'IEM_MC_MEM_FLAT_MAP_U16_RW': (None, True, False, ),134 'IEM_MC_MEM_FLAT_MAP_U32_RO': (None, True, False, ),135 'IEM_MC_MEM_FLAT_MAP_U32_RW': (None, True, False, ),136 'IEM_MC_MEM_FLAT_MAP_U64_RO': (None, True, False, ),137 'IEM_MC_MEM_FLAT_MAP_U64_RW': (None, True, False, ),138 'IEM_MC_MEM_FLAT_MAP_U8_RO': (None, True, False, ),139 'IEM_MC_MEM_FLAT_MAP_U8_RW': (None, True, False, ),140 'IEM_MC_STORE_MEM_FLAT_U128_ALIGN_SSE': (None, True, False, ),141 'IEM_MC_STORE_MEM_FLAT_U128': (None, True, False, ),142 'IEM_MC_STORE_MEM_FLAT_U16': (None, True, False, ),143 'IEM_MC_STORE_MEM_FLAT_U256_ALIGN_AVX': (None, True, False, ),144 'IEM_MC_STORE_MEM_FLAT_U256': (None, True, False, ),145 'IEM_MC_STORE_MEM_FLAT_U32': (None, True, False, ),146 'IEM_MC_STORE_MEM_FLAT_U64': (None, True, False, ),147 'IEM_MC_STORE_MEM_FLAT_U8_CONST': (None, True, False, ),148 'IEM_MC_STORE_MEM_FLAT_U8': (None, True, False, ),149 150 # Flat Stack:151 'IEM_MC_FLAT64_PUSH_U16': (None, True, False, ),152 'IEM_MC_FLAT64_PUSH_U64': (None, True, False, ),153 'IEM_MC_FLAT64_PUSH_U16': (None, True, False, ),154 'IEM_MC_FLAT64_PUSH_U64': (None, True, False, ),155 'IEM_MC_FLAT64_POP_U16': (None, True, False, ),156 'IEM_MC_FLAT64_POP_U64': (None, True, False, ),157 'IEM_MC_FLAT64_POP_U16': (None, True, False, ),158 'IEM_MC_FLAT64_POP_U64': (None, True, False, ),159 'IEM_MC_FLAT64_PUSH_U16': (None, True, False, ),160 'IEM_MC_FLAT64_PUSH_U64': (None, True, False, ),161 'IEM_MC_FLAT64_PUSH_U16': (None, True, False, ),162 'IEM_MC_FLAT64_PUSH_U64': (None, True, False, ),163 'IEM_MC_FLAT32_PUSH_U16': (None, True, False, ),164 'IEM_MC_FLAT64_PUSH_U16': (None, True, False, ),165 'IEM_MC_FLAT32_PUSH_U32': (None, True, False, ),166 'IEM_MC_FLAT64_PUSH_U64': (None, True, False, ),167 };168 169 46 class NativeRecompFunctionVariation(object): 170 47 """ … … 194 71 return iai.McStmt.renderCodeForList(aoStmts, cchIndent); 195 72 196 @staticmethod197 def checkStatements(aoStmts, sHostArch):198 """199 Checks that all the given statements are supported by the native recompiler.200 """201 _ = sHostArch;202 for oStmt in aoStmts: # type: McStmt203 if not oStmt.isCppStmt():204 aInfo = iai.g_dMcStmtParsers.get(oStmt.sName);205 if not aInfo:206 aInfo = g_dMcStmtThreaded.get(oStmt.sName);207 if not aInfo:208 raise Exception('Unknown statement: %s' % (oStmt.sName, ));209 if aInfo[2] is False:210 return False;211 if aInfo[2] is not True:212 if isinstance(aInfo[2], str):213 if aInfo[2] != sHostArch:214 return False;215 elif sHostArch not in aInfo[2]:216 return False;217 #elif not self.fDecode:218 219 if isinstance(oStmt, iai.McStmtCond):220 if not NativeRecompFunctionVariation.checkStatements(oStmt.aoIfBranch, sHostArch):221 return False;222 if not NativeRecompFunctionVariation.checkStatements(oStmt.aoElseBranch, sHostArch):223 return False;224 return True;225 226 73 227 74 … … 240 87 # 241 88 aoStmts = oVariation.aoStmtsForThreadedFunction # type: list(McStmt) 242 if NativeRecompFunctionVariation.checkStatements(aoStmts, sHostArch): 89 90 # The simplest case are the IEM_MC_DEFER_TO_CIMPL_*_RET_THREADED ones, just pass them thru: 91 if ( len(aoStmts) == 1 92 and aoStmts[0].sName.startswith('IEM_MC_DEFER_TO_CIMPL_') 93 and aoStmts[0].sName.endswith('_RET_THREADED')): 243 94 return NativeRecompFunctionVariation(oVariation, sHostArch); 244 95 245 # The simplest case are the IEM_MC_DEFER_TO_CIMPL_*_RET_THREADED ones, just pass them thru:246 #if ( len(aoStmts) == 1247 # and aoStmts[0].sName.startswith('IEM_MC_DEFER_TO_CIMPL_')248 # and aoStmts[0].sName.endswith('_RET_THREADED')):249 # return NativeRecompFunctionVariation(oVariation, sHostArch);250 251 252 # g_dMcStmtParsers253 254 255 96 return None; -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r101369 r101370 48 48 #define IEM_WITH_OPAQUE_DECODER_STATE 49 49 #define VMCPU_INCL_CPUM_GST_CTX 50 #define VMM_INCLUDED_SRC_include_IEMMc_h /* block IEMMc.h inclusion. */51 50 #include <VBox/vmm/iem.h> 52 51 #include <VBox/vmm/cpum.h> … … 1127 1126 * Called before starting a new recompile job. 1128 1127 */ 1129 static PIEMRECOMPILERSTATE iemNativeReInit(PIEMRECOMPILERSTATE pReNative , PCIEMTB pTb)1128 static PIEMRECOMPILERSTATE iemNativeReInit(PIEMRECOMPILERSTATE pReNative) 1130 1129 { 1131 1130 pReNative->cLabels = 0; 1132 1131 pReNative->cFixups = 0; 1133 pReNative->pTbOrg = pTb;1134 1132 return pReNative; 1135 1133 } … … 1144 1142 * @param pVCpu The cross context virtual CPU structure of the calling 1145 1143 * thread. 1146 * @param pTb The TB that's about to be recompiled.1147 1144 * @thread EMT(pVCpu) 1148 1145 */ 1149 static PIEMRECOMPILERSTATE iemNativeInit(PVMCPUCC pVCpu , PCIEMTB pTb)1146 static PIEMRECOMPILERSTATE iemNativeInit(PVMCPUCC pVCpu) 1150 1147 { 1151 1148 VMCPU_ASSERT_EMT(pVCpu); … … 1175 1172 */ 1176 1173 pVCpu->iem.s.pNativeRecompilerStateR3 = pReNative; 1177 return iemNativeReInit(pReNative , pTb);1174 return iemNativeReInit(pReNative); 1178 1175 } 1179 1176 … … 1909 1906 1910 1907 1911 /** Same as iemRegFinishClearingRF. */1912 DECLINLINE(uint32_t) iemNativeEmitFinishClearingRF(PIEMRECOMPILERSTATE pReNative, uint32_t off)1913 {1914 uint32_t const fFlags = pReNative->pTbOrg->fFlags;1915 if (fFlags & IEMTB_F_INHIBIT_SHADOW)1916 {1917 }1918 IEMTB_F_IEM_F_MASK1919 1920 //1921 if (RT_LIKELY(!( pVCpu->cpum.GstCtx.eflags.uBoth1922 & (X86_EFL_TF | X86_EFL_RF | CPUMCTX_INHIBIT_SHADOW | CPUMCTX_DBG_HIT_DRX_MASK | CPUMCTX_DBG_DBGF_MASK)) ))1923 return VINF_SUCCESS;1924 return iemFinishInstructionWithFlagsSet(pVCpu);1925 }1926 1927 1928 /** Same as iemRegAddToEip32AndFinishingClearingRF. */1929 DECLINLINE(uint32_t) iemNativeEmitAddToEip32AndFinishingClearingRF(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t cbInstr)1930 {1931 /* Increment RIP. */1932 pVCpu->cpum.GstCtx.rip = (uint32_t)(pVCpu->cpum.GstCtx.eip + cbInstr);1933 1934 /* Consider flags. */1935 return iemNativeEmitFinishClearingRF(pReNative, off);1936 }1937 1938 1939 1908 /* 1940 1909 * MC definitions for the native recompiler. … … 1952 1921 #define IEM_MC_DEFER_TO_CIMPL_3_RET_THREADED(a_cbInstr, a_fFlags, a_pfnCImpl, a0, a1, a2) \ 1953 1922 return iemNativeEmitCImplCall3(pReNative, off, pCallEntry->idxInstr, (uintptr_t)a_pfnCImpl, a_cbInstr, a0, a1, a2) 1954 1955 1956 #define IEM_MC_BEGIN(a_cArgs, a_cLocals, a_fFlags) {1957 1958 #define IEM_MC_END() } AssertFailedReturn(UINT32_MAX /* shouldn't be reached! */)1959 1960 #define IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC16(a_cbInstr) \1961 return iemNativeEmitAddToIp16AndFinishingClearingRF(pReNative, off, a_cbInstr)1962 1963 #define IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC32(a_cbInstr) \1964 return iemNativeEmitAddToEip32AndFinishingClearingRF(pReNative, off, a_cbInstr)1965 1966 #define IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC64(a_cbInstr) \1967 return iemNativeEmitAddToRip64AndFinishingClearingRF(pReNative, off, a_cbInstr)1968 1969 1923 1970 1924 /* … … 2011 1965 PIEMRECOMPILERSTATE pReNative = pVCpu->iem.s.pNativeRecompilerStateR3; 2012 1966 if (RT_LIKELY(pReNative)) 2013 iemNativeReInit(pReNative , pTb);1967 iemNativeReInit(pReNative); 2014 1968 else 2015 1969 { 2016 pReNative = iemNativeInit(pVCpu , pTb);1970 pReNative = iemNativeInit(pVCpu); 2017 1971 AssertReturn(pReNative, pTb); 2018 1972 } -
trunk/src/VBox/VMM/include/IEMN8veRecompiler.h
r101369 r101370 257 257 /** Buffer used by the recompiler for recording fixups when generating code. */ 258 258 PIEMNATIVEFIXUP paFixups; 259 260 /** The translation block being recompiled. */261 PCIEMTB pTbOrg;262 259 } IEMRECOMPILERSTATE; 263 260 /** Pointer to a native recompiler state. */
Note:
See TracChangeset
for help on using the changeset viewer.