VirtualBox

Changeset 101369 in vbox


Ignore:
Timestamp:
Oct 6, 2023 1:22:15 AM (16 months ago)
Author:
vboxsync
Message:

Main/Global.cpp: Move the macros for compose the x64/x86/arm64/arm32 guest OS IDs to the VirtualBox API header so the GUI and others can make use of them as well. bugref:10384

Location:
trunk/src/VBox
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r101318 r101369  
    284284  </cpp>
    285285</if>
     286
     287<!--
     288  Macros for helping with constructing guest OS type ID strings for the
     289  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  &quot;_64&quot;"/>
     294<cpp line="#else"/>
     295<cpp line="#define GUEST_OS_ID_STR_X64(a_szOSid)     a_szOSid  &quot;_x64&quot;"/>
     296<cpp line="#endif"/>
     297<cpp line="#define GUEST_OS_ID_STR_A32(a_szOSid)     a_szOSid  &quot;_arm32&quot;"/>
     298<cpp line="#define GUEST_OS_ID_STR_A64(a_szOSid)     a_szOSid  &quot;_arm64&quot;"/>
     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)"/>
    286302
    287303<!--
  • trunk/src/VBox/Main/src-all/Global.cpp

    r101367 r101369  
    4444#define VBOX_OSTYPE_ARM32(a_OStype)     VBOXOSTYPE_ ## a_OStype ## _arm32
    4545#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"
    6046
    6147/* static */
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py

    r100856 r101369  
    26012601## IEM_MC_XXX -> parser + info dictionary.
    26022602#
    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_*.
     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.
    26052607#
    26062608# The raw table was generated via the following command
     
    26082610#       | sort | uniq | gawk "{printf """    %%-60s (%%s,        True)\n""", $1, $2}"
    26092611g_dMcStmtParsers = {
    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),
     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, ),
    30053007};
    30063008
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py

    r101307 r101369  
    4444
    4545
     46## Supplememnts g_dMcStmtParsers.
     47g_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
    46169class NativeRecompFunctionVariation(object):
    47170    """
     
    70193        aoStmts = self.oVariation.aoStmtsForThreadedFunction # type: list(McStmt)
    71194        return iai.McStmt.renderCodeForList(aoStmts, cchIndent);
     195
     196    @staticmethod
     197    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: McStmt
     203            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;
    72225
    73226
     
    87240    #
    88241    aoStmts = oVariation.aoStmtsForThreadedFunction # type: list(McStmt)
     242    if NativeRecompFunctionVariation.checkStatements(aoStmts, sHostArch):
     243        return NativeRecompFunctionVariation(oVariation, sHostArch);
    89244
    90245    # 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')):
    94         return NativeRecompFunctionVariation(oVariation, sHostArch);
     246    #if (    len(aoStmts) == 1
     247    #    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_dMcStmtParsers
     253
    95254
    96255    return None;
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp

    r101305 r101369  
    4848#define IEM_WITH_OPAQUE_DECODER_STATE
    4949#define VMCPU_INCL_CPUM_GST_CTX
     50#define VMM_INCLUDED_SRC_include_IEMMc_h /* block IEMMc.h inclusion. */
    5051#include <VBox/vmm/iem.h>
    5152#include <VBox/vmm/cpum.h>
     
    11261127 * Called before starting a new recompile job.
    11271128 */
    1128 static PIEMRECOMPILERSTATE iemNativeReInit(PIEMRECOMPILERSTATE pReNative)
     1129static PIEMRECOMPILERSTATE iemNativeReInit(PIEMRECOMPILERSTATE pReNative, PCIEMTB pTb)
    11291130{
    11301131    pReNative->cLabels   = 0;
    11311132    pReNative->cFixups   = 0;
     1133    pReNative->pTbOrg    = pTb;
    11321134    return pReNative;
    11331135}
     
    11421144 * @param   pVCpu   The cross context virtual CPU structure of the calling
    11431145 *                  thread.
     1146 * @param   pTb     The TB that's about to be recompiled.
    11441147 * @thread  EMT(pVCpu)
    11451148 */
    1146 static PIEMRECOMPILERSTATE iemNativeInit(PVMCPUCC pVCpu)
     1149static PIEMRECOMPILERSTATE iemNativeInit(PVMCPUCC pVCpu, PCIEMTB pTb)
    11471150{
    11481151    VMCPU_ASSERT_EMT(pVCpu);
     
    11721175         */
    11731176        pVCpu->iem.s.pNativeRecompilerStateR3 = pReNative;
    1174         return iemNativeReInit(pReNative);
     1177        return iemNativeReInit(pReNative, pTb);
    11751178    }
    11761179
     
    19061909
    19071910
     1911/** Same as iemRegFinishClearingRF. */
     1912DECLINLINE(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_MASK
     1919
     1920    //
     1921        if (RT_LIKELY(!(  pVCpu->cpum.GstCtx.eflags.uBoth
     1922                        & (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. */
     1929DECLINLINE(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
    19081939/*
    19091940 * MC definitions for the native recompiler.
     
    19211952#define IEM_MC_DEFER_TO_CIMPL_3_RET_THREADED(a_cbInstr, a_fFlags, a_pfnCImpl, a0, a1, a2) \
    19221953    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
    19231969
    19241970/*
     
    19652011    PIEMRECOMPILERSTATE pReNative = pVCpu->iem.s.pNativeRecompilerStateR3;
    19662012    if (RT_LIKELY(pReNative))
    1967         iemNativeReInit(pReNative);
     2013        iemNativeReInit(pReNative, pTb);
    19682014    else
    19692015    {
    1970         pReNative = iemNativeInit(pVCpu);
     2016        pReNative = iemNativeInit(pVCpu, pTb);
    19712017        AssertReturn(pReNative, pTb);
    19722018    }
  • trunk/src/VBox/VMM/include/IEMN8veRecompiler.h

    r101306 r101369  
    257257    /** Buffer used by the recompiler for recording fixups when generating code. */
    258258    PIEMNATIVEFIXUP             paFixups;
     259
     260    /** The translation block being recompiled. */
     261    PCIEMTB                     pTbOrg;
    259262} IEMRECOMPILERSTATE;
    260263/** Pointer to a native recompiler state. */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette