about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorliuli <liuli@uniontech.com>2024-06-26 13:23:13 +0800
committerGitHub <noreply@github.com>2024-06-26 07:23:13 +0200
commita7a211fc85ef86f9a0573467ced3bcedb625d299 (patch)
tree4a06d8c25d36d2ce3940823048685398cdff61cd /src
parent554060191889d1521aa86f76babf4eb7c1d7fb19 (diff)
downloadbox64-a7a211fc85ef86f9a0573467ced3bcedb625d299.tar.gz
box64-a7a211fc85ef86f9a0573467ced3bcedb625d299.zip
small fix for ROR and ROL (#1618)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_66.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_66.c b/src/dynarec/arm64/dynarec_arm64_66.c
index 3dc765df..12efb37b 100644
--- a/src/dynarec/arm64/dynarec_arm64_66.c
+++ b/src/dynarec/arm64/dynarec_arm64_66.c
@@ -979,7 +979,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     if (u8) {

                         SETFLAGS(X_CF | X_OF, SF_SUBSET_PENDING);

                         GETEW(x1, 1);

-                        u8 = F8;

+                        u8 = (F8)&0x1f;

                         emit_rol16c(dyn, ninst, x1, u8, x4, x5);

                         EWBACK;

                     } else {

@@ -992,7 +992,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     if (geted_ib(dyn, addr, ninst, nextop) & 15) {

                         SETFLAGS(X_CF | X_OF, SF_SUBSET_PENDING);

                         GETEW(x1, 1);

-                        u8 = F8;

+                        u8 = (F8)&0x1f;

                         emit_ror16c(dyn, ninst, x1, u8, x4, x5);

                         EWBACK;

                     } else {