about summary refs log tree commit diff stats
path: root/src/emu/x64run_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/x64run_private.h')
-rw-r--r--src/emu/x64run_private.h41
1 files changed, 12 insertions, 29 deletions
diff --git a/src/emu/x64run_private.h b/src/emu/x64run_private.h
index 26c74c3c..b4c6670d 100644
--- a/src/emu/x64run_private.h
+++ b/src/emu/x64run_private.h
@@ -19,7 +19,12 @@ typedef struct rex_s {
             unsigned int s:4;
         };
     };
-    int     is32bits;
+    uint8_t     is32bits:1;
+    uint8_t     is66:1;
+    uint8_t     is67:1;
+    uint8_t     seg:3; //seg is 0-5, but 0 is CS, so will always be no-offset
+    uint8_t     rep:2; // 0 none, 1=F2 prefix, 2=F3 prefix
+    uint64_t    offset;
 } rex_t;
 
 #define VEX_P_NONE  0
@@ -97,26 +102,15 @@ sse_regs_t* GetGy(x64emu_t *emu, uintptr_t* addr, rex_t rex, uint8_t v);
 #define RESET_FLAGS(emu) emu->df = d_none
 
 uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step);
-uintptr_t Run64(x64emu_t *emu, rex_t rex, int seg, uintptr_t addr);
-uintptr_t Run64AVX(x64emu_t *emu, vex_t vex, uintptr_t addr, uintptr_t tlsdata);
-uintptr_t Run66(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr);
+uintptr_t Run66(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t Run66F20F(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t Run66F30F(x64emu_t *emu, rex_t rex, uintptr_t addr);
-uintptr_t Run6664(x64emu_t *emu, rex_t rex, int seg, uintptr_t addr);
 uintptr_t Run66D9(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t Run66DD(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t Run66F0(x64emu_t *emu, rex_t rex, uintptr_t addr);
-uintptr_t Run67(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Run6764(x64emu_t *emu, rex_t rex, int rep, int seg, uintptr_t addr);
-uintptr_t Run67AVX(x64emu_t *emu, vex_t vex, uintptr_t addr);
-uintptr_t Run67_32(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Run6764_32(x64emu_t *emu, rex_t rex, int rep, int seg, uintptr_t addr);
-uintptr_t Run670F(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Run6766(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Run67660F(x64emu_t *emu, rex_t rex, uintptr_t addr);
-uintptr_t RunD8(x64emu_t *emu, rex_t rex, uintptr_t addr, uintptr_t offs);
-uintptr_t RunD9(x64emu_t *emu, rex_t rex, uintptr_t addr, uintptr_t offs);
+uintptr_t RunD8(x64emu_t *emu, rex_t rex, uintptr_t addr);
+uintptr_t RunD9(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t RunDA(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t RunDB(x64emu_t *emu, rex_t rex, uintptr_t addr);
 uintptr_t RunDC(x64emu_t *emu, rex_t rex, uintptr_t addr);
@@ -140,26 +134,15 @@ uintptr_t RunAVX_F30F38(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step);
 uintptr_t RunAVX_F30F3A(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step);
 
 uintptr_t Test0F(x64test_t *test, rex_t rex, uintptr_t addr, int *step);
-uintptr_t Test64(x64test_t *test, rex_t rex, int seg, uintptr_t addr);
-uintptr_t Test64AVX(x64test_t *test, vex_t vex, uintptr_t addr, uintptr_t tlsdata);
-uintptr_t Test66(x64test_t *test, rex_t rex, int rep, uintptr_t addr);
+uintptr_t Test66(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t Test660F(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t Test66F20F(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t Test66F30F(x64test_t *test, rex_t rex, uintptr_t addr);
-uintptr_t Test6664(x64test_t *test, rex_t rex, int seg, uintptr_t addr);
 uintptr_t Test66D9(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t Test66DD(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t Test66F0(x64test_t *test, rex_t rex, uintptr_t addr);
-uintptr_t Test67(x64test_t *test, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Test6764(x64test_t *test, rex_t rex, int rep, int seg, uintptr_t addr);
-uintptr_t Test67AVX(x64test_t *test, vex_t vex, uintptr_t addr);
-uintptr_t Test67_32(x64test_t *test, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Test6764_32(x64test_t *test, rex_t rex, int rep, int seg, uintptr_t addr);
-uintptr_t Test670F(x64test_t *test, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Test6766(x64test_t *test, rex_t rex, int rep, uintptr_t addr);
-uintptr_t Test67660F(x64test_t *test, rex_t rex, uintptr_t addr);
-uintptr_t TestD8(x64test_t *test, rex_t rex, uintptr_t addr, uintptr_t offs);
-uintptr_t TestD9(x64test_t *test, rex_t rex, uintptr_t addr, uintptr_t offs);
+uintptr_t TestD8(x64test_t *test, rex_t rex, uintptr_t addr);
+uintptr_t TestD9(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t TestDA(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t TestDB(x64test_t *test, rex_t rex, uintptr_t addr);
 uintptr_t TestDC(x64test_t *test, rex_t rex, uintptr_t addr);