VirtualBox

Changeset 103881 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Mar 18, 2024 8:45:06 AM (9 months ago)
Author:
vboxsync
Message:

VMM/IEM: Fix IEM_MC_CALL_SSE_AIMPL_2() and IEM_MC_CALL_SSE_AIMPL_3() (introduced with r162236), bugref:10614

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h

    r103877 r103881  
    75437543
    75447544
    7545 
    75467545#define IEM_MC_CALL_SSE_AIMPL_2(a_pfnAImpl, a0, a1) \
    7547     off = iemNativeEmitCallSseAImplCommon(pReNative, off, (uintptr_t)(a_pfnAImpl), 2)
    7548 
    7549 #define IEM_MC_CALL_SSE_AIMPL_3(a_pfnAImpl, a0, a1, a3) \
    7550     off = iemNativeEmitCallSseAImplCommon(pReNative, off, (uintptr_t)(a_pfnAImpl), 3)
     7546    off = iemNativeEmitCallSseAImpl2(pReNative, off, (uintptr_t)(a_pfnAImpl), (a0), (a1))
     7547
     7548/** Emits code for IEM_MC_CALL_SSE_AIMPL_2. */
     7549DECL_INLINE_THROW(uint32_t)
     7550iemNativeEmitCallSseAImpl2(PIEMRECOMPILERSTATE pReNative, uint32_t off, uintptr_t pfnAImpl, uint8_t idxArg0, uint8_t idxArg1)
     7551{
     7552    IEMNATIVE_ASSERT_ARG_VAR_IDX(pReNative, idxArg0, 0 + IEM_SSE_AIMPL_HIDDEN_ARGS);
     7553    IEMNATIVE_ASSERT_ARG_VAR_IDX(pReNative, idxArg1, 1 + IEM_SSE_AIMPL_HIDDEN_ARGS);
     7554    return iemNativeEmitCallSseAImplCommon(pReNative, off, pfnAImpl, 2);
     7555}
     7556
     7557
     7558#define IEM_MC_CALL_SSE_AIMPL_3(a_pfnAImpl, a0, a1, a2) \
     7559    off = iemNativeEmitCallSseAImpl3(pReNative, off, (uintptr_t)(a_pfnAImpl), (a0), (a1), (a2))
     7560
     7561/** Emits code for IEM_MC_CALL_SSE_AIMPL_3. */
     7562DECL_INLINE_THROW(uint32_t)
     7563iemNativeEmitCallSseAImpl3(PIEMRECOMPILERSTATE pReNative, uint32_t off, uintptr_t pfnAImpl, uint8_t idxArg0, uint8_t idxArg1, uint8_t idxArg2)
     7564{
     7565    IEMNATIVE_ASSERT_ARG_VAR_IDX(pReNative, idxArg0, 0 + IEM_SSE_AIMPL_HIDDEN_ARGS);
     7566    IEMNATIVE_ASSERT_ARG_VAR_IDX(pReNative, idxArg1, 1 + IEM_SSE_AIMPL_HIDDEN_ARGS);
     7567    IEMNATIVE_ASSERT_ARG_VAR_IDX(pReNative, idxArg2, 2 + IEM_SSE_AIMPL_HIDDEN_ARGS);
     7568    return iemNativeEmitCallSseAImplCommon(pReNative, off, pfnAImpl, 3);
     7569}
    75517570#endif /* IEMNATIVE_WITH_SIMD_REG_ALLOCATOR */
    75527571
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