Changeset 108288 in vbox for trunk/src/VBox/VMM/include/IEMMc.h
- Timestamp:
- Feb 19, 2025 12:02:33 PM (3 weeks ago)
- svn:sync-xref-src-repo-rev:
- 167631
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMMc.h
r108287 r108288 970 970 do { IEM_MC_INT_CLEAR_ZMM_256_UP(a_iYReg); } while (0) 971 971 972 #define IEM_MC_FETCH_MEM_ U8(a_u8Dst, a_iSeg, a_GCPtrMem) \972 #define IEM_MC_FETCH_MEM_SEG_U8(a_u8Dst, a_iSeg, a_GCPtrMem) \ 973 973 ((a_u8Dst) = iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 974 #define IEM_MC_FETCH_MEM16_ U8(a_u8Dst, a_iSeg, a_GCPtrMem16) \974 #define IEM_MC_FETCH_MEM16_SEG_U8(a_u8Dst, a_iSeg, a_GCPtrMem16) \ 975 975 ((a_u8Dst) = iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem16))) 976 #define IEM_MC_FETCH_MEM32_ U8(a_u8Dst, a_iSeg, a_GCPtrMem32) \976 #define IEM_MC_FETCH_MEM32_SEG_U8(a_u8Dst, a_iSeg, a_GCPtrMem32) \ 977 977 ((a_u8Dst) = iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem32))) 978 978 … … 984 984 ((a_u8Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem32))) 985 985 986 #define IEM_MC_FETCH_MEM_ U16(a_u16Dst, a_iSeg, a_GCPtrMem) \986 #define IEM_MC_FETCH_MEM_SEG_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \ 987 987 ((a_u16Dst) = iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 988 #define IEM_MC_FETCH_MEM_ U16_DISP(a_u16Dst, a_iSeg, a_GCPtrMem, a_offDisp) \988 #define IEM_MC_FETCH_MEM_SEG_U16_DISP(a_u16Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 989 989 ((a_u16Dst) = iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 990 #define IEM_MC_FETCH_MEM_ I16(a_i16Dst, a_iSeg, a_GCPtrMem) \990 #define IEM_MC_FETCH_MEM_SEG_I16(a_i16Dst, a_iSeg, a_GCPtrMem) \ 991 991 ((a_i16Dst) = (int16_t)iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 992 #define IEM_MC_FETCH_MEM_ I16_DISP(a_i16Dst, a_iSeg, a_GCPtrMem, a_offDisp) \992 #define IEM_MC_FETCH_MEM_SEG_I16_DISP(a_i16Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 993 993 ((a_i16Dst) = (int16_t)iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 994 994 … … 1002 1002 ((a_i16Dst) = (int16_t)iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem) + (a_offDisp))) 1003 1003 1004 #define IEM_MC_FETCH_MEM_ U32(a_u32Dst, a_iSeg, a_GCPtrMem) \1004 #define IEM_MC_FETCH_MEM_SEG_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \ 1005 1005 ((a_u32Dst) = iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1006 #define IEM_MC_FETCH_MEM_ U32_DISP(a_u32Dst, a_iSeg, a_GCPtrMem, a_offDisp) \1006 #define IEM_MC_FETCH_MEM_SEG_U32_DISP(a_u32Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 1007 1007 ((a_u32Dst) = iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 1008 #define IEM_MC_FETCH_MEM_ I32(a_i32Dst, a_iSeg, a_GCPtrMem) \1008 #define IEM_MC_FETCH_MEM_SEG_I32(a_i32Dst, a_iSeg, a_GCPtrMem) \ 1009 1009 ((a_i32Dst) = (int32_t)iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1010 #define IEM_MC_FETCH_MEM_ I32_DISP(a_i32Dst, a_iSeg, a_GCPtrMem, a_offDisp) \1010 #define IEM_MC_FETCH_MEM_SEG_I32_DISP(a_i32Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 1011 1011 ((a_i32Dst) = (int32_t)iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 1012 1012 … … 1020 1020 ((a_i32Dst) = (int32_t)iemMemFlatFetchDataU32Jmp(pVCpu, (a_GCPtrMem) + (a_offDisp))) 1021 1021 1022 #define IEM_MC_FETCH_MEM_ U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1022 #define IEM_MC_FETCH_MEM_SEG_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1023 1023 ((a_u64Dst) = iemMemFetchDataU64Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1024 #define IEM_MC_FETCH_MEM_ U64_DISP(a_u64Dst, a_iSeg, a_GCPtrMem, a_offDisp) \1024 #define IEM_MC_FETCH_MEM_SEG_U64_DISP(a_u64Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 1025 1025 ((a_u64Dst) = iemMemFetchDataU64Jmp(pVCpu, (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 1026 #define IEM_MC_FETCH_MEM_ U64_ALIGN_U128(a_u64Dst, a_iSeg, a_GCPtrMem) \1026 #define IEM_MC_FETCH_MEM_SEG_U64_ALIGN_U128(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1027 1027 ((a_u64Dst) = iemMemFetchDataU64AlignedU128Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1028 #define IEM_MC_FETCH_MEM_ I64(a_i64Dst, a_iSeg, a_GCPtrMem) \1028 #define IEM_MC_FETCH_MEM_SEG_I64(a_i64Dst, a_iSeg, a_GCPtrMem) \ 1029 1029 ((a_i64Dst) = (int64_t)iemMemFetchDataU64Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1030 1030 … … 1038 1038 ((a_i64Dst) = (int64_t)iemMemFlatFetchDataU64Jmp(pVCpu, (a_GCPtrMem))) 1039 1039 1040 #define IEM_MC_FETCH_MEM_ R32(a_r32Dst, a_iSeg, a_GCPtrMem) \1040 #define IEM_MC_FETCH_MEM_SEG_R32(a_r32Dst, a_iSeg, a_GCPtrMem) \ 1041 1041 ((a_r32Dst).u = iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1042 #define IEM_MC_FETCH_MEM_ R64(a_r64Dst, a_iSeg, a_GCPtrMem) \1042 #define IEM_MC_FETCH_MEM_SEG_R64(a_r64Dst, a_iSeg, a_GCPtrMem) \ 1043 1043 ((a_r64Dst).u = iemMemFetchDataU64Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1044 #define IEM_MC_FETCH_MEM_ R80(a_r80Dst, a_iSeg, a_GCPtrMem) \1044 #define IEM_MC_FETCH_MEM_SEG_R80(a_r80Dst, a_iSeg, a_GCPtrMem) \ 1045 1045 iemMemFetchDataR80Jmp(pVCpu, &(a_r80Dst), (a_iSeg), (a_GCPtrMem)) 1046 #define IEM_MC_FETCH_MEM_ D80(a_d80Dst, a_iSeg, a_GCPtrMem) \1046 #define IEM_MC_FETCH_MEM_SEG_D80(a_d80Dst, a_iSeg, a_GCPtrMem) \ 1047 1047 iemMemFetchDataD80Jmp(pVCpu, &(a_d80Dst), (a_iSeg), (a_GCPtrMem)) 1048 1048 … … 1056 1056 iemMemFlatFetchDataD80Jmp(pVCpu, &(a_d80Dst), (a_GCPtrMem)) 1057 1057 1058 #define IEM_MC_FETCH_MEM_ U128(a_u128Dst, a_iSeg, a_GCPtrMem) \1058 #define IEM_MC_FETCH_MEM_SEG_U128(a_u128Dst, a_iSeg, a_GCPtrMem) \ 1059 1059 iemMemFetchDataU128Jmp(pVCpu, &(a_u128Dst), (a_iSeg), (a_GCPtrMem)) 1060 #define IEM_MC_FETCH_MEM_ U128_NO_AC(a_u128Dst, a_iSeg, a_GCPtrMem) \1060 #define IEM_MC_FETCH_MEM_SEG_U128_NO_AC(a_u128Dst, a_iSeg, a_GCPtrMem) \ 1061 1061 iemMemFetchDataU128NoAcJmp(pVCpu, &(a_u128Dst), (a_iSeg), (a_GCPtrMem)) 1062 #define IEM_MC_FETCH_MEM_ U128_ALIGN_SSE(a_u128Dst, a_iSeg, a_GCPtrMem) \1062 #define IEM_MC_FETCH_MEM_SEG_U128_ALIGN_SSE(a_u128Dst, a_iSeg, a_GCPtrMem) \ 1063 1063 iemMemFetchDataU128AlignedSseJmp(pVCpu, &(a_u128Dst), (a_iSeg), (a_GCPtrMem)) 1064 1064 1065 #define IEM_MC_FETCH_MEM_ XMM(a_XmmDst, a_iSeg, a_GCPtrMem) \1065 #define IEM_MC_FETCH_MEM_SEG_XMM(a_XmmDst, a_iSeg, a_GCPtrMem) \ 1066 1066 iemMemFetchDataU128Jmp(pVCpu, &(a_XmmDst).uXmm, (a_iSeg), (a_GCPtrMem)) 1067 #define IEM_MC_FETCH_MEM_ XMM_NO_AC(a_XmmDst, a_iSeg, a_GCPtrMem) \1067 #define IEM_MC_FETCH_MEM_SEG_XMM_NO_AC(a_XmmDst, a_iSeg, a_GCPtrMem) \ 1068 1068 iemMemFetchDataU128NoAcJmp(pVCpu, &(a_XmmDst).uXmm, (a_iSeg), (a_GCPtrMem)) 1069 #define IEM_MC_FETCH_MEM_ XMM_ALIGN_SSE(a_XmmDst, a_iSeg, a_GCPtrMem) \1069 #define IEM_MC_FETCH_MEM_SEG_XMM_ALIGN_SSE(a_XmmDst, a_iSeg, a_GCPtrMem) \ 1070 1070 iemMemFetchDataU128AlignedSseJmp(pVCpu, &(a_XmmDst).uXmm, (a_iSeg), (a_GCPtrMem)) 1071 1071 … … 1084 1084 iemMemFlatFetchDataU128AlignedSseJmp(pVCpu, &(a_XmmDst).uXmm, (a_GCPtrMem)) 1085 1085 1086 #define IEM_MC_FETCH_MEM_ U128_AND_XREG_U128(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \1086 #define IEM_MC_FETCH_MEM_SEG_U128_AND_XREG_U128(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \ 1087 1087 iemMemFetchDataU128Jmp(pVCpu, &(a_Dst).uSrc2, (a_iSeg2), (a_GCPtrMem2)); \ 1088 1088 (a_Dst).uSrc1.au64[0] = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg1)].au64[0]; \ … … 1095 1095 } while (0) 1096 1096 1097 #define IEM_MC_FETCH_MEM_ XMM_ALIGN_SSE_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \1097 #define IEM_MC_FETCH_MEM_SEG_XMM_ALIGN_SSE_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \ 1098 1098 iemMemFetchDataU128AlignedSseJmp(pVCpu, &(a_Dst).uSrc2.uXmm, (a_iSeg2), (a_GCPtrMem2)); \ 1099 1099 (a_Dst).uSrc1.uXmm.au64[0] = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg1)].au64[0]; \ … … 1101 1101 } while (0) 1102 1102 1103 #define IEM_MC_FETCH_MEM_ XMM_NO_AC_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \1103 #define IEM_MC_FETCH_MEM_SEG_XMM_NO_AC_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \ 1104 1104 iemMemFetchDataU128NoAcJmp(pVCpu, &(a_Dst).uSrc2.uXmm, (a_iSeg2), (a_GCPtrMem2)); \ 1105 1105 (a_Dst).uSrc1.uXmm.au64[0] = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg1)].au64[0]; \ … … 1119 1119 } while (0) 1120 1120 1121 #define IEM_MC_FETCH_MEM_ XMM_U32_AND_XREG_XMM(a_Dst, a_iXReg1, a_iDWord2, a_iSeg2, a_GCPtrMem2) do { \1121 #define IEM_MC_FETCH_MEM_SEG_XMM_U32_AND_XREG_XMM(a_Dst, a_iXReg1, a_iDWord2, a_iSeg2, a_GCPtrMem2) do { \ 1122 1122 (a_Dst).uSrc2.uXmm.au64[0] = 0; \ 1123 1123 (a_Dst).uSrc2.uXmm.au64[1] = 0; \ … … 1134 1134 } while (0) 1135 1135 1136 #define IEM_MC_FETCH_MEM_ XMM_U64_AND_XREG_XMM(a_Dst, a_iXReg1, a_iQWord2, a_iSeg2, a_GCPtrMem2) do { \1136 #define IEM_MC_FETCH_MEM_SEG_XMM_U64_AND_XREG_XMM(a_Dst, a_iXReg1, a_iQWord2, a_iSeg2, a_GCPtrMem2) do { \ 1137 1137 (a_Dst).uSrc2.uXmm.au64[!(a_iQWord2)] = 0; \ 1138 1138 (a_Dst).uSrc2.uXmm.au64[(a_iQWord2)] = iemMemFetchDataU64Jmp(pVCpu, (a_iSeg2), (a_GCPtrMem2)); \ … … 1148 1148 1149 1149 1150 #define IEM_MC_FETCH_MEM_ U128_AND_XREG_U128_AND_RAX_RDX_U64(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \1150 #define IEM_MC_FETCH_MEM_SEG_U128_AND_XREG_U128_AND_RAX_RDX_U64(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \ 1151 1151 iemMemFetchDataU128Jmp(pVCpu, &(a_Dst).uSrc2, (a_iSeg2), (a_GCPtrMem2)); \ 1152 1152 (a_Dst).uSrc1.au64[0] = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg1)].au64[0]; \ … … 1155 1155 (a_Dst).u64Rdx = pVCpu->cpum.GstCtx.rdx; \ 1156 1156 } while (0) 1157 #define IEM_MC_FETCH_MEM_ U128_AND_XREG_U128_AND_EAX_EDX_U32_SX_U64(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \1157 #define IEM_MC_FETCH_MEM_SEG_U128_AND_XREG_U128_AND_EAX_EDX_U32_SX_U64(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) do { \ 1158 1158 iemMemFetchDataU128Jmp(pVCpu, &(a_Dst).uSrc2, (a_iSeg2), (a_GCPtrMem2)); \ 1159 1159 (a_Dst).uSrc1.au64[0] = pVCpu->cpum.GstCtx.XState.x87.aXMM[(a_iXReg1)].au64[0]; \ … … 1179 1179 1180 1180 1181 #define IEM_MC_FETCH_MEM_ U256(a_u256Dst, a_iSeg, a_GCPtrMem) \1181 #define IEM_MC_FETCH_MEM_SEG_U256(a_u256Dst, a_iSeg, a_GCPtrMem) \ 1182 1182 iemMemFetchDataU256NoAcJmp(pVCpu, &(a_u256Dst), (a_iSeg), (a_GCPtrMem)) 1183 #define IEM_MC_FETCH_MEM_ U256_NO_AC(a_u256Dst, a_iSeg, a_GCPtrMem) \1183 #define IEM_MC_FETCH_MEM_SEG_U256_NO_AC(a_u256Dst, a_iSeg, a_GCPtrMem) \ 1184 1184 iemMemFetchDataU256NoAcJmp(pVCpu, &(a_u256Dst), (a_iSeg), (a_GCPtrMem)) 1185 #define IEM_MC_FETCH_MEM_ U256_ALIGN_AVX(a_u256Dst, a_iSeg, a_GCPtrMem) \1185 #define IEM_MC_FETCH_MEM_SEG_U256_ALIGN_AVX(a_u256Dst, a_iSeg, a_GCPtrMem) \ 1186 1186 iemMemFetchDataU256AlignedAvxJmp(pVCpu, &(a_u256Dst), (a_iSeg), (a_GCPtrMem)) 1187 1187 1188 #define IEM_MC_FETCH_MEM_ YMM(a_YmmDst, a_iSeg, a_GCPtrMem) \1188 #define IEM_MC_FETCH_MEM_SEG_YMM(a_YmmDst, a_iSeg, a_GCPtrMem) \ 1189 1189 iemMemFetchDataU256NoAcJmp(pVCpu, &(a_YmmDst).ymm, (a_iSeg), (a_GCPtrMem)) 1190 #define IEM_MC_FETCH_MEM_ YMM_NO_AC(a_YmmDst, a_iSeg, a_GCPtrMem) \1190 #define IEM_MC_FETCH_MEM_SEG_YMM_NO_AC(a_YmmDst, a_iSeg, a_GCPtrMem) \ 1191 1191 iemMemFetchDataU256NoAcJmp(pVCpu, &(a_YmmDst).ymm, (a_iSeg), (a_GCPtrMem)) 1192 #define IEM_MC_FETCH_MEM_ YMM_ALIGN_AVX(a_YmmDst, a_iSeg, a_GCPtrMem) \1192 #define IEM_MC_FETCH_MEM_SEG_YMM_ALIGN_AVX(a_YmmDst, a_iSeg, a_GCPtrMem) \ 1193 1193 iemMemFetchDataU256AlignedAvxJmp(pVCpu, &(a_YmmDst).ymm, (a_iSeg), (a_GCPtrMem)) 1194 1194 1195 #define IEM_MC_FETCH_MEM_ YMM_NO_AC_AND_YREG_YMM(a_uYmmDst, a_iYRegSrc1, a_iSeg2, a_GCPtrMem2) do { \1195 #define IEM_MC_FETCH_MEM_SEG_YMM_NO_AC_AND_YREG_YMM(a_uYmmDst, a_iYRegSrc1, a_iSeg2, a_GCPtrMem2) do { \ 1196 1196 uintptr_t const a_iYRegSrc1Tmp = (a_iYRegSrc1); \ 1197 1197 iemMemFetchDataU256NoAcJmp(pVCpu, &(a_uYmmDst).uSrc2.ymm, (a_iSeg2), (a_GCPtrMem2)); \ … … 1227 1227 1228 1228 1229 #define IEM_MC_FETCH_MEM_ U8_ZX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \1229 #define IEM_MC_FETCH_MEM_SEG_U8_ZX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \ 1230 1230 ((a_u16Dst) = iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1231 #define IEM_MC_FETCH_MEM_ U8_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \1231 #define IEM_MC_FETCH_MEM_SEG_U8_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \ 1232 1232 ((a_u32Dst) = iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1233 #define IEM_MC_FETCH_MEM_ U8_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1233 #define IEM_MC_FETCH_MEM_SEG_U8_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1234 1234 ((a_u64Dst) = iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1235 #define IEM_MC_FETCH_MEM_ U16_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \1235 #define IEM_MC_FETCH_MEM_SEG_U16_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \ 1236 1236 ((a_u32Dst) = iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1237 #define IEM_MC_FETCH_MEM_ U16_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1237 #define IEM_MC_FETCH_MEM_SEG_U16_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1238 1238 ((a_u64Dst) = iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1239 #define IEM_MC_FETCH_MEM_ U32_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1239 #define IEM_MC_FETCH_MEM_SEG_U32_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1240 1240 ((a_u64Dst) = iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1241 1241 … … 1253 1253 ((a_u64Dst) = iemMemFlatFetchDataU32Jmp(pVCpu, (a_GCPtrMem))) 1254 1254 1255 #define IEM_MC_FETCH_MEM_ U8_SX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \1255 #define IEM_MC_FETCH_MEM_SEG_U8_SX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \ 1256 1256 ((a_u16Dst) = (int8_t)iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1257 #define IEM_MC_FETCH_MEM_ U8_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \1257 #define IEM_MC_FETCH_MEM_SEG_U8_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \ 1258 1258 ((a_u32Dst) = (int8_t)iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1259 #define IEM_MC_FETCH_MEM_ U8_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1259 #define IEM_MC_FETCH_MEM_SEG_U8_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1260 1260 ((a_u64Dst) = (int8_t)iemMemFetchDataU8Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1261 #define IEM_MC_FETCH_MEM_ U16_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \1261 #define IEM_MC_FETCH_MEM_SEG_U16_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \ 1262 1262 ((a_u32Dst) = (int16_t)iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1263 #define IEM_MC_FETCH_MEM_ U16_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1263 #define IEM_MC_FETCH_MEM_SEG_U16_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1264 1264 ((a_u64Dst) = (int16_t)iemMemFetchDataU16Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1265 #define IEM_MC_FETCH_MEM_ U32_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \1265 #define IEM_MC_FETCH_MEM_SEG_U32_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 1266 1266 ((a_u64Dst) = (int32_t)iemMemFetchDataU32Jmp(pVCpu, (a_iSeg), (a_GCPtrMem))) 1267 1267
Note:
See TracChangeset
for help on using the changeset viewer.