Changeset 103817 in vbox
- Timestamp:
- Mar 13, 2024 8:50:08 AM (9 months ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r103816 r103817 2965 2965 'IEM_MC_BROADCAST_YREG_U128_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), 2966 2966 'IEM_MC_BROADCAST_YREG_U16_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), 2967 'IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False,),2967 'IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 2968 2968 'IEM_MC_BROADCAST_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), 2969 2969 'IEM_MC_BROADCAST_YREG_U8_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h
r103816 r103817 6888 6888 6889 6889 6890 #define IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX(a_iYRegDst, a_u32Src) \ 6891 off = iemNativeEmitSimdBroadcastYregU32ZxVlmax(pReNative, off, a_iYRegDst, a_u32Src) 6892 6893 /** Emits code for IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX. */ 6894 DECL_INLINE_THROW(uint32_t) 6895 iemNativeEmitSimdBroadcastYregU32ZxVlmax(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t iYReg, uint8_t idxSrcVar) 6896 { 6897 IEMNATIVE_ASSERT_VAR_IDX(pReNative, idxSrcVar); 6898 IEMNATIVE_ASSERT_VAR_SIZE(pReNative, idxSrcVar, sizeof(uint32_t)); 6899 6900 uint8_t const idxSimdRegDst = iemNativeSimdRegAllocTmpForGuestSimdReg(pReNative, &off, IEMNATIVEGSTSIMDREG_SIMD(iYReg), 6901 kIemNativeGstSimdRegLdStSz_256, kIemNativeGstRegUse_ForFullWrite); 6902 6903 uint8_t const idxVarReg = iemNativeVarRegisterAcquire(pReNative, idxSrcVar, &off); 6904 6905 off = iemNativeEmitSimdBroadcastGprToVecRegU32(pReNative, off, idxSimdRegDst, idxVarReg, true /*f256Bit*/); 6906 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_LO_U128(pReNative, iYReg); 6907 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_HI_U128(pReNative, iYReg); 6908 6909 /* Free but don't flush the source register. */ 6910 iemNativeSimdRegFreeTmp(pReNative, idxSimdRegDst); 6911 iemNativeVarRegisterRelease(pReNative, idxSrcVar); 6912 6913 return off; 6914 } 6915 6890 6916 #endif /* IEMNATIVE_WITH_SIMD_REG_ALLOCATOR */ 6891 6917
Note:
See TracChangeset
for help on using the changeset viewer.