about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-12-09 13:16:13 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-12-09 13:16:13 +0100
commit96f5108a37ac9f0e4e9d4fa9c4763386c43dfe2b (patch)
tree4abf9b5439cba44fca5c22ef9d5d1e490e40de19 /src/dynarec
parent3eeb10c0a60ea0106d6201dda80fd771f3d4e17a (diff)
downloadbox64-96f5108a37ac9f0e4e9d4fa9c4763386c43dfe2b.tar.gz
box64-96f5108a37ac9f0e4e9d4fa9c4763386c43dfe2b.zip
[INTERPRETER] Added 64bits 67 A1 opcode ([ARM64_DYNAREC] Too)
Diffstat (limited to 'src/dynarec')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_67.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_67.c b/src/dynarec/arm64/dynarec_arm64_67.c
index a4cc6f6e..6855bf58 100644
--- a/src/dynarec/arm64/dynarec_arm64_67.c
+++ b/src/dynarec/arm64/dynarec_arm64_67.c
@@ -38,6 +38,7 @@ uintptr_t dynarec64_67(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
     int32_t i32;

     int64_t j64, i64;

     int16_t i16;

+    uint64_t u64;

     int cacheupd = 0;

     int lock;

     int v0, v1, s0;

@@ -1196,6 +1197,15 @@ uintptr_t dynarec64_67(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             }

             break;

 

+        case 0xA1:

+            INST_NAME("MOV EAX,Od");

+            u64 = F32;

+            MOV64z(x1, u64);

+            lock=isLockAddress(u64);

+            SMREADLOCK(lock);

+            LDRxw_U12(xRAX, x1, 0);

+            break;

+

         case 0xA9:

             INST_NAME("TEST EAX, Id");

             SETFLAGS(X_ALL, SF_SET_PENDING);