Changeset 103816 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Mar 13, 2024 8:31:43 AM (9 months ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r103815 r103816 2960 2960 'IEM_MC_BEGIN': (McBlock.parseMcBegin, False, False, True, ), 2961 2961 'IEM_MC_BROADCAST_XREG_U16_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), 2962 'IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False,),2962 'IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 2963 2963 'IEM_MC_BROADCAST_XREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 2964 2964 'IEM_MC_BROADCAST_XREG_U8_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h
r103815 r103816 6832 6832 6833 6833 6834 #define IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX(a_iXRegDst, a_u32Src) \ 6835 off = iemNativeEmitSimdBroadcastXregU32ZxVlmax(pReNative, off, a_iXRegDst, a_u32Src) 6836 6837 /** Emits code for IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX. */ 6838 DECL_INLINE_THROW(uint32_t) 6839 iemNativeEmitSimdBroadcastXregU32ZxVlmax(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t iXReg, uint8_t idxSrcVar) 6840 { 6841 IEMNATIVE_ASSERT_VAR_IDX(pReNative, idxSrcVar); 6842 IEMNATIVE_ASSERT_VAR_SIZE(pReNative, idxSrcVar, sizeof(uint32_t)); 6843 6844 uint8_t const idxSimdRegDst = iemNativeSimdRegAllocTmpForGuestSimdReg(pReNative, &off, IEMNATIVEGSTSIMDREG_SIMD(iXReg), 6845 kIemNativeGstSimdRegLdStSz_256, kIemNativeGstRegUse_ForFullWrite); 6846 6847 uint8_t const idxVarReg = iemNativeVarRegisterAcquire(pReNative, idxSrcVar, &off); 6848 6849 off = iemNativeEmitSimdBroadcastGprToVecRegU32(pReNative, off, idxSimdRegDst, idxVarReg, false /*f256Bit*/); 6850 off = iemNativeEmitSimdZeroVecRegHighU128(pReNative, off, idxSimdRegDst); 6851 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_LO_U128(pReNative, iXReg); 6852 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_HI_U128(pReNative, iXReg); 6853 6854 /* Free but don't flush the source register. */ 6855 iemNativeSimdRegFreeTmp(pReNative, idxSimdRegDst); 6856 iemNativeVarRegisterRelease(pReNative, idxSrcVar); 6857 6858 return off; 6859 } 6860 6861 6834 6862 #define IEM_MC_BROADCAST_XREG_U64_ZX_VLMAX(a_iXRegDst, a_u64Src) \ 6835 6863 off = iemNativeEmitSimdBroadcastXregU64ZxVlmax(pReNative, off, a_iXRegDst, a_u64Src)
Note:
See TracChangeset
for help on using the changeset viewer.