about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynarec')
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_67.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_67.c b/src/dynarec/arm64/dynarec_arm64_67.c
index 34138e82..0b513909 100755
--- a/src/dynarec/arm64/dynarec_arm64_67.c
+++ b/src/dynarec/arm64/dynarec_arm64_67.c
@@ -223,7 +223,23 @@ uintptr_t dynarec64_67(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     break;

             }

             break;

-            

+

+        case 0xC7:

+            INST_NAME("MOV Ed, Id");

+            nextop=F8;

+            if(MODREG) {   // reg <= i32

+                i64 = F32S;

+                ed = xRAX+(nextop&7)+(rex.b<<3);

+                MOV64xw(ed, i64);

+            } else {                    // mem <= i32

+                addr = geted32(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, 0xfff<<(2+rex.w), (1<<(2+rex.w))-1, rex, 0, 4);

+                i64 = F32S;

+                MOV64xw(x3, i64);

+                STRxw_U12(x3, ed, fixedaddress);

+            }

+            break;

+

+

         #define GO(NO, YES)                                             \

             BARRIER(BARRIER_MAYBE);                                     \

             JUMP(addr+i8, 1);                                           \