Changeset 102896 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jan 16, 2024 12:23:05 PM (14 months ago)
- svn:sync-xref-src-repo-rev:
- 161118
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r102882 r102896 6731 6731 ; 6732 6732 ; @param A0 Pointer to the destination operand (input/output). 6733 ; @param A1 Pointer to the EFLAGS value (input/output).6734 ; @param A2 32-bit source operand 1 (input).6733 ; @param A1 32-bit source operand 1 (input). 6734 ; @param A2 Pointer to the EFLAGS value (input/output). 6735 6735 ; 6736 6736 %macro IEMIMPL_ADX_32 2 … … 6738 6738 PROLOGUE_4_ARGS 6739 6739 6740 IEM_LOAD_FLAGS A 1, %2, 06741 %1 A 2_32, [A0]6742 mov [A0], A 2_326743 IEM_SAVE_FLAGS A 1, %2, 06740 IEM_LOAD_FLAGS A2, %2, 0 6741 %1 A1_32, [A0] 6742 mov [A0], A1_32 6743 IEM_SAVE_FLAGS A2, %2, 0 6744 6744 6745 6745 EPILOGUE_4_ARGS … … 6751 6751 ; 6752 6752 ; @param A0 Pointer to the destination operand (input/output). 6753 ; @param A1 Pointer to the EFLAGS value (input/output).6754 ; @param A2 64-bit source operand 1 (input).6753 ; @param A1 64-bit source operand 1 (input). 6754 ; @param A2 Pointer to the EFLAGS value (input/output). 6755 6755 ; 6756 6756 %macro IEMIMPL_ADX_64 2 … … 6758 6758 PROLOGUE_4_ARGS 6759 6759 6760 IEM_LOAD_FLAGS A 1, %2, 06761 %1 A 2, [A0]6762 mov [A0], A 26763 IEM_SAVE_FLAGS A 1, %2, 06760 IEM_LOAD_FLAGS A2, %2, 0 6761 %1 A1, [A0] 6762 mov [A0], A1 6763 IEM_SAVE_FLAGS A2, %2, 0 6764 6764 6765 6765 EPILOGUE_4_ARGS -
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r102887 r102896 18587 18587 while (0) 18588 18588 18589 IEM_DECL_IMPL_DEF(void, iemAImpl_adcx_u32_fallback,(uint32_t *puDst, uint32_t *pfEFlags, uint32_t uSrc))18589 IEM_DECL_IMPL_DEF(void, iemAImpl_adcx_u32_fallback,(uint32_t *puDst, uint32_t uSrc, uint32_t *pfEFlags)) 18590 18590 { 18591 18591 ADX_EMIT(X86_EFL_CF, uint32_t, UINT32_MAX); 18592 18592 } 18593 18593 18594 IEM_DECL_IMPL_DEF(void, iemAImpl_adcx_u64_fallback,(uint64_t *puDst, uint 32_t *pfEFlags, uint64_t uSrc))18594 IEM_DECL_IMPL_DEF(void, iemAImpl_adcx_u64_fallback,(uint64_t *puDst, uint64_t uSrc, uint32_t *pfEFlags)) 18595 18595 { 18596 18596 ADX_EMIT(X86_EFL_CF, uint64_t, UINT64_MAX); 18597 18597 } 18598 18599 # if defined(IEM_WITHOUT_ASSEMBLY) 18600 18601 IEM_DECL_IMPL_DEF(void, iemAImpl_adcx_u32,(uint32_t *puDst, uint32_t uSrc, uint32_t *pfEFlags)) 18602 { 18603 ADX_EMIT(X86_EFL_CF, uint32_t, UINT32_MAX); 18604 } 18605 18606 IEM_DECL_IMPL_DEF(void, iemAImpl_adcx_u64,(uint64_t *puDst, uint64_t uSrc, uint32_t *pfEFlags)) 18607 { 18608 ADX_EMIT(X86_EFL_CF, uint64_t, UINT64_MAX); 18609 } 18610 18611 #endif 18598 18612 18599 18613 … … 18601 18615 * ADOX 18602 18616 */ 18603 IEM_DECL_IMPL_DEF(void, iemAImpl_adox_u32_fallback,(uint32_t *puDst, uint32_t *pfEFlags, uint32_t uSrc))18617 IEM_DECL_IMPL_DEF(void, iemAImpl_adox_u32_fallback,(uint32_t *puDst, uint32_t uSrc, uint32_t *pfEFlags)) 18604 18618 { 18605 18619 ADX_EMIT(X86_EFL_OF, uint32_t, UINT32_MAX); 18606 18620 } 18607 18621 18608 IEM_DECL_IMPL_DEF(void, iemAImpl_adox_u64_fallback,(uint64_t *puDst, uint 32_t *pfEFlags, uint64_t uSrc))18622 IEM_DECL_IMPL_DEF(void, iemAImpl_adox_u64_fallback,(uint64_t *puDst, uint64_t uSrc, uint32_t *pfEFlags)) 18609 18623 { 18610 18624 ADX_EMIT(X86_EFL_OF, uint64_t, UINT64_MAX); 18611 18625 } 18626 18627 # if defined(IEM_WITHOUT_ASSEMBLY) 18628 18629 IEM_DECL_IMPL_DEF(void, iemAImpl_adox_u32,(uint32_t *puDst, uint32_t uSrc, uint32_t *pfEFlags)) 18630 { 18631 ADX_EMIT(X86_EFL_OF, uint32_t, UINT32_MAX); 18632 } 18633 18634 IEM_DECL_IMPL_DEF(void, iemAImpl_adox_u64,(uint64_t *puDst, uint64_t uSrc, uint32_t *pfEFlags)) 18635 { 18636 ADX_EMIT(X86_EFL_OF, uint64_t, UINT64_MAX); 18637 } 18638 18639 # endif 18612 18640 18613 18641 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstThree0f38.cpp.h
r102331 r102896 2078 2078 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 2079 2079 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 2080 IEM_MC_ARG(uint 32_t *, pEFlags,1); \2081 IEM_MC_ARG(uint 64_t, u64Src,2); \2080 IEM_MC_ARG(uint64_t, u64Src, 1); \ 2081 IEM_MC_ARG(uint32_t *, pEFlags, 2); \ 2082 2082 IEM_MC_FETCH_GREG_U64(u64Src, IEM_GET_MODRM_RM(pVCpu, bRm)); \ 2083 2083 IEM_MC_REF_GREG_U64(pu64Dst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 2084 2084 IEM_MC_REF_EFLAGS(pEFlags); \ 2085 2085 IEM_MC_CALL_VOID_AIMPL_3(IEM_SELECT_HOST_OR_FALLBACK(fAdx, iemAImpl_## a_Variant ##_u64, iemAImpl_## a_Variant ##_u64_fallback), \ 2086 pu64Dst, pEFlags, u64Src); \2086 pu64Dst, u64Src, pEFlags); \ 2087 2087 IEM_MC_ADVANCE_RIP_AND_FINISH(); \ 2088 2088 IEM_MC_END(); \ … … 2092 2092 IEM_MC_BEGIN(3, 1, IEM_MC_F_64BIT, 0); \ 2093 2093 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 2094 IEM_MC_ARG(uint 32_t *, pEFlags,1); \2095 IEM_MC_ARG(uint 64_t, u64Src,2); \2094 IEM_MC_ARG(uint64_t, u64Src, 1); \ 2095 IEM_MC_ARG(uint32_t *, pEFlags, 2); \ 2096 2096 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 2097 2097 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); \ … … 2101 2101 IEM_MC_REF_EFLAGS(pEFlags); \ 2102 2102 IEM_MC_CALL_VOID_AIMPL_3(IEM_SELECT_HOST_OR_FALLBACK(fAdx, iemAImpl_## a_Variant ##_u64, iemAImpl_## a_Variant ##_u64_fallback), \ 2103 pu64Dst, pEFlags, u64Src); \2103 pu64Dst, u64Src, pEFlags); \ 2104 2104 IEM_MC_ADVANCE_RIP_AND_FINISH(); \ 2105 2105 IEM_MC_END(); \ … … 2113 2113 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 2114 2114 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 2115 IEM_MC_ARG(uint32_t *, pEFlags,1); \2116 IEM_MC_ARG(uint32_t , u32Src,2); \2115 IEM_MC_ARG(uint32_t, u32Src, 1); \ 2116 IEM_MC_ARG(uint32_t *, pEFlags, 2); \ 2117 2117 IEM_MC_FETCH_GREG_U32(u32Src, IEM_GET_MODRM_RM(pVCpu, bRm)); \ 2118 2118 IEM_MC_REF_GREG_U32(pu32Dst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 2119 2119 IEM_MC_REF_EFLAGS(pEFlags); \ 2120 2120 IEM_MC_CALL_VOID_AIMPL_3(IEM_SELECT_HOST_OR_FALLBACK(fAdx, iemAImpl_## a_Variant ##_u32, iemAImpl_## a_Variant ##_u32_fallback), \ 2121 pu32Dst, pEFlags, u32Src); \2121 pu32Dst, u32Src, pEFlags); \ 2122 2122 IEM_MC_ADVANCE_RIP_AND_FINISH(); \ 2123 2123 IEM_MC_END(); \ … … 2127 2127 IEM_MC_BEGIN(3, 1, IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2128 2128 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 2129 IEM_MC_ARG(uint32_t *, pEFlags,1); \2130 IEM_MC_ARG(uint32_t , u32Src,2); \2129 IEM_MC_ARG(uint32_t, u32Src, 1); \ 2130 IEM_MC_ARG(uint32_t *, pEFlags, 2); \ 2131 2131 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 2132 2132 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); \ … … 2136 2136 IEM_MC_REF_EFLAGS(pEFlags); \ 2137 2137 IEM_MC_CALL_VOID_AIMPL_3(IEM_SELECT_HOST_OR_FALLBACK(fAdx, iemAImpl_## a_Variant ##_u32, iemAImpl_## a_Variant ##_u32_fallback), \ 2138 pu32Dst, pEFlags, u32Src); \2138 pu32Dst, u32Src, pEFlags); \ 2139 2139 IEM_MC_ADVANCE_RIP_AND_FINISH(); \ 2140 2140 IEM_MC_END(); \
Note:
See TracChangeset
for help on using the changeset viewer.