about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-01-27 17:45:00 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-01-27 17:45:00 +0100
commit047815c764d8bf96dcdda581f2a79ff052b2824d (patch)
treef42ab2b304abed81cd0afa67adebd57ed8bb7f6e /src
parent3b8e0d69a3becc60d551acf4f0561ba1c2d015da (diff)
downloadbox64-047815c764d8bf96dcdda581f2a79ff052b2824d.tar.gz
box64-047815c764d8bf96dcdda581f2a79ff052b2824d.zip
[ARM64_DYNAREC][32BITS] Added 37 opcode
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_00.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c
index 3c825e2f..ffb652ba 100644
--- a/src/dynarec/arm64/dynarec_arm64_00.c
+++ b/src/dynarec/arm64/dynarec_arm64_00.c
@@ -512,7 +512,19 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
         case 0x36:
             INST_NAME("SS:");
             break;
-
+        case 0x37:
+            if(rex.is32bits) {
+                INST_NAME("AAA");
+                MESSAGE(LOG_DUMP, "Need Optimization AAA\n");
+                READFLAGS(X_AF);
+                SETFLAGS(X_AF|X_CF|X_PF|X_SF|X_ZF, SF_SET);
+                UXTHx(x1, xRAX);
+                CALL_(aaa16, x1, 0);
+                BFIz(xRAX, x1, 0, 16);
+            } else {
+                DEFAULT;
+            }
+            break;
         case 0x38:
             INST_NAME("CMP Eb, Gb");
             SETFLAGS(X_ALL, SF_SET_PENDING);