about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-07-09 10:57:47 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-07-09 10:57:47 +0200
commit1ac4cdeae9b6dafdb533087ea6ad8fd63228a72e (patch)
tree32113b20be8b448abcaa30663828aeb162bf93a5 /src
parent4bb1bc9ea8011cbb39655eca0d09b2f56a2344af (diff)
downloadbox64-1ac4cdeae9b6dafdb533087ea6ad8fd63228a72e.tar.gz
box64-1ac4cdeae9b6dafdb533087ea6ad8fd63228a72e.zip
[ARM64_DYNAREC] Better handling of shift 0 for rcl/rct 16bits
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_66.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_66.c b/src/dynarec/arm64/dynarec_arm64_66.c
index 4c38482c..edbda902 100644
--- a/src/dynarec/arm64/dynarec_arm64_66.c
+++ b/src/dynarec/arm64/dynarec_arm64_66.c
@@ -1299,6 +1299,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     }

                     SETFLAGS(X_OF|X_CF, SF_SET_DF);

                     ANDw_mask(x2, xRCX, 0, 0b00100);

+                    CBZw_NEXT(x2);

                     GETEW(x1, 0);

                     CALL_(const_rcl16, x1, x3);

                     EWBACK;

@@ -1313,6 +1314,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     }

                     SETFLAGS(X_OF|X_CF, SF_SET_DF);

                     ANDw_mask(x2, xRCX, 0, 0b00100);

+                    CBZw_NEXT(x2);

                     GETEW(x1, 0);

                     CALL_(const_rcr16, x1, x3);

                     EWBACK;