Changeset 62402 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jul 21, 2016 1:52:37 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r62399 r62402 1156 1156 { 1157 1157 RTUInt128MulU64ByU64(&Result, *pu64RAX, u64Factor); 1158 *pu64RAX = Result.s.Lo;1159 *pu64RDX = Result.s.Hi;1160 1158 if (Result.s.Hi != 0 || Result.s.Lo >= UINT64_C(0x8000000000000000)) 1161 1159 *pfEFlags |= X86_EFL_CF | X86_EFL_OF; … … 1166 1164 if (Result.s.Hi != 0 || Result.s.Lo > UINT64_C(0x8000000000000000)) 1167 1165 *pfEFlags |= X86_EFL_CF | X86_EFL_OF; 1168 *pu64RAX = UINT64_C(0) - Result.s.Lo; 1169 *pu64RDX = UINT64_C(0) - Result.s.Hi; 1166 RTUInt128AssignNeg(&Result); 1170 1167 } 1171 1168 } … … 1177 1174 if (Result.s.Hi != 0 || Result.s.Lo > UINT64_C(0x8000000000000000)) 1178 1175 *pfEFlags |= X86_EFL_CF | X86_EFL_OF; 1179 *pu64RAX = UINT64_C(0) - Result.s.Lo; 1180 *pu64RDX = UINT64_C(0) - Result.s.Hi; 1176 RTUInt128AssignNeg(&Result); 1181 1177 } 1182 1178 else … … 1185 1181 if (Result.s.Hi != 0 || Result.s.Lo >= UINT64_C(0x8000000000000000)) 1186 1182 *pfEFlags |= X86_EFL_CF | X86_EFL_OF; 1187 *pu64RAX = Result.s.Lo;1188 *pu64RDX = Result.s.Hi;1189 }1190 }1183 } 1184 } 1185 *pu64RAX = Result.s.Lo; 1186 *pu64RDX = Result.s.Hi; 1191 1187 if (*pu64RAX & RT_BIT_64(63)) 1192 1188 *pfEFlags |= X86_EFL_SF;
Note:
See TracChangeset
for help on using the changeset viewer.