Changeset 103823 in vbox
- Timestamp:
- Mar 13, 2024 11:51:42 AM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 162192
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r103822 r103823 3344 3344 'IEM_MC_STORE_YREG_U256_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), 3345 3345 'IEM_MC_STORE_YREG_U32_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3346 'IEM_MC_STORE_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False,),3346 'IEM_MC_STORE_YREG_U64_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3347 3347 'IEM_MC_SUB_GREG_U16': (McBlock.parseMcGeneric, True, True, True, ), 3348 3348 'IEM_MC_SUB_GREG_U32': (McBlock.parseMcGeneric, True, True, True, ), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h
r103822 r103823 6969 6969 } 6970 6970 6971 6972 #define IEM_MC_STORE_YREG_U64_ZX_VLMAX(a_iYRegDst, a_u64Src) \ 6973 off = iemNativeEmitSimdStoreYregU64ZxVlmax(pReNative, off, a_iYRegDst, a_u64Src) 6974 6975 /** Emits code for IEM_MC_STORE_YREG_U32_ZX_VLMAX. */ 6976 DECL_INLINE_THROW(uint32_t) 6977 iemNativeEmitSimdStoreYregU64ZxVlmax(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t iYReg, uint8_t idxSrcVar) 6978 { 6979 IEMNATIVE_ASSERT_VAR_IDX(pReNative, idxSrcVar); 6980 IEMNATIVE_ASSERT_VAR_SIZE(pReNative, idxSrcVar, sizeof(uint64_t)); 6981 6982 uint8_t const idxSimdRegDst = iemNativeSimdRegAllocTmpForGuestSimdReg(pReNative, &off, IEMNATIVEGSTSIMDREG_SIMD(iYReg), 6983 kIemNativeGstSimdRegLdStSz_256, kIemNativeGstRegUse_ForFullWrite); 6984 6985 uint8_t const idxVarReg = iemNativeVarRegisterAcquire(pReNative, idxSrcVar, &off); 6986 6987 off = iemNativeEmitSimdZeroVecRegU256(pReNative, off, idxSimdRegDst); 6988 off = iemNativeEmitSimdStoreGprToVecRegU64(pReNative, off, idxSimdRegDst, idxVarReg, 0 /*iQWord*/); 6989 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_LO_U128(pReNative, iYReg); 6990 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_HI_U128(pReNative, iYReg); 6991 6992 /* Free but don't flush the source register. */ 6993 iemNativeSimdRegFreeTmp(pReNative, idxSimdRegDst); 6994 iemNativeVarRegisterRelease(pReNative, idxSrcVar); 6995 6996 return off; 6997 } 6998 6971 6999 #endif /* IEMNATIVE_WITH_SIMD_REG_ALLOCATOR */ 6972 7000
Note:
See TracChangeset
for help on using the changeset viewer.