diff options
| author | Yang Liu <numbksco@gmail.com> | 2024-04-12 00:55:35 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-11 18:55:35 +0200 |
| commit | 05c7596acb15fefe1b5010ddd07cc154aa8a0b78 (patch) | |
| tree | f498c788480b1dfc00f19699ae25caf548d6f46c /src | |
| parent | b38d51ce37c0884c2e0df0552c338ec68da7af01 (diff) | |
| download | box64-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.c | 5 |
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. |