|
From: <sv...@va...> - 2005-10-03 02:44:05
|
Author: sewardj
Date: 2005-10-03 03:44:01 +0100 (Mon, 03 Oct 2005)
New Revision: 1408
Log:
Implement the 0F 7F encoding for movq mmreg, mmreg.
Modified:
trunk/priv/guest-x86/toIR.c
Modified: trunk/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-x86/toIR.c 2005-10-03 02:16:02 UTC (rev 1407)
+++ trunk/priv/guest-x86/toIR.c 2005-10-03 02:44:01 UTC (rev 1408)
@@ -5334,9 +5334,10 @@
goto mmx_decode_failure;
modrm =3D getIByte(delta);
if (epartIsReg(modrm)) {
- /* Fall through. The assembler doesn't appear to generate
- these. */
- goto mmx_decode_failure;
+ delta++;
+ putMMXReg( eregOfRM(modrm), getMMXReg(gregOfRM(modrm)) );
+ DIP("movq %s, %s\n",=20
+ nameMMXReg(gregOfRM(modrm)), nameMMXReg(eregOfRM(modrm))=
);
} else {
IRTemp addr =3D disAMode( &len, sorb, delta, dis_buf );
delta +=3D len;
|