Temporary tweak to reinstate a change that disappeared when sse2.cc was removed.

The 64 bit variant of MOVNTI was not decoded.  The proper fix for this is to work on
fetchdecode64.cc to call a 64 bit variant of SSE instructions or fail it with a
invalid op.  A careful check needs to be done with the AMD manuals to determine if
there are any other SSE instructions that have a special 64 bit decoding.
This commit is contained in:
Peter Tattam 2003-01-14 06:50:01 +00:00
parent 04888a1039
commit b2622c5d04

View File

@ -1315,8 +1315,19 @@ void BX_CPU_C::MOVNTI_MdGd(bxInstruction_c *i)
UndefinedOpcode(i);
}
Bit32u val32 = BX_READ_32BIT_REG(i->nnn());
write_virtual_dword(i->seg(), RMAddr(i), &val32);
#if BX_SUPPORT_X86_64
if (i->os64L()) {
Bit64u val64 = BX_READ_64BIT_REG(i->nnn());
write_virtual_qword(i->seg(), RMAddr(i), &val64);
}
else {
Bit32u val32 = BX_READ_32BIT_REG(i->nnn());
write_virtual_dword(i->seg(), RMAddr(i), &val32);
}
#else
Bit32u val32 = BX_READ_32BIT_REG(i->nnn());
write_virtual_dword(i->seg(), RMAddr(i), &val32);
#endif
#else
BX_INFO(("MOVNTI_MdGd: SSE2 not supported in current configuration"));