Changeset 100579 in vbox for trunk/src/VBox/VMM/include/IEMMc.h
- Timestamp:
- Jul 14, 2023 2:04:07 PM (17 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMMc.h
r100573 r100579 564 564 (a_u256Dst).au64[3] = pVCpu->cpum.GstCtx.XState.u.YmmHi.aYmmHi[iYRegSrcTmp].au64[1]; \ 565 565 } while (0) 566 #define IEM_MC_STORE_YREG_U64(a_iYRegDst, a_iQword, a_u64Value) \ 567 do { pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iYRegDst)].au64[(a_iQword)] = (a_u64Value); } while (0) 568 #define IEM_MC_STORE_YREG_U32(a_iYRegDst, a_iDword, a_u32Value) \ 569 do { pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iYRegDst)].au32[(a_iDword)] = (a_u32Value); } while (0) 570 #define IEM_MC_STORE_YREGHI_U64(a_iYRegDst, a_iQword, a_u64Value) \ 571 do { pVCpu->cpum.GstCtx.XState.u.YmmHi.aYmmHi[(a_iYRegDst)].au64[(a_iQword)] = (a_u64Value); } while (0) 572 #define IEM_MC_STORE_YREGHI_U32(a_iYRegDst, a_iDword, a_u32Value) \ 573 do { pVCpu->cpum.GstCtx.XState.u.YmmHi.aYmmHi[(a_iYRegDst)].au32[(a_iDword)] = (a_u32Value); } while (0) 566 567 #define IEM_MC_STORE_YREG_U128(a_iYRegDst, a_iDQword, a_u128Value) \ 568 do { uintptr_t const iYRegDstTmp = (a_iYRegDst); \ 569 if ((a_iDQword) == 0) \ 570 { \ 571 pVCpu->cpum.GstCtx.XState.x87.aXMM[(iYRegDstTmp)].au64[0] = (a_u128Value).au64[0]; \ 572 pVCpu->cpum.GstCtx.XState.x87.aXMM[(iYRegDstTmp)].au64[1] = (a_u128Value).au64[1]; \ 573 } \ 574 else \ 575 { \ 576 pVCpu->cpum.GstCtx.XState.u.YmmHi.aYmmHi[(iYRegDstTmp)].au64[0] = (a_u128Value).au64[0]; \ 577 pVCpu->cpum.GstCtx.XState.u.YmmHi.aYmmHi[(iYRegDstTmp)].au64[1] = (a_u128Value).au64[1]; \ 578 } \ 579 } while (0) 574 580 575 581 #define IEM_MC_INT_CLEAR_ZMM_256_UP(a_iXRegDst) do { /* For AVX512 and AVX1024 support. */ } while (0)
Note:
See TracChangeset
for help on using the changeset viewer.