about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-10-09 20:32:37 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-10-09 20:32:41 +0200
commit5e9a9b9867bd300a5b136d9ad7394c4be1d56dc9 (patch)
treeb393e6fd5cfd8eb6023205145671df92c68ce7c2 /src
parent68826baf3bc7a0992c28c9e0909f67adb4034ec8 (diff)
downloadbox64-5e9a9b9867bd300a5b136d9ad7394c4be1d56dc9.tar.gz
box64-5e9a9b9867bd300a5b136d9ad7394c4be1d56dc9.zip
Added 64 66 0F 11 opcode (for #418)
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run6664.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/emu/x64run6664.c b/src/emu/x64run6664.c
index 25fee5b1..4a4b8a37 100644
--- a/src/emu/x64run6664.c
+++ b/src/emu/x64run6664.c
@@ -43,13 +43,12 @@ uintptr_t Run6664(x64emu_t *emu, rex_t rex, uintptr_t addr)
         case 0x0F:

             opcode = F8;

             switch(opcode) {

-                case 0xD6:                      /* MOVQ Ex,Gx */

+

+                case 0x11:                      /* MOVUPD Ex, Gx */

                     nextop = F8;

                     GETEX_OFFS(0, tlsdata);

                     GETGX;

-                    EX->q[0] = GX->q[0];

-                    if(MODREG)

-                        EX->q[1] = 0;

+                    memcpy(EX, GX, 16); // unaligned...

                     break;

 

                 case 0x2E:                      /* UCOMISD Gx, Ex */

@@ -71,6 +70,15 @@ uintptr_t Run6664(x64emu_t *emu, rex_t rex, uintptr_t addr)
                     CLEAR_FLAG(F_OF); CLEAR_FLAG(F_AF); CLEAR_FLAG(F_SF);

                     break;

 

+                case 0xD6:                      /* MOVQ Ex,Gx */

+                    nextop = F8;

+                    GETEX_OFFS(0, tlsdata);

+                    GETGX;

+                    EX->q[0] = GX->q[0];

+                    if(MODREG)

+                        EX->q[1] = 0;

+                    break;

+

                 default:

                     return 0;

             }