about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64run0f.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c
index bac642b3..d7b0fe61 100644
--- a/src/emu/x64run0f.c
+++ b/src/emu/x64run0f.c
@@ -1125,19 +1125,19 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step)
             nextop = F8;

             GETED(0);

             GETGD;

-            tmp32s = GD->sdword[0];

-            tmp8u=tmp32s&(rex.w?63:31);

-            tmp32s >>= (rex.w?6:5);

+            tmp64s = rex.w?GD->sq[0]:GD->sdword[0];

+            tmp8u=tmp64s&(rex.w?63:31);

+            tmp64s >>= (rex.w?6:5);

             if(!MODREG)

             {

                 #ifdef TEST_INTERPRETER

-                test->memaddr=((test->memaddr)+(tmp32s<<(rex.w?3:2)));

+                test->memaddr=((test->memaddr)+(tmp64s<<(rex.w?3:2)));

                 if(rex.w)

                     *(uint64_t*)test->mem = *(uint64_t*)test->memaddr;

                 else

                     *(uint32_t*)test->mem = *(uint32_t*)test->memaddr;

                 #else

-                ED=(reg64_t*)(((uintptr_t)(ED))+(tmp32s<<(rex.w?3:2)));

+                ED=(reg64_t*)(((uintptr_t)(ED))+(tmp64s<<(rex.w?3:2)));

                 #endif

             }

             if(rex.w) {