about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <numbksco@gmail.com>2024-04-12 00:55:35 +0800
committerGitHub <noreply@github.com>2024-04-11 18:55:35 +0200
commit05c7596acb15fefe1b5010ddd07cc154aa8a0b78 (patch)
treef498c788480b1dfc00f19699ae25caf548d6f46c /src
parentb38d51ce37c0884c2e0df0552c338ec68da7af01 (diff)
downloadbox64-05c7596acb15fefe1b5010ddd07cc154aa8a0b78.tar.gz
box64-05c7596acb15fefe1b5010ddd07cc154aa8a0b78.zip
[LA64_DYNAREC] Small fix on emit_or32c LBT path (#1436)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_emit_logic.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dynarec/la64/dynarec_la64_emit_logic.c b/src/dynarec/la64/dynarec_la64_emit_logic.c
index b8f3e8be..d3affee6 100644
--- a/src/dynarec/la64/dynarec_la64_emit_logic.c
+++ b/src/dynarec/la64/dynarec_la64_emit_logic.c
@@ -412,7 +412,10 @@ void emit_or32c(dynarec_la64_t* dyn, int ninst, rex_t rex, int s1, int64_t c, in
         SDxw(s1, xEmu, offsetof(x64emu_t, res));
     }
 
-    if (la64_lbt) return;
+    if (la64_lbt) {
+        if (!rex.w) ZEROUP(s1);
+        return;
+    }
 
     CLEAR_FLAGS(s3);
     // test sign bit before zeroup.