about summary refs log tree commit diff stats
path: root/src/emu/x64run0f.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-04-23 18:20:38 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-04-23 18:20:38 +0200
commit223de50ec94de8b0bf0bce39fcd235c74992d135 (patch)
tree7c26ae5d7e695ed49b336b8dfff05a417d54603d /src/emu/x64run0f.c
parent5cfad2216584fae41c1575ca4034e2d24f3b0be2 (diff)
downloadbox64-223de50ec94de8b0bf0bce39fcd235c74992d135.tar.gz
box64-223de50ec94de8b0bf0bce39fcd235c74992d135.zip
[INTERP] Fex fixes and small cosmetic changes to some partial (V)MOV opcodes
Diffstat (limited to 'src/emu/x64run0f.c')
-rw-r--r--src/emu/x64run0f.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c
index a89ac9d2..86d49178 100644
--- a/src/emu/x64run0f.c
+++ b/src/emu/x64run0f.c
@@ -228,16 +228,18 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step)
             nextop = F8;

             GETEX(0);

             GETGX;

-            if(MODREG)    /* MOVHLPS Gx,Ex */

+            if(MODREG)    /* MOVHLPS Gx, Ex */

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

             else

-                GX->q[0] = EX->q[0];    /* MOVLPS Gx,Ex */

+                GX->q[0] = EX->q[0];    /* MOVLPS Gx, Ex */

             break;

-        case 0x13:                      /* MOVLPS Ex,Gx */

+        case 0x13:                      /* MOVLPS Ex, Gx */

             nextop = F8;

-            GETEX(0);

-            GETGX;

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

+            if(!MODREG) {

+                GETEX(0);

+                GETGX;

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

+            }

             break;

         case 0x14:                      /* UNPCKLPS Gx, Ex */

             nextop = F8;