about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-05-27 14:56:27 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-05-27 14:56:27 +0200
commit22b9c16351f6193f1b8d842438d8bbe61b2b8730 (patch)
treea0b7e1e8f023ff8ff6f87376b509084386789b14 /src
parent0131958136419fb3035510aa4af5938ad38711a3 (diff)
downloadbox64-22b9c16351f6193f1b8d842438d8bbe61b2b8730.tar.gz
box64-22b9c16351f6193f1b8d842438d8bbe61b2b8730.zip
[ARM64_DYNAREC] Added faked 0F C7 /4 opcode to get bigger dynablock
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_0f.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c
index e4b75556..616085a8 100644
--- a/src/dynarec/arm64/dynarec_arm64_0f.c
+++ b/src/dynarec/arm64/dynarec_arm64_0f.c
@@ -2337,7 +2337,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             // rep has no impact here

             nextop = F8;

             switch((nextop>>3)&7) {

-                case 1:

+            case 1:

                 INST_NAME("CMPXCHG8B Gq, Eq");

                 SETFLAGS(X_ZF, SF_SUBSET);

                 SMREAD();

@@ -2363,6 +2363,11 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                 }

                 SMWRITE();

                 break;

+            case 4:

+                INST_NAME("Unsupported XSAVEC Ed");

+                FAKEED;

+                UDF(0);

+                break;

             default:

                 DEFAULT;

             }