about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-08-13 03:09:19 +0800
committerGitHub <noreply@github.com>2024-08-12 21:09:19 +0200
commit8974caf1623718ec8a061ca50859a425ec8c0fc0 (patch)
tree4e527976ee296118942284946432275f235d0cd0
parentf364c039646e5bb35c9508384f451e31360e65e3 (diff)
downloadbox64-8974caf1623718ec8a061ca50859a425ec8c0fc0.tar.gz
box64-8974caf1623718ec8a061ca50859a425ec8c0fc0.zip
[RV64_DYNAREC] Fixed 0F BA /5 BTS opcode (#1733)
-rw-r--r--src/dynarec/rv64/dynarec_rv64_0f.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_0f.c b/src/dynarec/rv64/dynarec_rv64_0f.c
index 37637326..e3af9d94 100644
--- a/src/dynarec/rv64/dynarec_rv64_0f.c
+++ b/src/dynarec/rv64/dynarec_rv64_0f.c
@@ -2038,10 +2038,9 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                     if (wback) {
                         SDxw(ed, wback, fixedaddress);
                         SMWRITE();
-                    } else if(!rex.w) {
-                        ZEROUP(ed);
                     }
                     MARK;
+                    if (!rex.w && !wback) ZEROUP(ed);
                     break;
                 case 6:
                     INST_NAME("BTR Ed, Ib");