about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-06-09 11:02:33 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-06-09 11:02:33 +0200
commitd886cf1d980e5282599c7acb78d6ddc7b8c15a1e (patch)
tree784dd86aa4ba333cf8aa53da0498ac7718d427a6 /src
parente427c6e9cdbb69f6eb14a624ec9c6c9fd6d24849 (diff)
downloadbox64-d886cf1d980e5282599c7acb78d6ddc7b8c15a1e.tar.gz
box64-d886cf1d980e5282599c7acb78d6ddc7b8c15a1e.zip
[INTERP] Added 64/65 0F BF opcode (for #2716)
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run64.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/emu/x64run64.c b/src/emu/x64run64.c
index 9e8747ce..f033a99e 100644
--- a/src/emu/x64run64.c
+++ b/src/emu/x64run64.c
@@ -430,6 +430,24 @@ uintptr_t Run64(x64emu_t *emu, rex_t rex, int seg, uintptr_t addr)
                     }

                     break;

 

+                case 0xBF:                      

+                    switch(rep) {

+                        case 0: /* MOVSX Gd,FS:Ew */

+                            nextop = F8;

+                            GETEW_OFFS(0, tlsdata);

+                            GETGD;

+                            if(rex.w)

+                                GD->sq[0] = EW->sword[0];

+                            else {

+                                GD->sdword[0] = EW->sword[0];

+                                GD->dword[1] = 0;

+                            }

+                            break;

+                        default:

+                            return 0;

+                        }

+                        break;

+

                 default:

                     return 0;

             }