Changeset 103952 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 20, 2024 12:14:33 PM (11 months ago)
- svn:sync-xref-src-repo-rev:
- 162328
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r103949 r103952 3080 3080 'IEM_MC_FETCH_MEM_U16_ZX_U64': (McBlock.parseMcGeneric, True, True, True, ), # movzx 3081 3081 'IEM_MC_FETCH_MEM_U256': (McBlock.parseMcGeneric, True, True, False, ), 3082 'IEM_MC_FETCH_MEM_U256_ALIGN_AVX': (McBlock.parseMcGeneric, True, True, False,),3082 'IEM_MC_FETCH_MEM_U256_ALIGN_AVX': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3083 3083 'IEM_MC_FETCH_MEM_U256_NO_AC': (McBlock.parseMcGeneric, True, True, g_fNativeSimd), 3084 3084 'IEM_MC_FETCH_MEM_U32': (McBlock.parseMcGeneric, True, True, True, ), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py
r103949 r103952 148 148 'IEM_MC_FETCH_MEM_FLAT_U16_ZX_U32': (None, True, True, True, ), 149 149 'IEM_MC_FETCH_MEM_FLAT_U16_ZX_U64': (None, True, True, True, ), 150 'IEM_MC_FETCH_MEM_FLAT_U256_ALIGN_AVX': (None, True, True, False,),150 'IEM_MC_FETCH_MEM_FLAT_U256_ALIGN_AVX': (None, True, True, g_fNativeSimd), 151 151 'IEM_MC_FETCH_MEM_FLAT_U256_NO_AC': (None, True, True, g_fNativeSimd), 152 152 'IEM_MC_FETCH_MEM_FLAT_U256': (None, True, True, False, ), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h
r103949 r103952 4718 4718 case sizeof(RTUINT256U): 4719 4719 Assert( ( enmOp == kIemNativeEmitMemOp_Fetch 4720 && (pfnFunction == (uintptr_t)iemNativeHlpMemFlatFetchDataU256NoAc)) 4720 && ( pfnFunction == (uintptr_t)iemNativeHlpMemFlatFetchDataU256NoAc 4721 || pfnFunction == (uintptr_t)iemNativeHlpMemFlatFetchDataU256AlignedAvx)) 4721 4722 || ( enmOp == kIemNativeEmitMemOp_Store 4722 4723 && (pfnFunction == (uintptr_t)iemNativeHlpMemFlatStoreDataU256NoAc))); … … 4778 4779 case sizeof(RTUINT256U): 4779 4780 Assert( ( enmOp == kIemNativeEmitMemOp_Fetch 4780 && (pfnFunction == (uintptr_t)iemNativeHlpMemFetchDataU256NoAc)) 4781 && ( pfnFunction == (uintptr_t)iemNativeHlpMemFetchDataU256NoAc 4782 || pfnFunction == (uintptr_t)iemNativeHlpMemFetchDataU256AlignedAvx)) 4781 4783 || ( enmOp == kIemNativeEmitMemOp_Store 4782 4784 && (pfnFunction == (uintptr_t)iemNativeHlpMemStoreDataU256NoAc))); … … 5436 5438 (uintptr_t)iemNativeHlpMemFetchDataU256NoAc, pCallEntry->idxInstr) 5437 5439 5440 #define IEM_MC_FETCH_MEM_U256_ALIGN_AVX(a_u256Dst, a_iSeg, a_GCPtrMem) \ 5441 off = iemNativeEmitMemFetchStoreDataCommon(pReNative, off, a_u256Dst, a_iSeg, a_GCPtrMem, \ 5442 sizeof(RTUINT256U), sizeof(RTUINT256U) - 1, kIemNativeEmitMemOp_Fetch, \ 5443 (uintptr_t)iemNativeHlpMemFetchDataU256AlignedAvx, pCallEntry->idxInstr) 5444 5445 5438 5446 /* 256-bit flat: */ 5439 5447 #define IEM_MC_FETCH_MEM_FLAT_U256_NO_AC(a_u256Dst, a_GCPtrMem) \ … … 5441 5449 sizeof(RTUINT256U), sizeof(RTUINT256U) - 1, kIemNativeEmitMemOp_Fetch, \ 5442 5450 (uintptr_t)iemNativeHlpMemFlatFetchDataU256NoAc, pCallEntry->idxInstr) 5451 5452 #define IEM_MC_FETCH_MEM_FLAT_U256_ALIGN_AVX(a_u256Dst, a_GCPtrMem) \ 5453 off = iemNativeEmitMemFetchStoreDataCommon(pReNative, off, a_u256Dst, UINT8_MAX, a_GCPtrMem, \ 5454 sizeof(RTUINT256U), sizeof(RTUINT256U) - 1, kIemNativeEmitMemOp_Fetch, \ 5455 (uintptr_t)iemNativeHlpMemFlatFetchDataU256AlignedAvx, pCallEntry->idxInstr) 5443 5456 #endif 5444 5457 -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r103949 r103952 1922 1922 #endif 1923 1923 } 1924 1925 1926 /** 1927 * Used by TB code to load 256-bit data w/ segmentation. 1928 */ 1929 IEM_DECL_NATIVE_HLP_DEF(void, iemNativeHlpMemFetchDataU256AlignedAvx,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint8_t iSegReg, PRTUINT256U pu256Dst)) 1930 { 1931 #ifdef IEMNATIVE_WITH_TLB_LOOKUP_FETCH 1932 iemMemFetchDataU256AlignedAvxSafeJmp(pVCpu, pu256Dst, iSegReg, GCPtrMem); 1933 #else 1934 iemMemFetchDataU256AlignedAvxJmp(pVCpu, pu256Dst, iSegReg, GCPtrMem); 1935 #endif 1936 } 1924 1937 #endif 1925 1938 … … 2310 2323 #else 2311 2324 return iemMemFlatFetchDataU256NoAcJmp(pVCpu, pu256Dst, UINT8_MAX, GCPtrMem); 2325 #endif 2326 } 2327 2328 2329 /** 2330 * Used by TB code to load unsigned 256-bit data w/ flat address. 2331 */ 2332 IEM_DECL_NATIVE_HLP_DEF(void, iemNativeHlpMemFlatFetchDataU256AlignedAvx,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, PRTUINT256U pu256Dst)) 2333 { 2334 #ifdef IEMNATIVE_WITH_TLB_LOOKUP_FETCH 2335 return iemMemFetchDataU256AlignedAvxSafeJmp(pVCpu, pu256Dst, UINT8_MAX, GCPtrMem); 2336 #else 2337 return iemMemFlatFetchDataU256AlignedAvxJmp(pVCpu, pu256Dst, UINT8_MAX, GCPtrMem); 2312 2338 #endif 2313 2339 } -
trunk/src/VBox/VMM/include/IEMN8veRecompiler.h
r103949 r103952 1650 1650 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFetchDataU128NoAc,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint8_t iSegReg, PRTUINT128U pu128Dst)); 1651 1651 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFetchDataU256NoAc,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint8_t iSegReg, PRTUINT256U pu256Dst)); 1652 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFetchDataU256AlignedAvx,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint8_t iSegReg, PRTUINT256U pu256Dst)); 1652 1653 #endif 1653 1654 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemStoreDataU8,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint8_t iSegReg, uint8_t u8Value)); … … 1683 1684 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFlatFetchDataU128NoAc,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, PRTUINT128U pu128Dst)); 1684 1685 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFlatFetchDataU256NoAc,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, PRTUINT256U pu256Dst)); 1686 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFlatFetchDataU256AlignedAvx,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, PRTUINT256U pu256Dst)); 1685 1687 #endif 1686 1688 IEM_DECL_NATIVE_HLP_PROTO(void, iemNativeHlpMemFlatStoreDataU8,(PVMCPUCC pVCpu, RTGCPTR GCPtrMem, uint8_t u8Value));
Note:
See TracChangeset
for help on using the changeset viewer.