about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <numbksco@gmail.com>2024-09-27 01:46:26 +0800
committerGitHub <noreply@github.com>2024-09-26 19:46:26 +0200
commit1a8df98cf2e7f91af6eea23b44dad17a6ad8b620 (patch)
treedcda5823acc7a9f99e09e96768c33a825e7423de /src
parent0fb0ac7994e53700d781f406612bd0f96df97933 (diff)
downloadbox64-1a8df98cf2e7f91af6eea23b44dad17a6ad8b620.tar.gz
box64-1a8df98cf2e7f91af6eea23b44dad17a6ad8b620.zip
[ARM64_DYNAREC] Small optim on 0F C7 /1 inst name (#1878)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_f0.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_f0.c b/src/dynarec/arm64/dynarec_arm64_f0.c
index b28292da..c6ded5d0 100644
--- a/src/dynarec/arm64/dynarec_arm64_f0.c
+++ b/src/dynarec/arm64/dynarec_arm64_f0.c
@@ -688,7 +688,11 @@ uintptr_t dynarec64_F0(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     nextop = F8;
                     switch((nextop>>3)&7) {
                         case 1:
-                        INST_NAME("LOCK CMPXCHG8B Gq, Eq");
+                        if (rex.w) {
+                            INST_NAME("LOCK CMPXCHG16B Gq, Eq");
+                        } else {
+                            INST_NAME("LOCK CMPXCHG8B Gq, Eq");
+                        }
                         SETFLAGS(X_ZF, SF_SUBSET);
                         addr = geted(dyn, addr, ninst, nextop, &wback, x1, &fixedaddress, NULL, 0, 0, rex, LOCK_LOCK, 0, 0);
                         if(!ALIGNED_ATOMICxw) {