Changeset 103933 in vbox
- Timestamp:
- Mar 20, 2024 7:56:50 AM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 162307
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r103932 r103933 3361 3361 'IEM_MC_STORE_XREG_U16': (McBlock.parseMcGeneric, True, True, False, ), 3362 3362 'IEM_MC_STORE_XREG_U32': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3363 'IEM_MC_STORE_XREG_U32_U128': (McBlock.parseMcGeneric, True, True, False,),3363 'IEM_MC_STORE_XREG_U32_U128': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3364 3364 'IEM_MC_STORE_XREG_U32_ZX_U128': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3365 3365 'IEM_MC_STORE_XREG_U64': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h
r103932 r103933 7230 7230 7231 7231 7232 #define IEM_MC_STORE_XREG_U32_U128(a_iXReg, a_iDwDst, a_u128Value, a_iDwSrc) \ 7233 off = iemNativeEmitSimdStoreXregU32U128(pReNative, off, a_iXReg, a_iDwDst, a_u128Value, a_iDwSrc) 7234 7235 /** Emits code for IEM_MC_STORE_XREG_U32_U128. */ 7236 DECL_INLINE_THROW(uint32_t) 7237 iemNativeEmitSimdStoreXregU32U128(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t iXReg, uint8_t iDwDst, uint8_t idxSrcVar, uint8_t iDwSrc) 7238 { 7239 IEMNATIVE_ASSERT_VAR_IDX(pReNative, idxSrcVar); 7240 IEMNATIVE_ASSERT_VAR_SIZE(pReNative, idxSrcVar, sizeof(RTUINT128U)); 7241 7242 uint8_t const idxSimdRegDst = iemNativeSimdRegAllocTmpForGuestSimdReg(pReNative, &off, IEMNATIVEGSTSIMDREG_SIMD(iXReg), 7243 kIemNativeGstSimdRegLdStSz_Low128, kIemNativeGstRegUse_ForUpdate); 7244 7245 uint8_t const idxVarReg = iemNativeVarSimdRegisterAcquire(pReNative, idxSrcVar, &off); 7246 7247 off = iemNativeEmitSimdLoadGprFromVecRegU32(pReNative, off, IEMNATIVE_REG_FIXED_TMP0, idxVarReg, iDwSrc); 7248 off = iemNativeEmitSimdStoreGprToVecRegU32(pReNative, off, idxSimdRegDst, IEMNATIVE_REG_FIXED_TMP0, iDwDst); 7249 IEMNATIVE_SIMD_REG_STATE_SET_DIRTY_LO_U128(pReNative, iXReg); 7250 7251 /* Free but don't flush the destination register. */ 7252 iemNativeSimdRegFreeTmp(pReNative, idxSimdRegDst); 7253 iemNativeVarSimdRegisterRelease(pReNative, idxSrcVar); 7254 7255 return off; 7256 } 7257 7258 7232 7259 #define IEM_MC_FETCH_YREG_U64(a_u64Dst, a_iYRegSrc, a_iQWord) \ 7233 7260 off = iemNativeEmitSimdFetchYregU64(pReNative, off, a_u64Dst, a_iYRegSrc, a_iQWord)
Note:
See TracChangeset
for help on using the changeset viewer.